|
VR-Engage
2.2
|
This class demonstrates how to derive a publisher from DtCigiPublisherTemplate using the version-agnostic CigiBaseEnvCtrl packet type. It reads simulation time from the VR-Forces environmental state manager and drives celestial control packets for connected image generators.
#include <cigiTimePublisher.h>
Public Member Functions | |
| DtCigiTimePublisher () | |
| virtual | ~DtCigiTimePublisher () |
| bool | init () override |
| void | tick (double dt) override |
Public Member Functions inherited from makVre::DtCigiPublisherTemplate< CigiBaseEnvCtrl, DtCigiTimePublisher, DtCigiPublisherBase > | |
| DtCigiPublisherTemplate () | |
| virtual | ~DtCigiPublisherTemplate () override |
| CigiData * | cigi () |
| CigiData *const | cigi () const |
| CigiData * | shared () |
| CigiData *const | shared () const |
Public Member Functions inherited from makVre::DtSpSubClass< DtCigiTimePublisher, DtCigiPublisherBase > | |
| DtSpSubClass () | |
| virtual | ~DtSpSubClass () |
| Sptr | self () |
| std::string | type () const override |
Public Member Functions inherited from makVre::DtCigiPublisherBase | |
| DtCigiPublisherBase () | |
| virtual | ~DtCigiPublisherBase () override |
| DtCigiDataBase * | shared () |
| DtCigiDataBase *const | shared () const |
| virtual void | setEnabled (bool enabled) |
| virtual bool | enabled () const |
| template<class CHILD_T> | |
| std::shared_ptr< CHILD_T > | addNewChild (const std::string &name="") |
| virtual bool | addChild (Sptr child) override |
| virtual void | publish (CigiOutgoingMsg &out) |
| virtual void | setNeedsReceiptConfirmation (bool needs) |
| virtual bool | needsReceiptConfirmation () const |
| virtual void | receiptConfirmed () |
| virtual double | lastSent () |
| virtual void | markDirty (bool childrenToo=false) |
| virtual void | markClean (bool childrenToo=false) |
Public Member Functions inherited from makVre::DtSpSubClass< DtCigiPublisherBase, DtTreeClass< DtCigiPublisherBase, DtCigiObjectBase > > | |
| DtSpSubClass () | |
| Sptr | self () |
Public Member Functions inherited from makVre::DtTreeClass< DtCigiPublisherBase, DtCigiObjectBase > | |
| DtTreeClass () | |
| virtual | ~DtTreeClass () override |
| virtual void | setOwnsChildren (bool owns) |
| virtual bool | ownsChildren () |
| virtual bool | removeChild (Sptr child) |
| virtual void | removeAllChildren () |
| virtual bool | forEachChild (ForChildFn fn) |
| virtual Sptr | findChild (FindChildFn fn) |
| virtual Sptr | findChild (const std::string &name) |
| virtual bool | isChild (Sptr child) |
| virtual unsigned int | numChildren () |
| virtual bool | hasChildren () |
| virtual Sptr | parent () |
Public Member Functions inherited from makVre::DtSpSubClass< DtCigiPublisherBase, DtCigiObjectBase > | |
| DtSpSubClass () | |
| Sptr | self () |
Public Member Functions inherited from makVre::DtCigiObjectBase | |
| DtCigiObjectBase () | |
| virtual | ~DtCigiObjectBase () override |
| CigiData * | cigi () |
| CigiData *const | cigi () const |
| virtual Cigi_uint16 | cigiType () |
| virtual Sptr | setSession (DtCigiSession &session) |
| virtual DtCigiSession & | session () const |
| virtual unsigned int | sessionVersion () const |
| virtual void | markDirty () |
| virtual void | markClean () |
| virtual bool | isDirty () const |
Public Member Functions inherited from makVre::DtSpSubClass< DtCigiObjectBase > | |
| DtSpSubClass () | |
| Sptr | self () |
Public Member Functions inherited from makVre::DtSpObject | |
| DtSpObject () | |
| virtual | ~DtSpObject () |
| Sptr | self () |
| virtual void | setName (const std::string &name) |
| virtual std::string | name () const |
Static Public Member Functions | |
| static void | addToSession (DtCigiSession &session) |
Static Public Member Functions inherited from makVre::DtSpSubClass< DtCigiTimePublisher, DtCigiPublisherBase > | |
| static std::string | Type () |
| static std::shared_ptr< DtCigiTimePublisher > | create () |
| static void | registerCreator () |
| static std::shared_ptr< DtCigiTimePublisher > | createVersion (unsigned int version) |
| static void | registerCreatorVersion (unsigned int version) |
Static Public Member Functions inherited from makVre::DtSpSubClass< DtCigiPublisherBase, DtTreeClass< DtCigiPublisherBase, DtCigiObjectBase > > | |
| static std::string | Type () |
| static std::shared_ptr< DtCigiPublisherBase > | create () |
| static void | registerCreator () |
| static std::shared_ptr< DtCigiPublisherBase > | createVersion (unsigned int version) |
| static void | registerCreatorVersion (unsigned int version) |
Static Public Member Functions inherited from makVre::DtSpSubClass< DtCigiPublisherBase, DtCigiObjectBase > | |
| static std::string | Type () |
| static std::shared_ptr< DtCigiPublisherBase > | create () |
| static void | registerCreator () |
| static std::shared_ptr< DtCigiPublisherBase > | createVersion (unsigned int version) |
| static void | registerCreatorVersion (unsigned int version) |
Static Public Member Functions inherited from makVre::DtSpSubClass< DtCigiObjectBase > | |
| static std::string | Type () |
| static std::shared_ptr< DtCigiObjectBase > | create () |
| static void | registerCreator () |
| static std::shared_ptr< DtCigiObjectBase > | createVersion (unsigned int version) |
| static void | registerCreatorVersion (unsigned int version) |
Static Public Member Functions inherited from makVre::DtSpObject | |
| template<class AS_T> | |
| static std::shared_ptr< AS_T > | cast (Sptr p) |
| template<class AS_T> | |
| static std::shared_ptr< AS_T > | unsafe_cast (Sptr p) |
Protected Member Functions | |
| void | initCigi () override |
| void | updateCigi () override |
Protected Member Functions inherited from makVre::DtCigiPublisherTemplate< CigiBaseEnvCtrl, DtCigiTimePublisher, DtCigiPublisherBase > | |
| DtCigiDataBase * | createCigi () override |
| bool | verifySharedType () override |
Protected Member Functions inherited from makVre::DtCigiPublisherBase | |
| virtual std::string | sharedKey () |
| virtual void | setupShared () |
| virtual void | initShared () |
| virtual void | updateShared () |
| virtual void | write (CigiOutgoingMsg &out) |
| virtual void | createChildren () |
| virtual void | tickChildren (double dt) |
| virtual void | publishChildren (CigiOutgoingMsg &out) |
Protected Member Functions inherited from makVre::DtTreeClass< DtCigiPublisherBase, DtCigiObjectBase > | |
| virtual void | setParent (Sptr parent) |
| virtual void | pruneChildren () |
Protected Member Functions inherited from makVre::DtCigiObjectBase | |
| DtCigiDataBase * | cigiBase () |
| DtCigiDataBase *const | cigiBase () const |
| template<typename VALUE_T> | |
| bool | updateValue (VALUE_T *value, VALUE_T source) |
Protected Attributes | |
| double | mySimTime |
| double | myTimeTolerance |
Protected Attributes inherited from makVre::DtCigiPublisherBase | |
| CigiBasePtr | mySharedData |
| bool | myEnabled |
| bool | myNeedsConfirmation |
| double | myLastSentToIg |
Protected Attributes inherited from makVre::DtTreeClass< DtCigiPublisherBase, DtCigiObjectBase > | |
| OwnedChildList | myOwnedChildren |
| UnownedChildList | myUnownedChildren |
| ChildNameMap | myChildrenByName |
| bool | myOwnsChildren |
| Wptr | myParent |
Protected Attributes inherited from makVre::DtCigiObjectBase | |
| CigiBasePtr | myCigiData |
| DtCigiSession * | mySession |
| bool | myDirty |
Protected Attributes inherited from makVre::DtSpObject | |
| std::string | myName |
|
inline |
References mySimTime, and myTimeTolerance.
|
inlinevirtual |
|
static |
Instantiates a new time publisher and adds it to a CIGI session.
This helper is registered as a session-start callback by the example plugin so that each new CIGI session automatically gets a time-of-day publisher attached under the root publisher in the publisher tree.
References makVre::DtCigiObjectBase::session().
|
overridevirtual |
Initializes the publisher and validates required VR-Forces services.
This override checks that the CGF physical world and environmental state manager are available, reads the optional timeDeviationTolerance value from the session configuration, and then delegates to the base publisher initialization.
Reimplemented from makVre::DtCigiPublisherBase.
|
overridevirtual |
Advances internal simulation time tracking and schedules updates.
This method accumulates expected simulation time using the frame delta, compares it against the authoritative time from the environmental state manager, and marks the publisher dirty when the deviation exceeds the configured tolerance before calling the base tick implementation.
| dt | Delta time in seconds since the last tick. |
Reimplemented from makVre::DtCigiPublisherBase.
|
overrideprotectedvirtual |
Initializes constant CIGI packet fields that do not change over time.
Called once by the base publisher; sets up celestial body enable flags, star intensity, and marks the date/time fields as valid.
Reimplemented from makVre::DtCigiPublisherBase.
|
overrideprotectedvirtual |
Updates dynamic CIGI date/time and ephemeris fields before sending.
When the publisher is dirty, this method updates the CIGI packet with the current simulation UTC date and time and controls whether the image generator advances time based on the simulation play/pause state.
Reimplemented from makVre::DtCigiPublisherBase.
|
protected |
Locally tracked simulation time in seconds based on accumulated dt.
Referenced by DtCigiTimePublisher().
|
protected |
Maximum allowed deviation between tracked and actual sim time (seconds).
Referenced by DtCigiTimePublisher().