cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : CoFace.hpp 00003 // 00004 // Purpose : 00005 // 00006 // Special Notes : 00007 // 00008 // Creator : Xuechen Liu 00009 // 00010 // Creation Date : 08/02/96 00011 // 00012 // Owner : Malcolm J. Panthaki 00013 //------------------------------------------------------------------------- 00014 00015 #ifndef COFACE_H 00016 #define COFACE_H 00017 00018 // ********** BEGIN STANDARD INCLUDES ********** 00019 // ********** END STANDARD INCLUDES ********** 00020 00021 // ********** BEGIN CUBIT INCLUDES ********** 00022 #include "CubitDefines.h" 00023 #include "SenseEntity.hpp" 00024 // ********** END CUBIT INCLUDES ********** 00025 00026 // ********** BEGIN FORWARD DECLARATIONS ********** 00027 class RefFace; 00028 class RefVolume; 00029 class Shell; 00030 00031 // ********** END FORWARD DECLARATIONS ********** 00032 00033 class CUBIT_GEOM_EXPORT CoFace : public SenseEntity 00034 { 00035 public : 00036 00037 CoFace() ; 00038 //- The default constructor 00039 00040 virtual ~CoFace() ; 00041 //- The destructor 00042 00043 CoFace(RefFace* facePtr, CubitSense sense) ; 00044 //I facePtr 00045 //I- The pointer to a face. 00046 //I sense 00047 //I- The sense of this CoFace. 00048 //- The constructor with a pointer to a face and the sense of this 00049 //- CoFace wrt its parent Face. 00050 00051 DagType dag_type() const { return DagType::co_face_type(); } 00052 00053 RefFace* get_ref_face_ptr() ; 00054 //R RefFace* 00055 //R- A pointer to the RefFace which the current sense 00056 //R- entity is associated with. 00057 //- This function returns a pointer to the RefFace which 00058 //- the current CoFace is associated with. 00059 00060 RefVolume* get_ref_volume(); 00061 //R RefVolume* 00062 //R- A pointer to the RefVolume that is associated with this CoFace. 00063 //- There is only one refVolume with this CoFace. So if more than one 00064 //- are found this function will assert, if there are none found, 00065 //- NULL is returned. 00066 00067 Shell* get_shell_ptr() ; 00068 //R Shell* 00069 //R- A pointer to the parent Shell of this CoFace, or NULL 00070 //R- if there is no parent. 00071 00072 virtual void switch_child_notify(TopologyEntity const* newChild, 00073 TopologyEntity const* oldChild); 00074 //R void 00075 //I newChild 00076 //I- A pointer to the new child 00077 //I oldChild 00078 //I- A pointer to the old child 00079 //- This function is called after a child of a TopologyEntity is 00080 //- switched. The sense of a CoFace may change if one of its 00081 //- RefFaces changes. This function takes care of that. If the sense 00082 //- of the RefFaces that were switched is same, nothing is done. If 00083 //- the RefFaces are of opposite sense, the sense of this object is 00084 //- switched, i.e. if it was FORWARD, it is made REVERSED, and vice 00085 //- versa. 00086 00087 00088 protected: 00089 00090 private: 00091 CoFace( const CoFace& ); 00092 void operator=( const CoFace&); 00093 } ; 00094 00095 00096 // ********** BEGIN INLINE FUNCTIONS ********** 00097 // ********** END INLINE FUNCTIONS ********** 00098 00099 // ********** BEGIN FRIEND FUNCTIONS ********** 00100 // ********** END FRIEND FUNCTIONS ********** 00101 00102 // ********** BEGIN EXTERN FUNCTIONS ********** 00103 // ********** END EXTERN FUNCTIONS ********** 00104 00105 #endif 00106