![]() |
VR-Forces Developer's Guide
|
This is the complete list of members for DtPhysicalWorld, including all inherited members.
| addInitialLosChecks() | DtPhysicalWorld | protectedvirtual |
| addLineOfSightTest(const DtLosTestKey &, DtVrfLineOfSightFunctorSP losTest) | DtPhysicalWorld | virtual |
| addPostLoadParametersCallback(DtNoArgumentCallbackList::DtCallbackFunctionType fcn, void *usrData) | DtPhysicalWorld | virtual |
| addPreLoadParametersCallback(DtNoArgumentCallbackList::DtCallbackFunctionType fcn, void *usrData) | DtPhysicalWorld | virtual |
| allIntersectsAlongChord(const DtChord &chord, DtVrfChordIntersectRecordList &intList, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| calcSpatialMgrResolution(const DtManagedObjectListConstPtr &vrfObjList) | DtPhysicalWorld | virtual |
| canBlockLineOfSight(const DtSimObject *object, void *usr) | DtPhysicalWorld | protectedstatic |
| checkLineOfFire(const DtSimObject &viewingObject, const DtVector &databaseViewingPoint, const DtSimObject &targetObject, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, double *normIntersectDistance=0, const DtSimObject **intersectObject=0, DtVector *intersectingPoint=0, int *ignoredForceType=0) const | DtPhysicalWorld | virtual |
| checkLineOfFire(const DtSimObject &viewingObject, const DtVector &databaseViewingPoint, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, double *normIntersectDistance=0, const DtSimObject **intersectionObject=0, DtVector *intersectingPoint=0, int *ignoredForceType=0) const | DtPhysicalWorld | virtual |
| checkLineOfFire(const DtVector &databaseViewingPoint, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, double *normIntersectDistance=0, const DtSimObject **intersectionObject=0, DtVector *intersectingPoint=0, int *ignoredForceType=0) const | DtPhysicalWorld | virtual |
| checkLineOfFire(const DtLocalObject &viewingObject, const DtVector &databaseViewingPoint, const DtLocalObject &targetObject, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, double *normIntersectDistance=0, const DtSimObject **intersectObject=0, DtVector *intersectingPoint=0, int *ignoredForceType=0) const | DtPhysicalWorld | |
| checkLineOfFire(const DtLocalObject &viewingObject, const DtVector &databaseViewingPoint, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, double *normIntersectDistance=0, const DtSimObject **intersectionObject=0, DtVector *intersectingPoint=0, int *ignoredForceType=0) const | DtPhysicalWorld | |
| checkLineOfFireWithoutObjects(const DtVector &databaseViewingPoint, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, double *normIntersectDistance=0, const DtSimObject **intersectionObject=0, DtVector *intersectingPoint=0) const | DtPhysicalWorld | virtual |
| checkLineOfSight(const DtSimObject &viewingObject, const DtVector &databaseViewingPoint, const DtSimObject &targetObject, bool *terrainDataAvailable=0, DtCheckLineOfSightOptions options=DtCheckLineOfSightOptions()) const | DtPhysicalWorld | virtual |
| checkLineOfSight(const DtSimObject &viewingObject, const DtVector &databaseViewingPoint, const DtVector &databaseTargetPoint, bool *terrainDataAvailable=0, DtCheckLineOfSightOptions options=DtCheckLineOfSightOptions()) const | DtPhysicalWorld | virtual |
| checkLineOfSight(const DtVector &databaseViewingPoint, const DtSimObject &targetObject, bool *terrainDataAvailable=0, DtCheckLineOfSightOptions options=DtCheckLineOfSightOptions()) const | DtPhysicalWorld | virtual |
| checkLineOfSight(const DtLineOfSightTestContainer &losTests, DtVrfLineOfSightCheckParams &losCheckParams) const | DtPhysicalWorld | virtual |
| checkTerrainForLOS(const DtVrfLineOfSightCheckParams &losCheckParams) const | DtPhysicalWorld | protectedvirtual |
| checkVrfObjectsForLOS(const DtVrfLineOfSightCheckParams &losCheckParams) const | DtPhysicalWorld | protectedvirtual |
| closestTerrainLocation(const DtPoint &databaseLocation, DtPoint &intersectionPoint, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| closestTerrainLocation(double lat, double lon, DtPoint &intersectionPoint, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| closestTerrainLocation(const DtVector &databaseLocation, DtPoint &intersectionPoint, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| closestTerrainLocation(const DtPoint &databaseLocation, DtVrfChordIntersectionRecord &record, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| closestTerrainLocation(double lat, double lon, DtVrfChordIntersectionRecord &record, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| closestTerrainLocation(const DtVector &databaseLocation, DtVrfChordIntersectionRecord &record, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| closestTerrainLocation(const DtVector &curPosition, DtVector &intersection, bool ignoreWater, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| coordinateSystem() | DtPhysicalWorld | virtual |
| coordinateSystem() const | DtPhysicalWorld | virtual |
| createParameters() | DtPhysicalWorld | protectedvirtual |
| createSensorSignatureManager() | DtPhysicalWorld | protectedvirtual |
| createWorldIntersectionChord(const DtVector &databaseLocation) const | DtPhysicalWorld | |
| databaseToGeocentric(const DtVector &in, DtVector &out) const | DtPhysicalWorld | virtual |
| databaseToGeocentric(const DtDcm &in, DtDcm &out) const | DtPhysicalWorld | virtual |
| databaseToGeocentric(const DtVector &vIn, const DtDcm &dIn, DtVector &vOut, DtDcm &dOut) const | DtPhysicalWorld | virtual |
| databaseToGeocentric(const DtExtent &in, DtExtent &out) const | DtPhysicalWorld | virtual |
| databaseToGeodetic(const DtVector &databasePosition, DtGeodeticCoord &geodeticPosition) const | DtPhysicalWorld | virtual |
| databaseToGeodetic(const DtVector &databasePosition, DtVector &geodeticPosition) const | DtPhysicalWorld | virtual |
| databaseToGeodetic(const DtExtent &extent, DtExtent &destExtent) const | DtPhysicalWorld | virtual |
| databaseToTopo(const DtVector &databasePosition, DtDcm &databaseToTopo) const | DtPhysicalWorld | virtual |
| doNotPerformTest(DtLineOfSightTestContainer &testContainer, const DtLosTestKey &testToRun) const | DtPhysicalWorld | protectedvirtual |
| doNotPerformTest(DtLineOfSightTestContainer &testContainer, DtVrfLineOfSightFunctorSP losTest) const | DtPhysicalWorld | protectedvirtual |
| down(const DtVector &databasePosition) const | DtPhysicalWorld | virtual |
| DtKeyedLineOfSightTestContainer typedef | DtPhysicalWorld | protected |
| DtLineOfSightTestContainer typedef | DtPhysicalWorld | |
| DtLosTestConstIter typedef | DtPhysicalWorld | protected |
| DtLosTestIter typedef | DtPhysicalWorld | protected |
| DtLosTestKey typedef | DtPhysicalWorld | |
| DtMasterLosTestConstIter typedef | DtPhysicalWorld | protected |
| DtMasterLosTestIter typedef | DtPhysicalWorld | protected |
| DtPhysicalWorld(DtSimulationServices *simManager, DtLocalObjectManager *) | DtPhysicalWorld | |
| DtPhysicalWorld(const DtPhysicalWorld &orig) | DtPhysicalWorld | private |
| DtVrfConstObjectUniqueContainer typedef | DtPhysicalWorld | |
| dynamicObjectFeatures() const | DtPhysicalWorld | virtual |
| dynamicTerrainManager() | DtPhysicalWorld | virtual |
| dynamicTerrainManager() const | DtPhysicalWorld | virtual |
| embarkedOnSameLowFidelityObject(const DtSimObject &primaryVrfObject, const DtSimObject &secondaryVrfObject) const | DtPhysicalWorld | virtual |
| entityTypesIgnoredForLosChecks() const | DtPhysicalWorld | protected |
| environmentalStateManager() | DtPhysicalWorld | virtual |
| environmentalStateManager() const | DtPhysicalWorld | virtual |
| expireDataLoadRequestsBeforeTime(const double &time) | DtPhysicalWorld | virtual |
| geocentricToDatabase(const DtVector &in, DtVector &out) const | DtPhysicalWorld | virtual |
| geocentricToDatabase(const DtDcm &in, DtDcm &out) const | DtPhysicalWorld | virtual |
| geocentricToDatabase(const DtVector &vIn, const DtDcm &dIn, DtVector &vOut, DtDcm &dOut) const | DtPhysicalWorld | virtual |
| geocentricToDatabase(const DtExtent &in, DtExtent &out) const | DtPhysicalWorld | virtual |
| geodeticToDatabase(const DtExtent &extent, DtExtent &destExtent) const | DtPhysicalWorld | virtual |
| geodeticToDatabase(const DtGeodeticCoord &geodeticPosition, DtVector &databasePosition) const | DtPhysicalWorld | virtual |
| geodeticToDatabase(const DtVector &geodeticPosition, DtVector &databasePosition) const | DtPhysicalWorld | virtual |
| getSpatiallyManagedVrfObjectList() | DtPhysicalWorld | virtual |
| getSpatialOrganizationPredicate() | DtPhysicalWorld | virtual |
| getVrfObjects(const DtExtent &extent, DtVrfConstObjectUniqueContainer &objects) const | DtPhysicalWorld | |
| getVrfObjects(const DtVrfObjectPredicate &predicate, const DtExtent &extent, DtVrfConstObjectUniqueContainer &objects) const | DtPhysicalWorld | |
| getVrfObjects(const DtChord &chord, std::vector< const DtSimObject * > &objects) const | DtPhysicalWorld | |
| getVrfObjects(const DtVrfObjectPredicate &predicate, const DtChord &chord, std::vector< const DtSimObject * > &objects) const | DtPhysicalWorld | |
| getVrfObjectsAlongChord(const DtVector &databaseStart, const DtVector &databaseEnd, std::vector< const DtSimObject * > &orderedList) const | DtPhysicalWorld | virtual |
| groundClamp(DtPoint &databaseCoord, float const offset, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| groundClamp(DtVector &databaseCoord, float const offset, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| initialize() | DtPhysicalWorld | virtual |
| initializeSpatialVrfObjectOrganization() | DtPhysicalWorld | virtual |
| intersect(const DtChord &chord, DtPoint &intersectionPoint, double &intersectionTime, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| intersect(const DtChord &chord, DtVrfChordIntersectionRecord &record, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| intersectEntityBvPlanes(const DtChord &losChord, const DtSimObject *blockingObj, const bool isObserverBlocked, const DtVector &targetLocation, double &interxTime, DtVector &interxNormal) const | DtPhysicalWorld | protectedvirtual |
| intersectsVrfObject(const DtSimObject &vrfObjectToTest, const DtVector &databaseStartPoint, const DtVector &databaseEndPoint, double &distToIntersect, DtVector *surfaceNormal=0) const | DtPhysicalWorld | virtual |
| IntersectVrfObjectFunctor class | DtPhysicalWorld | friend |
| intersectVrfObjects(const DtSimObject *const primaryVrfObject, const DtVector &databaseStartPoint, const DtSimObject *const secondaryVrfObject, const DtVector &databaseEndPoint, double &interxTime, const DtSimObject **intersectedObject=0, DtVector *intersectNormal=0, const std::list< DtUUID > &ignoreList=std::list< DtUUID >(), int *ignoredForceType=0, const std::list< DtEntityType > &ignoredEntityTypes=std::list< DtEntityType >()) const | DtPhysicalWorld | virtual |
| intersectVrfObjects(const DtSimObject *const primaryVrfObject, const DtVector &databaseStartPoint, const DtVector &databaseEndPoint, double &interxTime, const DtSimObject **intersectedObject=0, DtVector *intersectNormal=0, const std::list< DtUUID > &ignoreList=std::list< DtUUID >(), int *ignoredForceType=0, const std::list< DtEntityType > &ignoredEntityTypes=std::list< DtEntityType >()) const | DtPhysicalWorld | virtual |
| isSpatialMgrResolutionUserSpecified() const | DtPhysicalWorld | virtual |
| isValidState() const | DtPhysicalWorld | virtual |
| lineOfSightTest(const DtLosTestKey &) const | DtPhysicalWorld | virtual |
| lineOfSightTestsToPerform() const | DtPhysicalWorld | inline |
| loadParametersFromFile(const DtFilename &filename) | DtPhysicalWorld | virtual |
| loadPhysicalWorldFile(const DtFilename &filename) | DtPhysicalWorld | virtual |
| localLineOfSightTestLocation(const DtSimObject &object) const | DtPhysicalWorld | protectedvirtual |
| magneticNorth(const DtSimObject *obj) | DtPhysicalWorld | virtual |
| magneticNorth(const DtVector &point) | DtPhysicalWorld | virtual |
| myDynamicObjectFeatures | DtPhysicalWorld | protected |
| myDynamicTerrainManager | DtPhysicalWorld | protected |
| myEntityTypesIgnoredForLosChecks | DtPhysicalWorld | protected |
| myEnvironmentalStateManager | DtPhysicalWorld | protected |
| myExpireOlderThanCommand | DtPhysicalWorld | protected |
| myLastPreloadTerrainTime | DtPhysicalWorld | protected |
| myLineOfSightTestsToPerform | DtPhysicalWorld | protected |
| myMasterLineOfSightTestContainer | DtPhysicalWorld | protected |
| myObjectManager | DtPhysicalWorld | protected |
| myParameters | DtPhysicalWorld | protected |
| myPhysicalWorldFile | DtPhysicalWorld | protected |
| myPostLoadParametersCallbacks | DtPhysicalWorld | protected |
| myPreLoadParametersCallbacks | DtPhysicalWorld | protected |
| mySensorSignatureManager | DtPhysicalWorld | protected |
| mySimObjectDeletedConnection | DtPhysicalWorld | protected |
| mySimulationServices | DtPhysicalWorld | protected |
| mySoilTypeLookupQueue | DtPhysicalWorld | protected |
| mySpatiallyManagedVrfObjectList | DtPhysicalWorld | protected |
| mySpatialMgrResolutionUserSpecified | DtPhysicalWorld | protected |
| mySpatialVrfObjectManager | DtPhysicalWorld | protected |
| myTerrainInterface | DtPhysicalWorld | protected |
| myUseVrfObjectSpatialManager | DtPhysicalWorld | protected |
| myVrfObjectSpatialSubXResolution | DtPhysicalWorld | protected |
| myVrfObjectSpatialSubYResolution | DtPhysicalWorld | protected |
| myVrfObjectSpatialSubZResolution | DtPhysicalWorld | protected |
| myWMM | DtPhysicalWorld | protected |
| objectManager() | DtPhysicalWorld | |
| operator=(const DtPhysicalWorld &orig) | DtPhysicalWorld | private |
| parameters() | DtPhysicalWorld | virtual |
| parameters() const | DtPhysicalWorld | virtual |
| parametersLoaded() const | DtPhysicalWorld | virtual |
| performTerrainPreload() | DtPhysicalWorld | protectedvirtual |
| performTest(const DtLosTestKey &testToRun) | DtPhysicalWorld | protectedvirtual |
| physicalWorldFile() const | DtPhysicalWorld | inline |
| processObjectDeleted(DtSimObjectReference) | DtPhysicalWorld | protectedvirtual |
| processParameters() | DtPhysicalWorld | virtual |
| processQuerySpatialSubdivisionConfiguration(DtSimMessage *msg) | DtPhysicalWorld | virtual |
| processSetSpatialSubdivisionConfiguration(DtSimMessage *msg) | DtPhysicalWorld | virtual |
| processSpatialOrganizationObjectFilterFcn(const DtSimObject *obj) | DtPhysicalWorld | virtual |
| querySpatialSubdivisionConfigurationCallback(DtSimMessage *msg, void *usr) | DtPhysicalWorld | static |
| reinitialize() | DtPhysicalWorld | virtual |
| removeLineOfSightTest(const DtLosTestKey &testKey) | DtPhysicalWorld | virtual |
| removePostLoadParametersCallback(DtNoArgumentCallbackList::DtCallbackFunctionType fcn, void *usrData) | DtPhysicalWorld | virtual |
| removePreLoadParametersCallback(DtNoArgumentCallbackList::DtCallbackFunctionType fcn, void *usrData) | DtPhysicalWorld | virtual |
| requestSensorDomainsCallback(DtSimMessage *msg, void *usr) | DtPhysicalWorld | static |
| reset() | DtPhysicalWorld | virtual |
| sendSensorDomains() | DtPhysicalWorld | virtual |
| sensorSignatureManager() | DtPhysicalWorld | virtual |
| sensorSignatureManager() const | DtPhysicalWorld | virtual |
| setDefaultLineOfSightTestOrder(const DtRwNLengthStringVector &lineOfSightTestsAndOrder) | DtPhysicalWorld | protectedvirtual |
| setDynamicTerrainManager(DtDynamicTerrainManager *manager) | DtPhysicalWorld | virtual |
| setEnvironmentalStateManager(DtEnvironmentalStateManager *manager) | DtPhysicalWorld | virtual |
| setLineOfSightTestOrder(const DtRwNLengthStringVector &lineOfSightTestsAndOrder) | DtPhysicalWorld | protectedvirtual |
| setSpatialMgrResolutionUserSpecified(bool yesOrNo) | DtPhysicalWorld | virtual |
| setSpatialSubdivisionConfigurationCallback(DtSimMessage *msg, void *usr) | DtPhysicalWorld | static |
| setSpatialVrfObjectManager(DtSpatialVrfObjectManagerInterface *newSpatialVrfObjectMgr) | DtPhysicalWorld | protectedvirtual |
| setTerrainInterface(DtTerrainInterface *newTerrainDatabase) | DtPhysicalWorld | virtual |
| setUseVrfObjectSpatialSub(bool yesOrNo) | DtPhysicalWorld | virtual |
| setVrfObjectSpatialSubXResolution(unsigned int newXResolution) | DtPhysicalWorld | virtual |
| setVrfObjectSpatialSubYResolution(unsigned int newYResolution) | DtPhysicalWorld | virtual |
| setVrfObjectSpatialSubZResolution(unsigned int newZResolution) | DtPhysicalWorld | virtual |
| simManager() | DtPhysicalWorld | |
| simManager() const | DtPhysicalWorld | |
| simulationServices() const | DtPhysicalWorld | virtual |
| simulationServices() | DtPhysicalWorld | virtual |
| spatialOrganizationObjectFilterFcn(const DtSimObject *obj, void *usr) | DtPhysicalWorld | static |
| spatialVrfObjectManager() | DtPhysicalWorld | protectedvirtual |
| spatialVrfObjectManager() const | DtPhysicalWorld | protectedvirtual |
| terrainHeight(const DtPoint &databaseLocation, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeight(double lat, double lon, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeight(const DtVector &databaseLocation, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeight(const DtPoint &databaseLocation, double &height, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeight(double lat, double lon, double &height, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeight(const DtVector &databaseLocation, double &height, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeightAndSurface(const DtPoint &databaseLocation, double &height, DtSurface &surface, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeightAndSurface(double lat, double lon, double &height, DtSurface &surface, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeightAndSurface(const DtVector &databaseLocation, double &height, DtSurface &surface, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeightAndSurface(const DtVector &databaseLocation, double &heightAtLocation, DtVrfChordIntersectionRecord &intersectionRec, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeightAndSurfaceBelow(const DtVector &databaseLocation, double &heightAtLocation, DtSurface &surfaceAtLocation, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainHeightUnderWater(const DtVector &databaseLocation, double &groundHeight, DtSurface &groundSurface, DtVector &groundNormal, double &waterHeight, DtSurface::DtMedium &topSurfaceMedium, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) | DtPhysicalWorld | virtual |
| terrainInterface() | DtPhysicalWorld | virtual |
| terrainInterface() const | DtPhysicalWorld | virtual |
| terrainSurface(const DtPoint &databaseLocation, DtSurface &surface, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainSurface(double lat, double lon, DtSurface &surface, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| terrainSurface(const DtVector &databaseLocation, DtSurface &surfaceAtLocation, DtTerrainIntersectStatus &status, const DtTerrainIntersectOptions &options) const | DtPhysicalWorld | virtual |
| testInvariant() const | DtPhysicalWorld | protected |
| thermoclinePermeability(const DtPoint &startPoint, const DtPoint &endPoint) const | DtPhysicalWorld | virtual |
| tick() | DtPhysicalWorld | virtual |
| tickDynamicTerrainManager(DtVrfCallbackQueue *) | DtPhysicalWorld | virtual |
| topoToDatabase(const DtVector &databasePosition, DtDcm &topoToDatabase) const | DtPhysicalWorld | virtual |
| useVrfObjectSpatialSub() const | DtPhysicalWorld | virtual |
| visitVrfObjects(const DtExtent &extent, class DtSpatialSelectionFunctor &callback) const | DtPhysicalWorld | |
| visitVrfObjects(const DtChord &chord, class DtSpatialSelectionFunctor &callback) const | DtPhysicalWorld | |
| vrfObjectSpatialSubXResolution() const | DtPhysicalWorld | virtual |
| vrfObjectSpatialSubYResolution() const | DtPhysicalWorld | virtual |
| vrfObjectSpatialSubZResolution() const | DtPhysicalWorld | virtual |
| ~DtPhysicalWorld() | DtPhysicalWorld | virtual |