cgma
CACompositeVG.hpp
Go to the documentation of this file.
00001 //- Class:          CACompositeVG
00002 //- Owner:          Tim Tautges
00003 //- Description:    Cubit attribute for composite virtual geometry
00004 //- Checked by:
00005 //- Version:
00006 
00007 #ifndef CA_COMPOSITE_VG_HPP
00008 #define CA_COMPOSITE_VG_HPP
00009 
00010 #include "CubitAttrib.hpp"
00011 #include "DLIList.hpp"
00012 #include "CADefines.hpp"
00013 
00014 class Point;
00015 class RefEntity;
00016 class CubitSimpleAttrib;
00017 class RefEntity;
00018 class CubitVector;
00019 
00020 class CACompositeVG: public CubitAttrib
00021 {
00022 
00023 private:
00024 
00025   int compositeId;
00026     //- the unique id of this composite entity
00027 
00028   DLIList<int> subEntityIds;
00029     //- the ids of the sub entities making up this composite
00030 
00031 public:
00032   CACompositeVG(RefEntity*, const CubitSimpleAttrib&);
00033     //- construct a CACVG from a simple attribute
00034 
00035   virtual ~CACompositeVG() {};
00036 
00037   CubitStatus actuate();
00038   
00039   CubitStatus update();
00040 
00041   CubitStatus reset();
00042 
00043   CubitSimpleAttrib cubit_simple_attrib();
00044   
00045   CubitSimpleAttrib cubit_simple_attrib(CubitString);
00046   
00047   int int_attrib_type() {return CA_COMPOSITE_VG;}
00048     //- returns the enumerated attribute type
00049 
00050   int composite_id() {return compositeId;};
00051   void composite_id(int id) {compositeId = id;};
00052     //- get/set the composite id
00053   
00054   void check_child_cacvgs(RefEntity *new_entity);
00055     //- for the new entity passed in, check for and actuate CACVG's on
00056     //- any child entities
00057 };
00058 
00059 CubitAttrib* CACompositeVG_creator(RefEntity* entity, const CubitSimpleAttrib &p_csa);
00060 
00061 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines