Proximity Visitor More...
#include <LDM/SoLDMProximityVisitor.h>
Public Member Functions | |
SoLDMProximityVisitor () | |
~SoLDMProximityVisitor () | |
virtual float | getCullWeight (float distToScreen) |
virtual float | getSurfaceGeomWeight (float distToGeom, float geometryPriority) |
virtual float | getVolumeGeomWeight (float distToGeom, float geometryPriority) |
virtual float | getROIWeight (int distToROI, float geometryPriority) |
This class is only needed for advanced users who intend to extend or replace internal LDM algorithms.
NOTE: This class does not exist in Open Inventor 10.0 and later.This visitor assigns weight to a tile based on the tile's distance to the geometry and the tile's distance to the ROI associated to the geometry. The tiles are loaded first on the geometry and second by forming a hull around it.
SoLDMProximityVisitor::SoLDMProximityVisitor | ( | ) |
Constructor.
SoLDMProximityVisitor::~SoLDMProximityVisitor | ( | ) |
Destructor.
virtual float SoLDMProximityVisitor::getCullWeight | ( | float | distToScreen | ) | [virtual] |
Assigns a weight based on distance to the center of the screen.
May be overridden by the application. distToScreen is the signed distance from the tile considered to the center of the screen in normalized screen coordinate. This functions is called only if the tile is culled. The returned weight must be between 0 and 1. Default returns 0 always.
Reimplemented from SoLDMTileVisitor.
virtual float SoLDMProximityVisitor::getROIWeight | ( | int | distToROI, | |
float | geometryPriority | |||
) | [virtual] |
Assigns a weight based on distance to ROI.
May be overridden by the application. distToROI is the signed distance from the geometry ROI to a tile in data coordinates. < 0 means the tile is outside the ROI. > 0 means the tile is inside the ROI. = 0 means the tile intersects the ROI. The geometryPriority argument is the weight of the geometry considered. The returned weight must be between 0 and 1. Default returns 1 if the distance is >= 0, else 0.
Reimplemented from SoLDMTileVisitor.
virtual float SoLDMProximityVisitor::getSurfaceGeomWeight | ( | float | distToGeom, | |
float | geometryPriority | |||
) | [virtual] |
Assigns a weight based on distance to a surface geometry.
May be overridden by the application. distToGeom is the signed distance from the surface to the considered tile in data coordinates. < 0 means the tile is behind or outside the geometry. > 0 means the tile is in front of or inside the geometry. = 0 means the tile intersects the geometry. (the normal of a geometry plane is oriented towards increasing data (from voxel 0 to 1)) The geometryPriority argument is the weight of the geometry considered. The returned weight must be between 0 and 1. Default returns geometryPriority if the distance is null, else 0.
Reimplemented from SoLDMTileVisitor.
virtual float SoLDMProximityVisitor::getVolumeGeomWeight | ( | float | distToGeom, | |
float | geometryPriority | |||
) | [virtual] |
Assigns a weight based on distance to a data set geometry.
May be overridden by the application. distToGeom is the signed distance from the data set to the considered tile in data coordinates. < 0 means the tile is outside the data set. > 0 means the tile is inside the data set. = 0 means the tile intersects the data set. (the normal of a geometry plane is oriented towards increasing data (from voxel 0 to 1)) The geometryPriority argument is the weight of the geometry considered. The returned weight must be between 0 and 1. Default returns geometryPriority if the distance is null, else 0.
Reimplemented from SoLDMTileVisitor.