10 #define CONTROLOBJSR_H
12 #include <vl/envProcessSR.h>
14 #include <vlpi/appearance.h>
19 class Dt3dBoundingVolume;
26 class DtEnvironmentalBoundingSphereRecord;
27 class DtEnvironmentalRectangularVolumeRecord;
29 class DtGlobalObjectDesignatorList;
59 class DtEnvironmentalPointRecord;
87 virtual DtStateRepository* clone(
bool copy =
false)
const;
95 const std::vector<DtVector>& vertexList()
const;
100 virtual void updateExtensions();
108 virtual int compareToMostRecent();
112 virtual bool locationsDifferent(
bool updateIfDifferent);
113 virtual void emptyVertexList();
118 static void initializePuffFactory();
120 static DtIttSourceData* createPuffRecord(DtNetEnvironmentalRecord* geometric,
121 DtNetEnvironmentalRecord* source);
122 static DtIttSourceData* createPuffRecord(DtNetEnvironmentalRecord* rec);
124 virtual void getBoundingVolume(DtVector& location,
double& radius)
const;
127 bool geometricRecordsChanged()
const;
128 void clearGeometricRecordsChanged();
132 virtual void updateDataRecords();
135 virtual int numberOfSubordinates()
const;
136 virtual bool getSubordinate(
int i, DtGlobalObjectDesignator& d);
137 virtual const DtGlobalObjectDesignatorList& subordinates()
const;
138 virtual DtGlobalObjectDesignatorList& subordinates();
143 virtual void setVertices(
const DtList& pnt);
144 virtual void appendVertex(
const DtVector&);
145 virtual void setVertex(
int i,
const DtVector&);
146 virtual void removeVertex(
int i);
157 virtual DtForceType forceType()
const;
158 virtual void setForceType(DtForceType i);
161 virtual int color()
const;
162 virtual void setColor(
int);
165 virtual const DtString& parent()
const;
166 virtual void setParent(
const DtString&);
168 virtual const DtString& userData()
const;
169 virtual void setUserData(
const DtString&);
171 virtual void setVrfObjectName(
const DtString&);
172 virtual const DtString& vrfObjectName();
174 virtual DtAppearance appearance()
const;
175 virtual void setAppearance(
const DtAppearance& app);
177 virtual void setNumberOfSubordinates(
int);
178 virtual void setSubordinate(
int i,
const DtGlobalObjectDesignator&);
181 virtual const DtGlobalObjectDesignator& hostGlobalId()
const;
182 virtual void setHostGlobalId(
const DtGlobalObjectDesignator&);
185 virtual void clearHostGlobalId();
198 virtual void setBoundingSphereRadius(
double);
199 virtual double boundingSphereRadius()
const;
203 virtual void setBoundingSphereLocation(
const DtVector&);
204 virtual const DtVector& boundingSphereLocation()
const;
206 bool hasBoundingSphereRecord()
const;
217 bool hasBoundingRectRecord()
const;
219 virtual void setBoundingExtent(
const DtVector&);
220 const DtVector& boundingExtent()
const;
222 virtual void setBoundingCornerLocation(
const DtVector&);
223 virtual const DtVector& boundingCornerLocation()
const;
225 virtual void setBoundingOrientation(
const DtTaitBryan&);
226 const DtTaitBryan& boundingOrientation()
const;
231 virtual void setProjected(
bool);
232 virtual bool projected()
const;
234 virtual void setClosedFigure(
bool);
235 virtual bool closedFigure()
const;
237 virtual void setBound2D(
bool);
238 virtual bool bound2D()
const;
241 virtual void setFillStyle(
int);
242 virtual int fillStyle()
const;
244 virtual void setLineStyle(
int);
245 virtual int lineStyle()
const;
247 virtual void setLineWidth(
int);
248 virtual int lineWidth()
const;
254 virtual void setCachePoints(
bool);
255 bool cachePoints()
const;
262 virtual bool createExtendedEnvironmentalStateRecord();
272 virtual bool createVrfObjectStateRecord();
281 virtual bool createBoundingSphereRecord();
286 virtual DtEnvironmentalBoundingSphereRecord* boundingSphereRecord();
290 virtual bool createBoundingRectRecord();
295 virtual DtEnvironmentalRectangularVolumeRecord* boundingRectRecord();
299 virtual void setupKindFromType(
const DtEntityType& type);
301 virtual void clearGeometricRecords();