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

hoops_tools.h

00001 #ifndef HOOPSUTILITY
00002 #define HOOPSUTILITY
00003 
00005 //
00006 #ifdef  DWFTK_STATIC
00007 #ifndef HOOPSUTILITY_STATIC_LIB
00008 #define HOOPSUTILITY_STATIC_LIB
00009 #endif
00010 #endif
00011 
00012 #ifdef  DWFTK_EXPORT_API
00013 #ifndef HOOPSUTILITY_EXPORTS
00014 #define HOOPSUTILITY_EXPORTS
00015 #endif
00016 #endif
00017 
00018 
00019 #ifdef _MSC_VER
00020     #ifndef HOOPSUTILITY_STATIC_LIB
00021         #ifdef HOOPSUTILITY_EXPORTS
00022             #define HOOPSUTILITY_API  __declspec (dllexport)
00023         #else
00024             #define HOOPSUTILITY_API  __declspec (dllimport)
00025         #endif
00026     #else
00027         #define HOOPSUTILITY_API
00028     #endif
00029 #else
00030     #define HOOPSUTILITY_API
00031 #endif
00032 
00033 
00034 typedef struct { float x, y, z; } HT_Point;
00035 typedef struct { float x, y, z; } HT_Vector;
00036 
00037 typedef int (* HT_Collapse_Check_Function) (HT_Point const * points,
00038                                             HT_Vector const * normals,
00039                                             int parameter_width, float const * parameters,
00040                                             int a, int b,
00041                                             double tolerance_squared,
00042                                             double normal_distance_squared,
00043                                             double parameter_distance_squared);
00044 
00045 #define LOD_Algorithm_Fast 0
00046 #define LOD_Algorithm_Nice 1
00047 
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051 #ifdef __HP_aCC
00052 extern "C" {
00053 #endif
00054 
00055 void HOOPSUTILITY_API HU_GenerateShellLOD (
00056         int                     pcount,
00057         HT_Point const *        points,
00058         int                     flistlen,
00059         int const *             flist,
00060         double                  ratio,
00061         int                     algorithm,
00062         int *                   pcount_out,
00063         HT_Point *              points_out,
00064         int *                   flistlen_out,
00065         int *                   flist_out);
00066 
00067 
00068 void HOOPSUTILITY_API HU_OptimizeShell (
00069         int                     in_point_count,
00070         HT_Point const *        in_points,
00071         HT_Vector const *       in_normals,         /* null if not interested */
00072         int                     in_parameter_width,
00073         float const *           in_parameters,      /* null if not interested */
00074         int                     in_face_list_length,
00075         int const *             in_face_list,
00076         HT_Collapse_Check_Function  collapsible,
00077         double                  tolerance,
00078         double                  normal_tolerance,
00079         double                  parameter_tolerance,
00080         int                     orphan_elimination,
00081         int *                   out_point_count,
00082         HT_Point *              out_points,
00083         int *                   out_face_list_length,
00084         int *                   out_face_list,
00085         int *                   vertex_mapping,     /* null if not interested */
00086         int *                   face_mapping);
00087 
00088 #ifdef __cplusplus
00089 }
00090 #endif
00091 #ifdef __HP_aCC
00092 }
00093 #endif
00094 
00095 
00096 #endif
00097 
00098 

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