Fovia's C++ Client/Server API
Public Member Functions | Public Attributes | List of all members
FIND_PATH_PARAMS Struct Reference

Public Member Functions

FIND_PATH_PARAMSoperator= (const FIND_PATH_PARAMS &r)
 

Public Attributes

union {
   struct {
      double   LowerLimitOffset
 
      double   LowerLimitScale
 
   } 
 
   double   LowerLimitStatic
 
}; 
 
union {
   struct {
      double   UpperLimitOffset
 
      double   UpperLimitScale
 
   } 
 
   double   UpperLimitStatic
 
}; 
 
signed int AdaptiveLowerLimit
 
signed int AdaptiveUpperLimit
 
double CompletionDistance
 
ENUM_FIND_PATH_TRACERS EnabledTracers
 
unsigned int MaxSteps
 
signed int NoNormalize
 
double PushOutLowerLimitAmount
 
double PushOutUpperLimitAmount
 
signed int ShouldPushOutLowerLimit
 
signed int ShouldPushOutUpperLimit
 
double StepScaleFactor
 

Detailed Description

Specifies the options for IVolumeSegmentation::FindPath(). If this structure is not specified to the function, the values set by the default constructor are used.

Member Data Documentation

signed int FIND_PATH_PARAMS::AdaptiveLowerLimit

If H_TRUE, the lower threshold for what defines the corridor wall is adaptively created based upon the scalar value at the current trace point. If H_FALSE, LowerLimitStatic will be used as the threshold at all times.

signed int FIND_PATH_PARAMS::AdaptiveUpperLimit

If H_TRUE, the upper threshold for what defines the corridor wall is adaptively created based upon the scalar value at the current trace point. If H_FALSE, UpperLimitStatic will be used as the threshold at all times.

double FIND_PATH_PARAMS::CompletionDistance

The maximum distance between the current location and the finish to consider a completed path.

ENUM_FIND_PATH_TRACERS FIND_PATH_PARAMS::EnabledTracers

Specifies which tracers are enabled. Depending upon the type of path finding we're doing, we may or may not need all four of the default tracers enabled. Each tracer takes up 25% of the total compute time, so removing just one is a significant performance boost, if possible.

double FIND_PATH_PARAMS::LowerLimitOffset
See also
LowerLimitScale for details.
double FIND_PATH_PARAMS::LowerLimitScale

If AdaptiveLowerLimit is H_TRUE, the lower limit is calculated adaptively by the following formula:

h_float64 tracePointValue;
LowerLimitValue = tracePointValue + ((tracePointValue-LowerLimitOffset)*LowerLimitScale);
double FIND_PATH_PARAMS::LowerLimitStatic

If AdaptiveLowerLimit is H_FALSE, this value is always used as the lower threshold for what defines the corridor wall.

unsigned int FIND_PATH_PARAMS::MaxSteps

The number of steps for any given tracer to go before giving up.

signed int FIND_PATH_PARAMS::NoNormalize

The state of the RENDER_PARAMS::Flags RF_DONT_NORMALIZE bit. See ENUM_RENDER_FLAGS::RF_DONT_NORMALIZE for how this changes expected values for scalar values.

double FIND_PATH_PARAMS::PushOutLowerLimitAmount
See also
ShouldPushOutLowerLimit for proper use.
double FIND_PATH_PARAMS::PushOutUpperLimitAmount
See also
ShouldPushOutUpperLimit for proper use.
signed int FIND_PATH_PARAMS::ShouldPushOutLowerLimit

If H_TRUE, then if the pixel value at the current tracer location minus PushOutLowerLimitAmount has a value less than the lower limit specified elsewhere in this structure, then that value is used as the lower limit in the thresholding for traversal.

signed int FIND_PATH_PARAMS::ShouldPushOutUpperLimit

If H_TRUE, then if the pixel value at the current tracer location plus PushOutUpperLimitAmount has a value greater than the upper limit specified elsewhere in this structure, then that value is used as the upper limit in the thresholding for traversal.

double FIND_PATH_PARAMS::StepScaleFactor

The speed of path stepping is variable based upon the size of the corridor. This is a scaling factor applied to that automatically determined step size.

double FIND_PATH_PARAMS::UpperLimitOffset
See also
UpperLimitScale for details.
double FIND_PATH_PARAMS::UpperLimitScale

If AdaptiveUpperLimit is H_TRUE, the upper limit is calculated adaptively by the following formula:

h_float64 tracePointValue;
UpperLimitValue = tracePointValue + ((tracePointValue-UpperLimitOffset)*UpperLimitScale);
double FIND_PATH_PARAMS::UpperLimitStatic

If AdaptiveUpperLimit is H_FALSE, this value is always used as the lower threshold for what defines the corridor wall.