cgma
|
00001 //- Class: CAVirtualVG 00002 //- Owner: Tim Tautges 00003 //- Description: Cubit attribute for virtual geometry entities 00004 //- (holds both virtual vertices and virtual curves) 00005 //- Checked by: 00006 //- Version: 00007 //- 00008 //- This attribute stores: 00009 //- numVV: number of virtual vertices 00010 //- numVC: number of virtual curves 00011 //- vgUIDs[0..numVV-1]: UID's of virtual vertices 00012 //- vgUIDs[numVV..(end)]: for each curve, UID's of start, end vertices, then 00013 //- UID of virtual curve 00014 //- posVector[0..numVV-1]: position of virtual vertices 00015 //- posVector[numVV..(end)]: positions of vpoints defining vcurve (not including ends) 00016 //- numVCPoints: number of virtual points for each virtual curve 00017 00018 #ifndef CA_VIRTUAL_VG_HPP 00019 #define CA_VIRTUAL_VG_HPP 00020 00021 #include "CubitAttrib.hpp" 00022 #include "DLIList.hpp" 00023 #include "CADefines.hpp" 00024 00025 class Point; 00026 class RefEntity; 00027 class CubitSimpleAttrib; 00028 //class ParasitePoint; 00029 //class ParasiteCurve; 00030 00031 class CAVirtualVG: public CubitAttrib 00032 { 00033 00034 friend class CAPartitionVG; 00035 00036 protected: 00037 int numVV, numVC; 00038 //- the number of virtual points and curves contained in this attr 00039 00040 DLIList<int> vgUIDs; 00041 //- unique ids of virtual points and curves contained in this attr 00042 00043 DLIList<CubitVector*> posVector; 00044 //- position vectors for virtual curves 00045 00046 DLIList<int> numVCPoints; 00047 //- for each virtual curve, the number of virtual points in that curve 00048 00049 // void add_vvertex(ParasitePoint *vpoint); 00050 //- adds data for the RefVertex defined by this vpoint to this CA 00051 00052 // void add_vcurve(ParasiteCurve *vcurve); 00053 //- adds data for this vcurve to this CA 00054 00055 public: 00056 00057 CAVirtualVG(RefEntity*, const CubitSimpleAttrib&); 00058 //- construct a CAPVG from a simple attribute 00059 00060 virtual ~CAVirtualVG() {}; 00061 00062 CubitStatus actuate(); 00063 00064 CubitStatus update(); 00065 00066 CubitStatus reset(); 00067 //- reset info; called from CAU and also from update! 00068 00069 CubitSimpleAttrib cubit_simple_attrib(); 00070 00071 CubitSimpleAttrib cubit_simple_attrib(CubitString); 00072 00073 int int_attrib_type() {return CA_VIRTUAL_VG;} 00074 //- returns the enumerated attribute type 00075 00076 }; 00077 00078 CubitAttrib* CAVirtualVG_creator(RefEntity* entity, const CubitSimpleAttrib &p_csa); 00079 00080 #endif