00001 00012 #ifndef __CAD_OBJECT_H__ 00013 #define __CAD_OBJECT_H__ 00014 00015 class Point; 00016 00023 class CadObject { 00024 public: 00028 enum DataType {TRIANGLE, 00029 QUADRILATERAL, 00030 B_SPLINE, 00031 POINT 00032 }; 00033 00038 virtual const DataType getDataType()= 0; 00039 00044 virtual int getDimension()= 0; 00045 00052 virtual Point getMaxPoint()= 0; 00053 00060 virtual Point getMinPoint()= 0; 00061 00066 virtual bool isPlane(); 00067 00075 Point max(Point p); 00076 00084 Point min(Point p); 00085 00090 virtual void print()= 0; 00091 00092 }; 00093 00094 #endif // ! __CAD_OBJECT_H__