cgma
|
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