![]() |
VR-Forces 4.0.4 Class Documentation
|
Class which will keep track of EntityFan los object (spokes between an origin and the outer rim of the circle). More...

Classes | |
| struct | EntityFanIntersectionInformation |
Public Member Functions | |
| DtAttachableEntityFanUpdater (DtDe &de, DtElementID id, bool doNotAddToMgr=false) | |
| CTOR. | |
| virtual | ~DtAttachableEntityFanUpdater () |
| DTOR. | |
| virtual void | setEntityFanUpdateRate (double d) |
| virtual void | setCircleAgent (DtOverlayEllipseArcModelAgent *) |
| Sets the agent used to draw the circle. | |
| virtual void | setCircleAgent (DtExtrudedCircleModelAgent *) |
| virtual void | setMultiLineModelAgent (DtMultiLineModelAgent *) |
| Sets the agent used to draw the lines between the center and the entities in the circle. | |
| virtual void | setSceneObjectAgent (DtSceneObjectAgent *) |
| Sets the agent used to manage scene objects. | |
Protected Types | |
| typedef boost::unordered_map < DtElementID, EntityFanIntersectionInformation > | Intersections |
| Map type for mapping entity ids to entity fan intersection info. | |
Protected Member Functions | |
| virtual void | updateSceneObject () |
| push the results to the scene object. Called by update() | |
| virtual bool | doIntersection () |
| Does intersection if points have changed. Returns true if something has changed. | |
| virtual void | update () |
| Calls update with current de sim time. | |
| virtual void | update (double) |
| Sees if intervisibility needs to be recalculated, and, if so recalculates and sets all associated lines. | |
| virtual bool | removeElement (DtElementID id, bool disconnect=true) |
| Removes the element from the intersections list, if it exists. | |
| virtual void | sceneObjectRemoved (DtUniqueID) |
| Called when a scene object is removed, remove it as an element. | |
| virtual bool | isIntersectableObject (const DtElementEntry &) const |
| Returns true if the object should be checked for intersection. Returns true for entities. | |
Protected Attributes | |
| Intersections | myIntersections |
| double | myEntityFanUpdateRate |
| bool | myForceUpdate |
| double | myLastRadius |
| DtOverlayEllipseArcModelAgent * | my2DCircleAgent |
| DtExtrudedCircleModelAgent * | my3DCircleAgent |
| DtMultiLineModelAgent * | myMultiLineModelAgent |
| DtSceneObjectAgent * | mySceneObjectAgent |
| DtUniqueID | mySceneObjectId |
Class which will keep track of EntityFan los object (spokes between an origin and the outer rim of the circle).
This class is only ever meant to be used in the main thread. It is subclassed from the DtAttachableintervisibilityUpdater only to reuse code from that class. This class intentionally does not have an agent as it cannot be used in a thread-safe way, so, it should only be used in the main thread (as it is currently used from the DtIntervisibilityEntityFanVisualizer).
typedef boost::unordered_map<DtElementID,EntityFanIntersectionInformation> makVrv::DtAttachableEntityFanUpdater::Intersections [protected] |
Map type for mapping entity ids to entity fan intersection info.
| makVrv::DtAttachableEntityFanUpdater::DtAttachableEntityFanUpdater | ( | DtDe & | de, |
| DtElementID | id, | ||
| bool | doNotAddToMgr = false |
||
| ) |
CTOR.
If doNotAddToMgr is true, will hook up callback for postTick on de to to do the update
| virtual makVrv::DtAttachableEntityFanUpdater::~DtAttachableEntityFanUpdater | ( | ) | [virtual] |
DTOR.
| virtual void makVrv::DtAttachableEntityFanUpdater::setEntityFanUpdateRate | ( | double | d | ) | [virtual] |
| virtual void makVrv::DtAttachableEntityFanUpdater::setCircleAgent | ( | DtOverlayEllipseArcModelAgent * | ) | [virtual] |
Sets the agent used to draw the circle.
| virtual void makVrv::DtAttachableEntityFanUpdater::setCircleAgent | ( | DtExtrudedCircleModelAgent * | ) | [virtual] |
| virtual void makVrv::DtAttachableEntityFanUpdater::setMultiLineModelAgent | ( | DtMultiLineModelAgent * | ) | [virtual] |
Sets the agent used to draw the lines between the center and the entities in the circle.
| virtual void makVrv::DtAttachableEntityFanUpdater::setSceneObjectAgent | ( | DtSceneObjectAgent * | ) | [virtual] |
Sets the agent used to manage scene objects.
| virtual void makVrv::DtAttachableEntityFanUpdater::updateSceneObject | ( | ) | [protected, virtual] |
push the results to the scene object. Called by update()
Reimplemented from makVrv::DtAttachableIntervisibilityUpdater.
| virtual bool makVrv::DtAttachableEntityFanUpdater::doIntersection | ( | ) | [protected, virtual] |
Does intersection if points have changed. Returns true if something has changed.
Reimplemented from makVrv::DtAttachableIntervisibilityUpdater.
| virtual void makVrv::DtAttachableEntityFanUpdater::update | ( | ) | [protected, virtual] |
Calls update with current de sim time.
| virtual void makVrv::DtAttachableEntityFanUpdater::update | ( | double | ) | [protected, virtual] |
Sees if intervisibility needs to be recalculated, and, if so recalculates and sets all associated lines.
Reimplemented from makVrv::DtAttachableIntervisibilityUpdater.
| virtual bool makVrv::DtAttachableEntityFanUpdater::removeElement | ( | DtElementID | id, |
| bool | disconnect = true |
||
| ) | [protected, virtual] |
Removes the element from the intersections list, if it exists.
Returns true if removed
| virtual void makVrv::DtAttachableEntityFanUpdater::sceneObjectRemoved | ( | DtUniqueID | ) | [protected, virtual] |
Called when a scene object is removed, remove it as an element.
| virtual bool makVrv::DtAttachableEntityFanUpdater::isIntersectableObject | ( | const DtElementEntry & | ) | const [protected, virtual] |
Returns true if the object should be checked for intersection. Returns true for entities.
double makVrv::DtAttachableEntityFanUpdater::myEntityFanUpdateRate [protected] |
double makVrv::DtAttachableEntityFanUpdater::myLastRadius [protected] |
DtOverlayEllipseArcModelAgent* makVrv::DtAttachableEntityFanUpdater::my2DCircleAgent [protected] |
DtExtrudedCircleModelAgent* makVrv::DtAttachableEntityFanUpdater::my3DCircleAgent [protected] |
DtMultiLineModelAgent* makVrv::DtAttachableEntityFanUpdater::myMultiLineModelAgent [protected] |
DtSceneObjectAgent* makVrv::DtAttachableEntityFanUpdater::mySceneObjectAgent [protected] |