root/cgm/trunk/geom/virtual/CAVirtualVG.hpp

Revision 1040, 2.4 KB (checked in by tautges, 2 years ago)

Version 10.2 of cgm.

Line 
1//- Class:          CAVirtualVG
2//- Owner:          Tim Tautges
3//- Description:    Cubit attribute for virtual geometry entities
4//-                 (holds both virtual vertices and virtual curves)
5//- Checked by:
6//- Version:
7//-
8//- This attribute stores:
9//- numVV: number of virtual vertices
10//- numVC: number of virtual curves
11//- vgUIDs[0..numVV-1]: UID's of virtual vertices
12//- vgUIDs[numVV..(end)]: for each curve, UID's of start, end vertices, then
13//-                 UID of virtual curve
14//- posVector[0..numVV-1]: position of virtual vertices
15//- posVector[numVV..(end)]: positions of vpoints defining vcurve (not including ends)
16//- numVCPoints: number of virtual points for each virtual curve
17
18#ifndef CA_VIRTUAL_VG_HPP
19#define CA_VIRTUAL_VG_HPP
20
21#include "CubitAttrib.hpp"
22#include "DLIList.hpp"
23#include "CADefines.hpp"
24
25class Point;
26class RefEntity;
27class CubitSimpleAttrib;
28//class ParasitePoint;
29//class ParasiteCurve;
30
31class CAVirtualVG: public CubitAttrib
32{
33
34friend class CAPartitionVG;
35
36protected:
37  int numVV, numVC;
38    //- the number of virtual points and curves contained in this attr
39
40  DLIList<int> vgUIDs;
41    //- unique ids of virtual points and curves contained in this attr
42
43  DLIList<CubitVector*> posVector;
44    //- position vectors for virtual curves
45
46  DLIList<int> numVCPoints;
47    //- for each virtual curve, the number of virtual points in that curve
48
49//  void add_vvertex(ParasitePoint *vpoint);
50    //- adds data for the RefVertex defined by this vpoint to this CA
51
52//  void add_vcurve(ParasiteCurve *vcurve);
53    //- adds data for this vcurve to this CA
54
55public:
56  CAVirtualVG(RefEntity* );
57
58  CAVirtualVG(RefEntity*, CubitSimpleAttrib*);
59    //- construct a CAPVG from a simple attribute
60
61  virtual ~CAVirtualVG() {};
62
63  //HEADER- RTTI and safe casting functions.
64  virtual const type_info& entity_type_info() const { return typeid(*this);}
65  //R- The geometric modeler type
66  //- This function returns the type of the geometric modeler.
67
68  CubitStatus actuate();
69 
70  CubitStatus update();
71
72  CubitStatus reset();
73    //- reset info; called from CAU and also from update!
74
75  CubitSimpleAttrib* cubit_simple_attrib();
76 
77  CubitSimpleAttrib* cubit_simple_attrib(CubitString);
78 
79  int int_attrib_type() {return CA_VIRTUAL_VG;}
80    //- returns the enumerated attribute type
81
82};
83
84CubitAttrib* CAVirtualVG_creator(RefEntity* entity, CubitSimpleAttrib *p_csa);
85
86#endif
Note: See TracBrowser for help on using the browser.