cgma
CAVirtualVG.hpp
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines