cgma
CubitCoordinateSystem.hpp
Go to the documentation of this file.
00001 
00002 #ifndef CUBIT_COORDINATE_SYSTEM_HPP
00003 #define CUBIT_COORDINATE_SYSTEM_HPP
00004 
00005 
00006 #include "CubitTransformMatrix.hpp"
00007 #include "DLIList.hpp"
00008 #include "CGMUtilConfigure.h"
00009 #include "CubitEntity.hpp"
00010 #include "CubitObservable.hpp"
00011 
00012 class CUBIT_UTIL_EXPORT CubitCoordinateSystem : public CubitEntity,
00013                                                 public CubitObservable
00014 {
00015   public:
00016     
00018     enum Type { Rectangular, Cylindrical, Spherical };
00019 
00021     CubitCoordinateSystem(int id);
00022     
00025     ~CubitCoordinateSystem();
00026 
00028     //int id() const { return mId; } use CubitEntity's ID
00029     virtual CubitBox bounding_box();
00030     
00031     virtual const std::type_info&  entity_type_info() const;
00032     virtual const char* class_name() const;
00033     //- return class name string.
00034 
00035     virtual CubitString entity_name() const;
00036     //- return entity name
00037 
00039     Type get_type() const;
00040     void set_type(Type);
00041     
00043     const CubitTransformMatrix& get_transform() const;
00044 
00046     void set_transform(const CubitTransformMatrix& mat);
00047 
00050     CubitTransformMatrix get_concatenated_transform() const;
00051   
00052     
00053   protected:
00054     // the id of this system
00055     //int mId; now use CubitEntity's ID
00056     // the type of this system
00057     Type mType;
00058     // the transform that represents this coordinate system's transformation
00059     CubitTransformMatrix mMatrix;
00060     // this coordinate system may reference other coordinate systems
00061     CubitCoordinateSystem* mReference;
00062     // this coordiante system may be referenced by multiple other systems
00063     DLIList<CubitCoordinateSystem*> mUses;
00064 
00065 };
00066 
00067 #endif //CUBIT_COORDINATE_SYSTEM_HPP
00068 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines