cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : Point.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 POINT_HPP 00016 #define POINT_HPP 00017 00018 // ********** BEGIN STANDARD INCLUDES ********** 00019 // ********** END STANDARD INCLUDES ********** 00020 00021 // ********** BEGIN CUBIT INCLUDES ********** 00022 #include "CubitDefines.h" 00023 #include "GeometryEntity.hpp" 00024 // ********** END CUBIT INCLUDES ********** 00025 00026 // ********** BEGIN FORWARD DECLARATIONS ********** 00027 // ********** END FORWARD DECLARATIONS ********** 00028 class CUBIT_GEOM_EXPORT TBPoint : public GeometryEntity 00029 { 00030 public : 00031 TBPoint() ; 00032 //- The default constructor 00033 00034 virtual ~TBPoint() ; 00035 //- The destructor 00036 00037 virtual CubitVector coordinates() const = 0; // pure virtual 00038 //R CubitVector 00039 //R- Contains the coordinate values {x y z} of this Point 00040 //- Returns the spatial coordinates of this Point. 00041 00042 virtual double measure() 00043 {return 1.0;} 00044 //R double 00045 //R- The numeric value of the measure (its units depend on the dimension 00046 //R- of the RefEntity being "measured") 00047 //- A generic geometric extent function. 00048 //- Returns volume for Lump, area for Surface, length for Curve and 00049 //- 1.0 for Point 00050 00051 virtual GeometryType geometry_type() 00052 {return UNDEFINED_POINT_TYPE;} 00053 //R GeometryType 00054 //R- the enumerated type of the geometric represnetation. 00055 00056 virtual CubitBox bounding_box() const; 00057 00058 protected: 00059 00060 private: 00061 } ; 00062 00063 // ********** BEGIN INLINE FUNCTIONS ********** 00064 // ********** END INLINE FUNCTIONS ********** 00065 00066 // ********** BEGIN FRIEND FUNCTIONS ********** 00067 // ********** END FRIEND FUNCTIONS ********** 00068 00069 // ********** BEGIN EXTERN FUNCTIONS ********** 00070 // ********** END EXTERN FUNCTIONS ********** 00071 00072 #endif 00073