cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : Chain.hpp 00003 // 00004 // Purpose : Represents a chain of vertices of an edge of a model. 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 CHAIN_HPP 00016 #define CHAIN_HPP 00017 00018 // ********** BEGIN STANDARD INCLUDES ********** 00019 // ********** END STANDARD INCLUDES ********** 00020 00021 // ********** BEGIN CUBIT INCLUDES ********** 00022 #include "CubitDefines.h" 00023 #include "CubitUtil.hpp" 00024 00025 #include "GroupingEntity.hpp" 00026 // ********** END CUBIT INCLUDES ********** 00027 00028 // ********** BEGIN FORWARD DECLARATIONS ********** 00029 class RefVertex; 00030 // ********** END FORWARD DECLARATIONS ********** 00031 00032 class CUBIT_GEOM_EXPORT Chain : public GroupingEntity 00033 { 00034 public : 00035 00036 Chain() ; 00037 //- The default constructor 00038 00039 virtual ~Chain() ; 00040 //- The destructor 00041 00042 DagType dag_type() const { return DagType::chain_type(); } 00043 00044 RefVertex* start_vertex(); 00045 RefVertex* end_vertex(); 00046 //R RefVertex* 00047 //R- Returned RefVertex pointer 00048 //- These functions return the RefVertex associated with 00049 //- the first/last CoVertex'es of this Chain. 00050 00051 CoVertex* start_co_vertex(); 00052 CoVertex* end_co_vertex(); 00053 00054 protected: 00055 00056 private: 00057 Chain( const Chain& ); 00058 void operator=( const Chain&); 00059 }; 00060 00061 // ********** BEGIN INLINE FUNCTIONS ********** 00062 // ********** END INLINE FUNCTIONS ********** 00063 00064 // ********** BEGIN FRIEND FUNCTIONS ********** 00065 // ********** END FRIEND FUNCTIONS ********** 00066 00067 // ********** BEGIN EXTERN FUNCTIONS ********** 00068 // ********** END EXTERN FUNCTIONS ********** 00069 00070 #endif 00071