Branch data Line data Source code
1 : : //- Class: TDOctreeRefEdge
2 : : //- Description: Tool data for storing additional information related to faceting edges
3 : : //- Owner: W. R. Quadors
4 : : //- Checked by:
5 : : //- Version:
6 : :
7 : : #ifndef TD_SKELETON_MREF_EDGE
8 : :
9 : : #define TD_SKELETON_MREF_EDGE
10 : :
11 : : #include "CubitDefines.h"
12 : : #include "ToolData.hpp"
13 : : #include "MemoryManager.hpp"
14 : : #include "CastTo.hpp"
15 : : #include "GMem.hpp"
16 : :
17 : : struct GPoint;
18 : : class RefEdge;
19 : : class CubitVector;
20 : :
21 : : class TDOctreeRefEdge : public ToolData
22 : : {
23 : : private:
24 : : //static MemoryManager memoryManager;
25 : : //- memory management object
26 : :
27 : : GMem *resultPointData;
28 : : RefEdge *refEdge;
29 : : CubitBoolean visit;
30 : :
31 : : public:
32 : :
33 : : TDOctreeRefEdge();
34 : : //- constructor
35 : :
36 : : ~TDOctreeRefEdge();
37 : : //- destructor
38 : :
39 : : inline CubitBoolean get_visit( void ){ return visit; }
40 : 0 : inline void set_visit( CubitBoolean type ){ visit = type; }
41 : :
42 : : // deletes all Gpoints in the list
43 : : void clean_gpoint_list( void );
44 : :
45 : 0 : void set_mref_edge( RefEdge *ptr_mref_edge ){ refEdge = ptr_mref_edge; }
46 : :
47 [ # # ][ # # ]: 0 : static int is_td_skl_mref_edge(const ToolData* td){return (CAST_TO(const_cast<ToolData*>(td), TDOctreeRefEdge) != NULL);}
48 : :
49 : : GPoint *get_head_gpoint(){ return resultPointData->point_list(); }
50 : :
51 : : int get_gpoint_list_length( void ){ return resultPointData->pointListCount; }
52 : :
53 : : //SetDynamicMemoryAllocation(memoryManager)
54 : : //- class specific new and delete operators
55 : :
56 : : // static void set_memory_allocation_increment(int increment = 0){memoryManager.set_memory_allocation_increment(increment);}
57 : : //- set block memory size increment
58 : :
59 : : // static void destroy_memory(){memoryManager.destroy_memory();}
60 : : //- destroy all memory allocted to this object
61 : :
62 : : static CubitStatus add_td( RefEdge *mref_edge );
63 : : static TDOctreeRefEdge* get_td( RefEdge *mref_edge );
64 : :
65 : : static void decimate_curve_points_for_source_entity(GMem &point_data, double angle_tolerance, GMem& result_point_data);
66 : : static CubitBoolean find_curve_curvature_using_three_points(CubitVector point_a, CubitVector point_b, CubitVector point_c, CubitVector &curvature );
67 : :
68 : : CubitBoolean generate_gpoint_list( double decimation_ang );
69 : : };
70 : :
71 : :
72 : : #endif // TD_SKELETON_MREF_EDGE
73 : :
74 : :
75 : : //EOF
76 : :
|