Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : CoEdge.hpp
3 : : //
4 : : // Purpose :
5 : : //
6 : : // Special Notes :
7 : : //
8 : : // Creator : Xuechen Liu
9 : : //
10 : : // Creation Date : 08/02/96
11 : : //
12 : : // Owner : Malcolm J. Panthaki
13 : : //-------------------------------------------------------------------------
14 : :
15 : : #ifndef COEDGE_HPP
16 : : #define COEDGE_HPP
17 : :
18 : : // ********** BEGIN STANDARD INCLUDES **********
19 : : // ********** END STANDARD INCLUDES **********
20 : :
21 : : // ********** BEGIN CUBIT INCLUDES **********
22 : : #include "CubitDefines.h"
23 : : #include "SenseEntity.hpp"
24 : : #include "ToolDataUser.hpp"
25 : : // ********** END CUBIT INCLUDES **********
26 : :
27 : : // ********** BEGIN FORWARD DECLARATIONS **********
28 : : class RefEdge;
29 : : class RefFace;
30 : : class Loop;
31 : : class CoEdgeSM;
32 : : // ********** END FORWARD DECLARATIONS **********
33 : :
34 : : class CUBIT_GEOM_EXPORT CoEdge : public SenseEntity,
35 : : public ToolDataUser
36 : : {
37 : : public :
38 : :
39 : : CoEdge() ;
40 : : //- The default constructor
41 : :
42 : : virtual ~CoEdge() ;
43 : : //- The destructor
44 : :
45 : : CoEdge(RefEdge* edgePtr, CubitSense sense) ;
46 : : //I edgePtr
47 : : //I- The pointer to a edge.
48 : : //I sense
49 : : //I- The sense of this CoEdge.
50 : : //- The constructor with a pointer to a edge and the sense of this
51 : : //- CoEdge.
52 : :
53 : : CoEdge(CoEdgeSM* OSMEPtr);
54 : :
55 : 298614 : DagType dag_type() const { return DagType::co_edge_type(); }
56 : :
57 : : RefEdge* get_ref_edge_ptr() ;
58 : : //R RefEdge*
59 : : //R- A pointer to the RefEdge which the current sense
60 : : //R- entity is associated with.
61 : : //- This function returns a pointer to the RefEdge which
62 : : //- the current CoEdge is associated with.
63 : :
64 : : RefFace* get_ref_face();
65 : : //R RefFace*
66 : : //R- A pointer to the RefFace on which this co-edge is a part of.
67 : :
68 : : Loop* get_loop_ptr();
69 : : //R Loop*
70 : : //R- A pointer to the parent Loop of this CoEdge.
71 : :
72 : : virtual void switch_child_notify(TopologyEntity const* newChild,
73 : : TopologyEntity const* oldChild) ;
74 : : //R void
75 : : //I newChild
76 : : //I- A pointer to the new child
77 : : //I oldChild
78 : : //I- A pointer to the old child
79 : : //- This function is called after a child of a TopologyEntity is
80 : : //- switched. The sense of a CoEdge may change if one of its
81 : : //- RefEdges changes. This function takes care of that. If the sense
82 : : //- of the RefEdges that were switched is same, nothing is done. If
83 : : //- the RefEdges are of opposite sense, the sense of this object is
84 : : //- switched, i.e. if it was FORWARD, it is made REVERSED, and vice
85 : : //- versa.
86 : :
87 : : CoEdgeSM* get_co_edge_sm_ptr() const;
88 : :
89 : : CubitStatus set_co_edge_sm_ptr(CoEdgeSM*);
90 : :
91 : : CubitBoolean about_spatially_equal( CoEdge* other_coedge,
92 : : CubitSense relative_sense,
93 : : double tolerance_factor = 1.0,
94 : : CubitBoolean notify_refEntity =
95 : : CUBIT_FALSE );
96 : :
97 : : RefVertex* start_vertex();
98 : :
99 : : RefVertex* end_vertex();
100 : :
101 : : protected:
102 : :
103 : : private:
104 : : CoEdge( const CoEdge& );
105 : : void operator=( const CoEdge&);
106 : : } ;
107 : :
108 : :
109 : : // ********** BEGIN INLINE FUNCTIONS **********
110 : : // ********** END INLINE FUNCTIONS **********
111 : :
112 : : // ********** BEGIN FRIEND FUNCTIONS **********
113 : : // ********** END FRIEND FUNCTIONS **********
114 : :
115 : : // ********** BEGIN EXTERN FUNCTIONS **********
116 : : // ********** END EXTERN FUNCTIONS **********
117 : :
118 : : #endif
119 : :
|