Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : PartitionCoEdge.hpp
3 : : //
4 : : // Purpose :
5 : : //
6 : : // Special Notes :
7 : : //
8 : : // Creator : Jason Kraftcheck
9 : : //
10 : : // Creation Date : 04/10/02
11 : : //-------------------------------------------------------------------------
12 : :
13 : : #ifndef PARTITION_CO_EDGE_HPP
14 : : #define PARTITION_CO_EDGE_HPP
15 : :
16 : : #include "CoEdgeSM.hpp"
17 : : #include "PartitionEntity.hpp"
18 : :
19 : : class PartitionLoop;
20 : : class PartitionCurve;
21 : : class PartitionSurface;
22 : : class PartitionPoint;
23 : :
24 : : class PartitionCoEdge : public CoEdgeSM, public PartitionEntity
25 : : {
26 : :
27 : : friend class PartitionLoop;
28 : : friend class PartitionCurve;
29 : :
30 : : public:
31 : :
32 : : PartitionCoEdge(PartitionSurface* surf, CubitSense sense);
33 : : PartitionCoEdge(PartitionCoEdge* split_from);
34 : : PartitionCoEdge(CoEdgeSM* coedge);
35 : :
36 : : ~PartitionCoEdge();
37 : :
38 : 0 : PartitionCurve* get_curve() const
39 : 0 : { return myCurve; }
40 : 0 : PartitionLoop* get_loop() const
41 : 0 : { return myLoop; }
42 : :
43 : 0 : PartitionCoEdge* next() const
44 : 0 : { return loopNext; }
45 : :
46 : : TopologyBridge* find_parent_loop() const;
47 : : CoEdgeSM* real_coedge() const;
48 : :
49 : 0 : CubitSense sense()
50 : 0 : { return mySense; }
51 : :
52 : : PartitionPoint* start_point() const;
53 : : PartitionPoint* end_point() const;
54 : :
55 : : void reverse_sense();
56 : :
57 : : virtual CubitBox bounding_box() const;
58 : 0 : virtual CubitStatus save( CubitSimpleAttrib& )
59 : 0 : { assert(0); return CUBIT_FAILURE; }
60 : 0 : virtual void transform( const CubitTransformMatrix& ) {;}
61 : :
62 : : void append_simple_attribute_virt( const CubitSimpleAttrib& );
63 : : void remove_simple_attribute_virt( const CubitSimpleAttrib& );
64 : : void remove_all_simple_attribute_virt();
65 : : CubitStatus get_simple_attribute( DLIList<CubitSimpleAttrib>& );
66 : : CubitStatus get_simple_attribute( const CubitString& name,
67 : : DLIList<CubitSimpleAttrib>& );
68 : :
69 : :
70 : : void get_parents_virt( DLIList<TopologyBridge*>& );
71 : : void get_children_virt( DLIList<TopologyBridge*>& );
72 : 0 : int layer() const { return sub_entity_set().get_owner_layer(); }
73 : : GeometryQueryEngine* get_geometry_query_engine() const;
74 : :
75 : : void notify_split( FacetEntity*, FacetEntity* );
76 : :
77 : : private:
78 : :
79 : : PartitionCoEdge( const PartitionCoEdge& );
80 : :
81 : : CubitSense mySense;
82 : :
83 : : PartitionLoop* myLoop;
84 : : PartitionCoEdge* loopPrev;
85 : : PartitionCoEdge* loopNext;
86 : :
87 : : PartitionCurve* myCurve;
88 : : PartitionCoEdge* curveNext;
89 : :
90 : : };
91 : :
92 : :
93 : : #endif
|