![]() |
VR-Forces 5.0.1 Developer's Guide
|

Additional Inherited Members | |
Public Types inherited from makVrv::DtIntersector | |
| enum | IntersectProperties { AllNodes = 0, PickableNodes = 1, SupportNodes = 2, NodesThatReceivesShadows = 4, NodesThatCastsShadows = 8, OsgEarthTerrainSkin = 16, TerrainPatchInsetNotOsgEarth = 32 } |
| enum | DynamicOceanProperties { DynamicOceanPropertyMsl = 0, DynamicOceanPropertyWaves = 1, DynamicOceanPropertyIgnore = 2 } |
| typedef std::vector < DtIntersectorResult > | DtIntersections |
Protected Attributes inherited from makVrv::DtIntersector | |
| DtDe & | myDe |
| DynamicOceanProperties | myDynamicOceanProperties |
| CachedPick | myLastPick |
| bool | myLastPickSucceeded |
| DtIntersectorResult | myLastResult |
| double | myDefaultMaxClamp |
| const int | myModelSet |
|
inline |
|
inlinevirtual |
|
inlineoverridevirtual |
Find the nearest scene intersection from a point (x,y,z) along a vector(vx,vy,vz) The useHighLod argument tells the intersector that if the terrain is an osgEarth terrain, don't settle for whatever is paged in; get the highest LOD from the map server for this location and use that Note that if maxIsectorLength is not set, the default is the diameter of the database, which for large (and especially geocentric) databases and world databases, may be too large to get adequate precision when trying to interect small (high resolution) triangles. It is recommended that you set the isector length to something more specific if possible, like the altitude of the observer + a constant, for example; or, for osgEarth databases, useHighLod=true, which will also eliminate the problem.
| false | if no intersection was found (and the isect record is NOT set). |
Implements makVrv::DtIntersector.
|
inlineoverridevirtual |
Return a list of all intersections along the line passing through <x,y,z> and directed by <vx, vy, vz> The useHighLod argument tells the intersector that if the terrain is an osgEarth terrain, don't settle for whatever is paged in; get the highest LOD from the map server for this location and use that.
| false | if no intersection was found (and the isect record list has size 0). |
Implements makVrv::DtIntersector.
|
inlineoverridevirtual |
find first intersection along segment x,y,z to end_x, end_y, end_z. The useHighLod argument tells the intersector that if the terrain is an osgEarth terrain, don't settle for whatever is paged in; get the highest LOD from the map server for this location and use that
| false | if no intersection was found (and the isect record is NOT set). |
Implements makVrv::DtIntersector.
|
inlineoverridevirtual |
find all intersections along segment x,y,z to end_x, end_y, end_z. The useHighLod argument tells the intersector that if the terrain is an osgEarth terrain, don't settle for whatever is paged in; get the highest LOD from the map server for this location and use that
| false | if no intersection was found (and the isect record list has size 0). |
Implements makVrv::DtIntersector.
|
inlineoverridevirtual |
Find the object (if any) under the mouse mx, my are in window coordinates; cx, cy, cz are returned in database coordinates.
| false | if no intersection was found (and the isect record is NOT set). |
Implements makVrv::DtIntersector.
|
inlineoverridevirtual |
Find all the objects (if any) under the mouse mx, my are in window coordinates.
| false | if no intersection was found (and the isect record list has size 0). |
Implements makVrv::DtIntersector.