VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrf::DtVrfAttachableEntityFanUpdater Class Reference

Overide that adds the ability to request information from the back-end for Fan checks. More...

Inheritance diagram for makVrf::DtVrfAttachableEntityFanUpdater:
Inheritance graph
[legend]

Public Member Functions

 DtVrfAttachableEntityFanUpdater (makVrv::DtDe &de, makVrv::DtElementID id)
 
virtual ~DtVrfAttachableEntityFanUpdater ()
 
- Public Member Functions inherited from makVrv::DtAttachableEntityFanUpdater
 DtAttachableEntityFanUpdater (DtDe &de, DtElementID id)
 CTOR. More...
 
virtual ~DtAttachableEntityFanUpdater ()
 DTOR. More...
 
virtual void setEllipseAgent (DtOverlayEllipseArcModelAgent *)
 Sets the agent used to draw the circle. More...
 
virtual void setEllipseAgent (DtExtrudedEllipseModelAgent *)
 
virtual void setMultiLineModelAgent (DtMultiLineModelAgent *)
 Sets the agent used to draw the lines between the center and the entities in the circle. More...
 
virtual void setSceneObjectAgent (DtSceneObjectAgent *)
 Sets the agent used to manage scene objects. More...
 
virtual void setMultilineSceneObjectAgent (DtSceneObjectAgent *)
 
- Public Member Functions inherited from makVrv::DtAttachableIntervisibilityUpdater
 DtAttachableIntervisibilityUpdater (DtDe &de, DtElementID id)
 CTOR. More...
 
virtual ~DtAttachableIntervisibilityUpdater ()
 DTOR. More...
 
virtual void setFixedDistance (bool)
 If true, sets the end point to be a fixed distance (given the current distance) from the start point, if the start points moves and the end point is not attached. More...
 
- Public Member Functions inherited from makVrv::DtLineModelUpdater
 DtLineModelUpdater (DtDe &de, DtElementID id)
 CTOR. More...
 
virtual ~DtLineModelUpdater ()
 DTOR. More...
 
virtual void setStartPoint (const DtVector &position)
 Sets the origin of the line (absolute) More...
 
virtual void attachStartPoint (DtElementID id)
 Sets the origin of the line to be attached to an element. More...
 
virtual void setStartPointOffset (const DtVector &offset)
 Sets the offset of the start attach point. More...
 
virtual void setEndPoint (const DtVector &position)
 Sets the end of the Intervisibility line (absolute) More...
 
virtual void attachEndPoint (DtElementID id)
 Sets the end of the line to be attached to an element. More...
 
virtual void setEndPointOffset (const DtVector &offset)
 Sets the offset of the end attach point. More...
 
virtual DtVector calculateStartPoint ()
 Accessor for the origin of the line. More...
 
virtual DtVector calculateEndPoint ()
 Accessor for the end point of the line. More...
 
virtual void setSceneObject (DtSceneObject *sceneObject)
 Override to set model set to use for intersections. More...
 
- Public Member Functions inherited from makVrv::DtAttachableUpdater
 DtAttachableUpdater (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtAttachableUpdater ()
 DTOR. More...
 
virtual bool needsUpdate (DtTime tNow)
 Does this updater need to update? More...
 
virtual void addAttachedPoint (const DtVector &position, int targetVertexIndex)
 Add a (vertex) attach point. More...
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int targetVertexIndex)
 Add a (object) attach point. More...
 
virtual void addAttachedPoint (DtUniqueID uniqueID, int vtx1, int vtx2, double proportion, int targetVertexIndex)
 Add a (linear) attach point. More...
 
virtual const AttachedPointattachedPoint (int targetVertexIndex) const
 Returns the attached point at the given vertex. More...
 
virtual void setPositionOffset (const DtVector &offset)
 positionally offset the attach points by this amount. More...
 
virtual void setWorldPositionOffset (const DtVector &offset)
 positionally offset the specific attach point by this amount in world (database) coordinates. More...
 
virtual void setPositionOffset (const DtVector &offset, int vtx)
 positionally offset the specific attach point by this amount. More...
 
virtual void setOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount. More...
 
virtual void setWorldOrientationOffset (const DtTaitBryan &offset)
 rotationally offset the attach points by this amount in world (database) coordinates More...
 
virtual void setAttachedPointMode (unsigned int mode, int vtx)
 Set whether an attached point updates position, orientation, or both. More...
 
virtual void doAttachment (DtTime tNow)
 Find the actual position and orientation based on the attach points and offsets. More...
 
DtTime lastUpdateTime () const
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 Calls needsUpdate(), and then calls update() if needsUpdate() is true. More...
 
virtual ~DtTickable ()
 Virtual DTOR. More...
 
virtual void setIsThreadSafe (bool safe)
 Get/set whether this tickable can be updated in parallel with other tickables. More...
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 Track which tickable list (if any) this tickable is on Since the tickable constructor puts ALL tickables on the main (unThreadSafe) to start we need a way to check which list a tickable is on (and this way we can request removals from the correct list instead of having to call DtTickableManager::removeTickableObject(), which tries both lists). More...
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update. More...
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 is the update LOD system enabled, overridden by subclasses More...
 
- Public Member Functions inherited from makVrf::DtBackendIntervisibilityChecker
 DtBackendIntervisibilityChecker (makVrv::DtDe &, const std::string &type)
 
virtual ~DtBackendIntervisibilityChecker ()
 
virtual const IntersectionPointsintersections () const
 

Protected Member Functions

virtual bool doIntersection ()
 Does intersection if points have changed. Returns true if something has changed. More...
 
virtual void requestLineOfSightCheck (const DtVector &start, const DtVector &end)
 
virtual void update (DtTime tNow)
 Sees if inter-visibility needs to be recalculated, and, if so recalculates and sets all associated lines. More...
 
virtual makVrv::DtUniqueID lineOfSightKey () const
 Returns a unique identifier that can be used for this line of sight check. More...
 
virtual void slot_optionsChanged (makVrv::DtUniqueID, DtVrfExtendedIntervisibilitySettingsData::IntervisibilitySettings)
 
virtual void setEntityFanUpdateRate (double d)
 
virtual bool internalDoIntersection (bool &anythingChanged)
 
virtual void sceneObjectRemoved (makVrv::DtUniqueID sceneObjectId)
 Called when a scene object is removed, remove it as an element. More...
 
virtual void updateIntersections ()
 
- Protected Member Functions inherited from makVrv::DtAttachableEntityFanUpdater
virtual void updateSceneObject (DtTime tNow)
 
virtual void update ()
 Calls update with current de sim time. More...
 
virtual bool removeElement (DtElementID id)
 Removes the element from the intersections list, if it exists. More...
 
virtual bool isIntersectableObject (const DtElementEntry &) const
 Returns true if the object should be checked for intersection. More...
 
- Protected Member Functions inherited from makVrv::DtAttachableIntervisibilityUpdater
virtual double calculateDistance (const DtVector &start, const DtVector &end, DtVector *circleOrigin=0) const
 Calculates distance based on topo coordinates in 3 dimensions. More...
 
virtual void calculateFixedDistance ()
 Calculates the distance from the start to end point and assigns to myFixedDistance member. More...
 
virtual DtVector fixedDistanceFrom (const DtVector &start, const DtVector &end, double heading, double distance) const
 Given a heading and distance, returns a fixed distance from the start point with altitude clamped at the new ground location. More...
 
virtual double calculateHeading (const DtVector &start, const DtVector &end) const
 Calculates topographic heading from start to end point. More...
 
virtual DtVector clamp (const DtVector &pt) const
 Returns the ground clamped position. More...
 
- Protected Member Functions inherited from makVrv::DtLineModelUpdater
virtual void cleanup (PointInformation &pointInfo)
 Cleans up (resets) information for given point. More...
 
virtual DtVector offsetPoint (const DtVector &point, const DtVector &offset, const DtTaitBryan &rootOri=DtTaitBryan()) const
 Offsets the given point and returns new position Applies the given offset to the input point at the given orientation. More...
 
virtual DtVector getAttachedPosition (PointInformation &pointInfo)
 Gets the attached position of the given point Attempts to get and return the attached position of the given point, and returns pointInfo.position if obtaining the attached scene object or updater failed. More...
 
virtual DtTaitBryan getAttachedOrientation (PointInformation &pointInfo)
 Gets the attached orientation of the given point Attempts to get and return the attached orientation of the given point, and returns DtTaitBryan() if obtaining the attached scene object failed. More...
 
virtual void getSceneInformation (const PointInformation &info, DtUniqueID &sceneId)
 Gets the id of the attached element to use for positioning. More...
 
virtual void slot_attachedSceneObjectToBeDeleted (DtUniqueID, PointInformation *)
 Called when scene object that this item is attached to is to be deleted. More...
 
virtual void slot_attachedUpdaterToBeDeleted (DtUniqueID, PointInformation *)
 Called when updater of attached scene object is to be deleted. More...
 
- Protected Member Functions inherited from makVrv::DtAttachableUpdater
virtual bool pointLocationAndOrientation (AttachedPoint *point, double simTime, DtVector &location, DtTaitBryan &orientation)
 
virtual void removeAttachedPoint (int vtx, DtVector *positionOffset=0)
 Returns current position offset in supplied pointer. More...
 
virtual void slot_sceneObjectToBeDeleted (const DtUniqueID &id)
 
virtual void slot_attachedSceneObjectToBeDeleted (const DtUniqueID &)
 
virtual void slot_attachedUpdaterToBeDeleted (const DtUniqueID &id)
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR. More...
 
 DtTickable ()
 Unimplemented default CTOR. More...
 
virtual void slot_managerAboutToBeDeleted ()
 
- Protected Member Functions inherited from makVrf::DtBackendIntervisibilityChecker
virtual bool canCheckBackend () const
 
virtual bool needsRequestForBackendLineOfSight (const DtVector &startPoint, const DtVector &endPoint, bool *retStartingTimeRequest=0, bool useRegardlessOfBackendStatus=false)
 
virtual bool backendUpdateReady ()
 
virtual void processLineOfSightResponse (makVrv::DtUniqueID, const DtIfIntersectionInformationResponse::IntersectionPairInformation &)
 
virtual void processedBackendData ()
 
virtual bool shouldWaitForServer () const
 

Protected Attributes

double myTimeSinceLastUpdate
 
DtTimedSection myUpdateTimer
 
bool myModelSetDiscovered
 
- Protected Attributes inherited from makVrv::DtAttachableEntityFanUpdater
Intersections myIntersections
 
double myEntityFanUpdateRate
 
bool myForceUpdate
 
double myLastRadius
 
DtOverlayEllipseArcModelAgent * my2DEllipseAgent
 
DtExtrudedEllipseModelAgent * my3DEllipseAgent
 
DtMultiLineModelAgent * myMultiLineModelAgent
 
DtSceneObjectAgent * mySceneObjectAgent
 
DtSceneObjectAgent * myMultilineSceneObjectAgent
 
DtSignalConnectionManager mySignalConnectionManager
 
- Protected Attributes inherited from makVrv::DtAttachableIntervisibilityUpdater
IntersectionInformation myIntersectionInformation
 
bool myFixDistance
 
double myFixedDistance
 
double myFixedHeading
 
- Protected Attributes inherited from makVrv::DtLineModelUpdater
PointInformation myStartPoint
 
PointInformation myEndPoint
 
- Protected Attributes inherited from makVrv::DtAttachableUpdater
DtDemyDe
 The display engine. More...
 
DtUniqueID myUniqueId
 This distributed object's unique identifier. More...
 
DtSceneObjectmySceneObject
 A pointer to the current scene object being updated. More...
 
boost::signalslib::connection mySceneObjectConnection
 
boost::signalslib::connection mySceneObjectUpdaterConnection
 
DtTime myLastUpdateTime
 The last time stamp when the update() More...
 
AttachedPointsVector myAttachedPoints
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
DtVector myWorldPositionOffset
 
DtTaitBryan myWorldOrientationOffset
 
DtUniqueID mySceneObjectId
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction. More...
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 
- Protected Attributes inherited from makVrf::DtBackendIntervisibilityChecker
makVrv::DtDemyCheckerDe
 
makVrv::DtSignalConnectionManager myCheckerConnections
 
DtVrfExtendedIntervisibilitySettingsData::IntervisibilitySettings myIntersectionSettings
 
bool myBackendUpdateReady
 
DtBackendLineOfSightManagermyLineOfSightManager
 
bool myOptionsChanged
 
IntersectionPoints myIntersectionPoints
 
makVrv::DtUniqueID myLineOfSightId
 

Additional Inherited Members

- Public Types inherited from makVrv::DtAttachableUpdater
enum  AttachedPointType {
  AttachedPointTypeVertex, AttachedPointTypeObject, AttachedPointTypeProportional, AttachedPointTypeDeprecatedObject,
  AttachedPointTypeInvalidObject
}
 Types of attachments. More...
 
enum  AttachedPointMode { AttachedPointModePositionAndOrientation, AttachedPointModePositionOnly, AttachedPointModeOrientationOnly }
 
- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 Enumeration used to indicate which DtTickableManager's tickable list the tickable is on, if any. More...
 
- Public Types inherited from makVrf::DtBackendIntervisibilityChecker
typedef std::vector
< IntersectionPoint
IntersectionPoints
 
- Protected Types inherited from makVrv::DtAttachableEntityFanUpdater
typedef boost::unordered_map
< DtElementID,
EntityFanIntersectionInformation
Intersections
 Map type for mapping entity ids to entity fan intersection info. More...
 
- Protected Types inherited from makVrv::DtAttachableUpdater
typedef std::vector
< AttachedPoint * > 
AttachedPointsVector
 

Detailed Description

Overide that adds the ability to request information from the back-end for Fan checks.

Constructor & Destructor Documentation

makVrf::DtVrfAttachableEntityFanUpdater::DtVrfAttachableEntityFanUpdater ( makVrv::DtDe de,
makVrv::DtElementID  id 
)
virtual makVrf::DtVrfAttachableEntityFanUpdater::~DtVrfAttachableEntityFanUpdater ( )
virtual

Member Function Documentation

virtual bool makVrf::DtVrfAttachableEntityFanUpdater::doIntersection ( )
protectedvirtual

Does intersection if points have changed. Returns true if something has changed.

Reimplemented from makVrv::DtAttachableEntityFanUpdater.

virtual void makVrf::DtVrfAttachableEntityFanUpdater::requestLineOfSightCheck ( const DtVector start,
const DtVector end 
)
protectedvirtual
virtual void makVrf::DtVrfAttachableEntityFanUpdater::update ( DtTime  tNow)
protectedvirtual

Sees if inter-visibility needs to be recalculated, and, if so recalculates and sets all associated lines.

Reimplemented from makVrv::DtAttachableEntityFanUpdater.

virtual makVrv::DtUniqueID makVrf::DtVrfAttachableEntityFanUpdater::lineOfSightKey ( ) const
protectedvirtual

Returns a unique identifier that can be used for this line of sight check.

Note this can be shared amongst intervisibility objects that represent the same object, but maybe in different views (PVD, Stealth, etc)

Implements makVrf::DtBackendIntervisibilityChecker.

virtual void makVrf::DtVrfAttachableEntityFanUpdater::slot_optionsChanged ( makVrv::DtUniqueID  ,
DtVrfExtendedIntervisibilitySettingsData::IntervisibilitySettings   
)
protectedvirtual
virtual void makVrf::DtVrfAttachableEntityFanUpdater::setEntityFanUpdateRate ( double  d)
protectedvirtual
virtual bool makVrf::DtVrfAttachableEntityFanUpdater::internalDoIntersection ( bool anythingChanged)
protectedvirtual
virtual void makVrf::DtVrfAttachableEntityFanUpdater::sceneObjectRemoved ( makVrv::DtUniqueID  )
protectedvirtual

Called when a scene object is removed, remove it as an element.

Reimplemented from makVrv::DtAttachableEntityFanUpdater.

virtual void makVrf::DtVrfAttachableEntityFanUpdater::updateIntersections ( )
protectedvirtual

Member Data Documentation

double makVrf::DtVrfAttachableEntityFanUpdater::myTimeSinceLastUpdate
protected
DtTimedSection makVrf::DtVrfAttachableEntityFanUpdater::myUpdateTimer
protected
bool makVrf::DtVrfAttachableEntityFanUpdater::myModelSetDiscovered
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)