cgma
CoFace.hpp
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines