30 #include <vl/hostStructs.h>
31 #include <vlpi/appearance.h>
32 #include <vlutil/vlList.h>
37 class DtStateRepository;
52 class DtReflectedEntity;
54 class DtReflectedEnvironmentProcess;
109 bool createLocalObject =
true,
110 bool publishLocalObject =
true,
111 const DtEntityIdentifier& objectIdentifier = DtEntityIdentifier::nullId(),
112 const DtGlobalObjectDesignator* globalId = 0,
113 DtReflectedObject* reflectedObject = 0,
114 const DtString & objectName = DtString::nullString(),
115 const DtString & objectLabel = DtString::nullString(),
116 DtForceType forceType = DtForceOther,
117 const DtList* vertices = 0,
118 const DtTaitBryan* orientation = 0,
119 bool projection =
false,
120 bool closedFigure =
false,
121 const DtAppearance& appearance = DtAppearance::nullAppearance(),
122 const DtString & readerWriterName =
"vrf-object",
130 virtual bool create();
133 virtual void createCommunicationsInterface();
141 virtual void createSetDataManager();
158 virtual bool createTaskManager();
159 virtual bool createComponentManager();
162 virtual bool createVrfObjectPlanManager();
163 virtual bool createRadio();
191 virtual void expandExtent(
DtExtent& extent)
const;
196 virtual void sendVrfObjectCreated(
unsigned long requestId = 0);
203 virtual bool isVrfSimulatedObject();
204 virtual void setIsVrfSimulatedObject(
bool b);
213 virtual bool isSimulatingComponents()
const;
216 virtual void putSelf(FILE* fp,
int indentLevel = 0,
bool writeUnspecified =
true,
220 virtual void getSelf(DtlObjPtr args,
const DtFilename& searchPath,
230 virtual bool setObjectName(
const DtString & name,
bool rename =
true);
234 virtual void addNameAlias(
const DtString& name);
238 virtual void unregisterAliases();
253 virtual void addVrfObjectChangedCallback(
255 virtual void removeVrfObjectChangedCallback(
264 virtual void addVerticesChangedCallback(
266 virtual void removeVerticesChangedCallback(
275 virtual void addRelativeVerticesChangedCallback(
277 virtual void removeRelativeVerticesChangedCallback(
283 virtual void addVrfObjectPredicateCallback(
287 virtual void removeVrfObjectPredicateCallback(
294 virtual int predicateCallbackCount()
const;
300 virtual void invokeVrfObjectPredicateCallbacks();
310 virtual bool createNetInterface();
316 virtual void setGlobalId(
const DtGlobalObjectDesignator &
id);
317 virtual const DtGlobalObjectDesignator & globalId()
const;
323 virtual bool baseSetObjectName(
const DtString & name);
324 virtual const DtString & objectName()
const;
327 virtual const DtString & objectLabel()
const;
328 virtual void setObjectLabel(
const DtString & objectLabel);
331 virtual const DtString & overlayParent()
const;
332 virtual void setOverlayParent(
const DtString & overlayParent);
335 virtual DtStateRepository* netState();
336 virtual const DtStateRepository* netState()
const;
344 virtual void setObjectIdentifier(
const DtEntityIdentifier & objectId);
345 virtual const DtEntityIdentifier & objectIdentifier()
const;
349 virtual bool isLocal()
const;
355 virtual void setPublishObject(
bool publishObject);
356 virtual bool publishObject()
const;
362 virtual DtString objectClassType()
const;
363 virtual void setObjectClassType(
const DtString & objectClassType);
367 virtual void clearVerticesChangedCallbacks();
371 virtual void clearRelativeVerticesChangedCallbacks();
375 virtual void clearPredicateCallbacks();
377 static void addSimObjectCreatorFcn(
const DtString & type,
391 void setEntityType(
const DtEntityType & entityType);
392 const DtEntityType & entityType()
const;
394 void setDestroyed(
bool destroyed);
395 bool isDestroyed()
const;
408 virtual void place(
const DtVector& location,
bool* dataAvailable = 0,
409 bool requireAllData =
false);
422 virtual void place(
const DtReal heading,
bool* dataAvailable = 0,
423 bool requireAllData =
false);
437 virtual void place(
const DtVector& location,
const DtReal heading,
438 bool* dataAvailable = 0,
bool requireAllData =
false);
440 const DtString & echelonIdString()
const;
444 virtual const DtString& firstSubordinate()
const;
446 virtual const DtString& lastSubordinate()
const;
449 virtual const DtString& firstHealthySubordinate()
const;
453 virtual const DtObjectId & objectId()
const;
457 virtual bool isEmbarked()
const;
461 virtual bool isEmbarkedOn(
const DtString& parent)
const;
470 void setAboutToBeRemoved(
bool);
471 bool aboutToBeRemoved()
const;
475 virtual DtOutputStream& objectConsoleDebug()
const;
476 virtual DtOutputStream& objectConsoleVerbose()
const;
477 virtual DtOutputStream& objectConsoleInfo()
const;
478 virtual DtOutputStream& objectConsoleWarn()
const;
479 virtual DtOutputStream& objectConsoleError()
const;
511 virtual bool hasPlan()
const;
514 virtual bool executingPlan()
const;
517 virtual bool isCurrentlyTasked()
const;
534 virtual DtU8 getNextEmitterSystemId();
537 static void setDefaultNotifyLevel(DtNotifyLevelType
level);
539 static DtNotifyLevelType defaultNotifyLevel();
548 virtual const ScriptInterfaceExtensions& scriptExtensions()
const;
557 bool createLocalObject =
true,
558 bool publishLocalObject =
true,
559 const DtEntityIdentifier& objectIdentifier = DtEntityIdentifier::nullId(),
560 const DtGlobalObjectDesignator* globalId = 0,
561 DtReflectedObject* reflectedObject = 0,
562 const DtString & objectName = DtString::nullString(),
563 const DtString & objectLabel = DtString::nullString(),
564 DtForceType forceType = DtForceOther,
565 const DtList* vertices = 0,
566 const DtTaitBryan* orientation = 0,
567 bool projection =
false,
568 bool closedFigure =
false,
569 const DtAppearance& appearance = DtAppearance::nullAppearance(),
570 const DtString & readerWriterName = DtString::nullString(),
578 bool createLocalObject =
true,
579 bool publishLocalObject =
true,
580 const DtEntityIdentifier& objectIdentifier = DtEntityIdentifier::nullId(),
581 const DtGlobalObjectDesignator* globalId = 0,
582 DtReflectedObject* reflectedObject = 0,
583 const DtString & objectName = DtString::nullString(),
584 const DtString & objectLabel = DtString::nullString(),
585 DtForceType forceType = DtForceOther,
586 const DtList* vertices = 0,
587 const DtTaitBryan* orientation = 0,
588 bool projection =
false,
589 bool closedFigure =
false,
590 const DtAppearance& appearance = DtAppearance::nullAppearance(),
591 const DtString & readerWriterName = DtString::nullString(),
599 bool createLocalObject =
true,
600 bool publishLocalObject =
true,
601 const DtEntityIdentifier& objectIdentifier = DtEntityIdentifier::nullId(),
602 const DtGlobalObjectDesignator* globalId = 0,
603 DtReflectedObject* reflectedObject = 0,
604 const DtString & objectName = DtString::nullString(),
605 const DtString & objectLabel = DtString::nullString(),
606 DtForceType forceType = DtForceOther,
607 const DtVector& location = DtVector::zero(),
608 const DtTaitBryan* orientation = 0,
609 bool projection =
false,
610 bool closedFigure =
false,
611 const DtAppearance& appearance = DtAppearance::nullAppearance(),
612 const DtString & readerWriterName = DtString::nullString(),
622 static void verticesChangedCallback(
DtVrfObject* obj,
626 static void relativeVerticesChangedCallback(
DtVrfObject* obj,
637 static void readDRThresholdSettingsCallback(
639 virtual void processReadDRThresholdSettings(
const DtSettingsObject* settings);
644 virtual void addObjectAboutToBeRemovedCallback(
646 virtual void removeObjectAboutToBeRemovedCallback(
648 virtual void invokeVrfObjectAboutToBeRemovedCallbacks();
653 virtual void addSetLocationCompleteCallback(
655 virtual void removeSetLocationCompleteCallback(
657 virtual void invokeSetLocationCompleteCallbacks();
670 virtual void setupStateRepository();
673 virtual void setupNetInterface();
676 void emptyVertexList();
679 void copyVertexList(
const DtList& orig);
683 virtual void validateObjectType();
690 virtual void initializeCommunicationInterfaceCallbacks();