Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

BCompress.h

00001 //
00002 // Copyright (c) 2000 by Tech Soft America, LLC.
00003 // The information contained herein is confidential and proprietary to
00004 // Tech Soft America, LLC., and considered a trade secret as defined under
00005 // civil and criminal statutes.  Tech Soft America shall pursue its civil
00006 // and criminal remedies in the event of unauthorized use or misappropriation
00007 // of its trade secrets.  Use of this information by anyone other than
00008 // authorized employees of Tech Soft America, LLC. is granted only under a
00009 // written non-disclosure agreement, expressly prescribing the scope and
00010 // manner of such use.
00011 //
00012 // $Header: /NewRoot/DWF Toolkit/v6/develop/global/src/dwf/w3dtk/BCompress.h 1     9/12/04 8:46p Evansg $
00013 //
00014 // This file declares all of the external symbols (functions and lookup tables)
00015 // used in the various compression algorithms in HOOPS/stream
00016 //
00017 
00018 #include "dwf/w3dtk/BStream.h"
00019 #include "dwf/w3dtk/BPolyhedron.h"
00020 #include "dwf/w3dtk/BEdgeBreaker.h"
00021 
00022 
00023 #define CS_INVALID                      0
00024 #define CS_TRIVIAL                      1
00025 #define CS_TRIVIAL_IMPLICIT             2
00026 #define CS_REPULSE                      3
00027 #define CS_NONE                         4
00028 #define CS_EDGEBREAKER                  5
00029 #define CS_LINE_EXTEND                  6
00030 #define CS_TRIVIAL_POLAR        7
00031 
00032 extern TK_Status quantize_and_pack_floats (
00033         BStreamFileToolkit & tk,
00034         int count_in,
00035     int size_in,
00036         float const *floats_in,
00037         float const *bounding_in,
00038         unsigned int *exists_in,
00039         unsigned int mask_in,
00040     unsigned int bits_per_sample_in,
00041         float *bounding_out,
00042         int *workspace_len_in_out,
00043         int *workspace_used_out,
00044         unsigned char **workspace_in_out );
00045 
00046 
00047 extern TK_Status quantize_and_pack_floats (
00048         BStreamFileToolkit & tk,
00049         int count_in,
00050     int size_in,
00051         float const *floats_in,
00052         float const *bounding_in,
00053     unsigned int bits_per_sample_in,
00054         float *bounding_out,
00055         int *workspace_len_in_out,
00056         int *workspace_used_out,
00057         unsigned char **workspace_in_out );
00058 
00059 extern TK_Status unquantize_and_unpack_floats (
00060         BStreamFileToolkit & tk,
00061         int count_in,
00062     int size_in,
00063     unsigned int bits_per_sample_in,
00064     float const *bounding_in,
00065         unsigned char *buf_in,
00066         float **floats_out );
00067 
00068 extern TK_Status trivial_compress_points (
00069     BStreamFileToolkit & tk,
00070     int point_count,
00071     float const *points,
00072     float const *bounding_in,
00073     unsigned int *exists,
00074     unsigned int mask,
00075     int *workspace_len_in_out,
00076         int *workspace_used_out,
00077         unsigned char **workspace_in_out,
00078     float * bounding_out);
00079 extern TK_Status trivial_decompress_points (
00080     BStreamFileToolkit & tk,
00081     int pointcount,
00082     void const *buf_in,
00083     float **points_out,
00084     float const * bounding );
00085 
00086 #define MAXU10 128
00087 #define MAXV10 64
00088 #define MAXU8 64
00089 #define MAXV8 32
00090 extern float normal_vectors10[1024][3];
00091 extern unsigned short closest_points10[MAXU10][MAXV10];
00092 extern float normal_vectors8[256][3];
00093 extern unsigned char closest_points8[MAXU8][MAXV8];
00094 
00095 
00096 extern const int bounding_faces[30];
00097 extern const int bounding_tristrips[19];
00098 extern const float color_cube[6];
00099 extern const float normal_cube[6];
00100 extern const float polar_bounds[4];
00101 
00102 
00103 
00104 

Generated on Tue May 17 12:05:59 2005 for Autodesk DWF 3D Toolkit by  doxygen 1.4.1