14 #include <vl/environmentProcessRepository.h>
18 #include <vlpi/appearance.h>
23 class Dt3dBoundingVolume;
30 class DtEnvironmentalBoundingSphereRecord;
31 class DtEnvironmentalRectangularVolumeRecord;
33 class DtGlobalObjectDesignatorList;
63 class DtEnvironmentalPointRecord;
90 virtual const char* networkData()
const;
91 virtual const char* setNetworkData(
const DtNetEnvironmentalRecord*);
94 virtual int netRepSize()
const override;
95 virtual void setFromNet(
const DtNetEnvironmentalRecord &buffer,
96 int protocolVersion)
override;
99 virtual bool createNetworkRepresentation()
override;
100 virtual bool resizeNetRep(
int newSize)
override;
126 virtual bool readFromRecord(
const DtNetEnvironmentalRecord*);
153 DtEntityType
entityType()
const {
return environmentType(); };
163 virtual void generateUniqueId();
165 virtual void setUniqueId(
const DtVrlUuid& uniqueId);
167 virtual const DtVrlUuid& uniqueId()
const;
169 const std::vector<DtVector>& vertexList()
const;
174 virtual void updateExtensions();
182 virtual int compareToMostRecent();
186 virtual bool locationsDifferent(
bool updateIfDifferent);
187 virtual void emptyVertexList();
192 static void initializePuffFactory();
194 static DtIttSourceData* createPuffRecord(DtNetEnvironmentalRecord* geometric,
195 DtNetEnvironmentalRecord*
source);
196 static DtIttSourceData* createPuffRecord(DtNetEnvironmentalRecord* rec);
198 virtual void getBoundingVolume(DtVector& location,
double& radius)
const;
200 const DtGeometricDataList& geometricRecords()
const;
201 bool geometricRecordsChanged()
const;
202 void clearGeometricRecordsChanged();
206 virtual void updateDataRecords();
209 virtual int numberOfSubordinates()
const;
211 virtual const DtGlobalObjectDesignatorList& subordinates()
const;
212 virtual DtGlobalObjectDesignatorList& subordinates();
215 virtual void setExtendedData(
const std::map<DtString, DtString> &ed)
override;
221 virtual double orientation()
const;
225 virtual void setVertices(
const DtList& pnt);
226 virtual void appendVertex(
const DtVector&);
227 virtual void setVertex(
int i,
const DtVector&);
228 virtual void removeVertex(
int i);
234 virtual DtForceType forceType()
const;
235 virtual void setForceType(DtForceType i);
238 virtual int color()
const;
239 virtual void setColor(
int);
242 virtual const DtString& parent()
const;
243 virtual void setParent(
const DtString&);
245 virtual const DtString& userData()
const;
246 virtual void setUserData(
const DtString&);
248 virtual void setVrfObjectName(
const DtString&);
249 virtual const DtString& vrfObjectName();
251 virtual DtAppearance appearance()
const;
252 virtual void setAppearance(
const DtAppearance& app);
254 virtual void setNumberOfSubordinates(
int);
266 virtual void clearHostGlobalId();
276 virtual bool getFontInformation(
DtString& font,
int& fontSize)
const;
277 virtual void setFontInformation(
const DtString&,
int fontSize);
280 virtual bool getFontColor(
unsigned int& color)
const;
281 virtual void setFontColor(
unsigned int color);
283 virtual bool getArrowInformation(
int& arrowHeadPlacement,
int& arrowStyle,
int& arrowSize)
const;
284 virtual void setArrowInformation(
int arrowHeadPlacement,
int arrowStyle,
int arrowSize);
296 virtual void setBoundingSphereRadius(
double);
297 virtual double boundingSphereRadius()
const;
301 virtual void setBoundingSphereLocation(
const DtVector&);
302 virtual const DtVector& boundingSphereLocation()
const;
304 bool hasBoundingSphereRecord()
const;
314 bool hasBoundingRectRecord()
const;
316 virtual void setBoundingExtent(
const DtVector&);
317 const DtVector& boundingExtent()
const;
319 virtual void setBoundingCornerLocation(
const DtVector&);
320 virtual const DtVector& boundingCornerLocation()
const;
322 virtual void setBoundingOrientation(
const DtTaitBryan&);
323 const DtTaitBryan& boundingOrientation()
const;
327 virtual void setProjected(
bool);
328 virtual bool projected()
const;
330 virtual void setClosedFigure(
bool);
331 virtual bool closedFigure()
const;
333 virtual void setBound2D(
bool);
334 virtual bool bound2D()
const;
337 virtual void setFillStyle(
int);
338 virtual int fillStyle()
const;
340 virtual void setLineStyle(
int);
341 virtual int lineStyle()
const;
343 virtual void setLineWidth(
int);
344 virtual int lineWidth()
const;
347 virtual void setPhysicalLineHeight(
double);
348 virtual double physicalLineHeight()
const;
351 virtual void setPhysicalLineWidth(
double);
352 virtual double physicalLineWidth()
const;
356 virtual void setRelativeLocation(
const DtVector&);
357 virtual const DtVector& relativeLocation()
const;
361 virtual void setVelocity(
const DtVector&);
362 virtual const DtVector& velocity()
const;
364 virtual void setAcceleration(
const DtVector&);
365 virtual const DtVector& acceleration()
const;
367 virtual void setDRAlogrithm(DtDeadReckonTypes);
368 virtual const DtDeadReckonTypes& drAlgorithm()
const;
371 virtual void setOffsetPoints(
const std::vector<DtVector>&);
372 virtual const std::vector<DtVector>& offsetPoints()
const;
377 virtual void setCachePoints(
bool);
378 bool cachePoints()
const;
386 return myExtendedRecordData;
391 return myExtendedRecordData;
394 int numberOfDatumRecords()
const;
395 void setNumberOfDatumRecords(
int);
400 virtual void setSendVrfObjectDataRecord(
bool shouldSend);
401 virtual bool shouldSendVrfObjectDataRecord()
const;
407 virtual void addUuidRecord();
414 virtual bool createExtendedEnvironmentalStateRecord();
424 virtual bool createVrfObjectStateRecord();
433 virtual bool createBoundingSphereRecord();
438 virtual DtEnvironmentalBoundingSphereRecord* boundingSphereRecord();
442 virtual bool createBoundingRectRecord();
447 virtual DtEnvironmentalRectangularVolumeRecord* boundingRectRecord();
450 virtual void setupKindFromType(
const DtEntityType& type);
452 virtual void clearGeometricRecords();
Definition: controlObjectBaseRepository.h:41
Definition: controlObjectBaseRepository.h:56
Definition: controlObjectBaseRepository.h:52
Definition: controlObjectBaseRepository.h:129
DtEnvironmentalProcessExtendedRecordData myExtendedRecordData
Definition: controlObjectBaseRepository.h:490
const DtGeometricDataList & geometricRecords() const
Definition: controlObjectBaseRepository.h:495
Definition: controlObjectBaseRepository.h:59
Definition: ittEnvironmentalProcessData.h:18
Definition: controlObjectBaseRepository.h:54
Definition: vrfExtensions.h:22
const char * myData
Definition: controlObjectBaseRepository.h:104
Environmental process version of this class.
Definition: controlObjectBaseRepository.h:110
bool myNeedVrfObjectDataUpdate
Definition: controlObjectBaseRepository.h:485
DtVrfExtensions & operator=(const DtVrfExtensions &orig)
Definition: controlObjectBaseRepository.h:57
Definition: vrfExtendedRecordData.h:18
bool cachePoints() const
Definition: controlObjectBaseRepository.h:520
int myDataSize
Definition: controlObjectBaseRepository.h:103
bool hasBoundingRectRecord() const
Routines that are used to set/get information about the bounding rectangle. If this information is se...
Definition: controlObjectBaseRepository.h:515
Definition: controlObjectBaseRepository.h:40
Definition: controlObjectBaseRepository.h:58
bool myGeometricRecordsChanged
Definition: controlObjectBaseRepository.h:484
std::map< int, DtIttSourceDataCreator > DtIttSourceDataMap
Definition: controlObjectBaseRepository.h:134
DtVrlUuid myUuid
Definition: controlObjectBaseRepository.h:479
const DtVrfExtendedRecordData & extendedRecordData() const
Definition: controlObjectBaseRepository.h:384
DtCOVertexList myVertexList
Keeps a list of all geometry point records to use to update internal model datas from.
Definition: controlObjectBaseRepository.h:465
Definition: controlObjectBaseRepository.h:48
Definition: controlObjectBaseRepository.h:38
std::vector< DtVector > DtCOVertexList
Definition: controlObjectBaseRepository.h:132
Definition: controlObjectBaseRepository.h:43
DtGeometricDataList myGeometricRecords
Definition: controlObjectBaseRepository.h:483
Definition: ittEnvironmentalProcessRecords.h:17
std::vector< DtIttEnvironmentalProcessData * > DtGeometricDataList
Definition: controlObjectBaseRepository.h:133
virtual const std::map< DtString, DtString > & extendedData() const
Gets/sets extended data.
Definition: controlObjectBaseRepository.h:39
Contains the DtVrfExtensions class declaration.
DtControlObjectBaseRepository * myLastCopy
Definition: controlObjectBaseRepository.h:475
Definition: controlObjectBaseRepository.h:51
DtEnvironmentalRectangularVolumeRecord * myBoundingRectRecord
Definition: controlObjectBaseRepository.h:476
Definition: controlObjectBaseRepository.h:53
DtEnvironmentalBoundingSphereRecord * myBoundingSphereRecord
Definition: controlObjectBaseRepository.h:473
Definition: controlObjectBaseRepository.h:55
void clearGeometricRecordsChanged()
Definition: controlObjectBaseRepository.h:505
static DtIttSourceDataMap thePuffFactory
This information is needed for ITT puff clouds.
Definition: controlObjectBaseRepository.h:482
const char * source
Definition: lz4.h:442
DtEntityType objectType() const
Definition: controlObjectBaseRepository.h:154
Network representation class for extended environmental data.
Definition: controlObjectBaseRepository.h:68
Wraps a DtIfVrfObjectData message into this structure so it can be sent as an environmental record...
Definition: vrfObjectDataEnvironmentalRecord.h:25
Definition: controlObjectBaseRepository.h:42
Definition: simEnvironmentalModelType.h:20
DtVrfExtendedRecordData & extendedRecordData()
Definition: controlObjectBaseRepository.h:389
virtual void extensionModified()
DtControlObjectKind
Definition: controlObjectBaseRepository.h:35
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
bool hasBoundingSphereRecord() const
Definition: controlObjectBaseRepository.h:510
DtVrfObjectAttachMode
Definition: vrfObjectAttachEnums.h:8
bool myGeneratedUuid
Definition: controlObjectBaseRepository.h:478
Definition: simEnvironmentalObjectStateRecord.h:143
Contains Extended DI-Guy Object net types.
DtIttSourceData *(* DtIttSourceDataCreator)(DtNetEnvironmentalRecord *)
Definition: ittEnvironmentalProcessData.h:133
int myPointsSet
Definition: controlObjectBaseRepository.h:488
DtControlObjectCategory myCategory
Definition: controlObjectBaseRepository.h:461
Definition: controlObjectBaseRepository.h:60
DtEntityType entityType() const
Definition: controlObjectBaseRepository.h:153
bool myCachePoints
Definition: controlObjectBaseRepository.h:487
DtControlObjectKind myKind
Definition: controlObjectBaseRepository.h:460
Definition: controlObjectBaseRepository.h:50
Definition: controlObjectBaseRepository.h:49
bool geometricRecordsChanged() const
Definition: controlObjectBaseRepository.h:500
DtSimEnvironmentalObjectStateRecord * myExtEnvStateRecord
DtSimEnvironmentalObjectStateRecord is a special form of DtEnvironmentalRecord, used to decode custom...
Definition: controlObjectBaseRepository.h:472
DtVrfObjectDataEnvironmentalRecord * myVrfObjectStateRecord
Definition: controlObjectBaseRepository.h:474
bool mySendVrfObjectDataRec
Definition: controlObjectBaseRepository.h:492
Definition: controlObjectBaseRepository.h:37
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
virtual void setExtendedData(const std::map< DtString, DtString > &)
Gets/sets extended data.
DtControlObjectCategory
Definition: controlObjectBaseRepository.h:46