hoops_tools.h

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

Generated on Tue Jan 6 22:41:37 2009 for Autodesk DWF 3D Toolkit by  doxygen 1.4.5