VAPOR3 3.9.4
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
VAPoR::FlowParams Class Reference

#include <FlowParams.h>

Inheritance diagram for VAPoR::FlowParams:
VAPoR::RenderParams VAPoR::ParamsBase Wasp::MyBase

Public Types

enum  RenderType { RenderTypeStream , RenderTypeSamples , RenderTypeDensity }
 
enum  GlpyhType { GlpyhTypeSphere , GlpyhTypeArrow }
 
- Public Types inherited from VAPoR::RenderParams
enum class  SlicePlaneOrientationMode { Rotation = 0 , Normal = 1 }
 
- Public Types inherited from Wasp::MyBase
typedef void(* ErrMsgCB_T) (const char *msg, int err_code)
 
typedef void(* DiagMsgCB_T) (const char *msg)
 

Public Member Functions

 FlowParams (DataMgr *dataManager, ParamsBase::StateSave *stateSave)
 
 FlowParams (DataMgr *dataManager, ParamsBase::StateSave *stateSave, XmlNode *xmlNode)
 
 FlowParams (const FlowParams &rhs)
 
FlowParamsoperator= (const FlowParams &rhs)
 
virtual ~FlowParams ()
 
virtual int Initialize () override
 
void SetDefaultVariables (int dim=3, bool secondaryColormapVariable=false) override
 
void SetIsSteady (bool steady)
 
bool GetIsSteady () const
 
double GetVelocityMultiplier () const
 
double GetFirstStepSizeMultiplier () const
 
bool GetUseFixedAdvectionSteps () const
 
double GetFixedAdvectionStepSize () const
 
void SetVelocityMultiplier (double)
 
void SetFirstStepSizeMultiplier (double)
 
void SetUseFixedAdvectionSteps (bool)
 
void SetFixedAdvectionStepSize (double)
 
long GetSteadyNumOfSteps () const
 
void SetSteadyNumOfSteps (long)
 
int GetSeedGenMode () const
 
void SetSeedGenMode (int)
 
void SetNeedFlowlineOutput (bool)
 
bool GetNeedFlowlineOutput () const
 
int GetFlowDirection () const
 
void SetFlowDirection (int)
 
std::string GetSeedInputFilename () const
 
void SetSeedInputFilename (const std::string &)
 
std::string GetFlowlineOutputFilename () const
 
void SetFlowlineOutputFilename (const std::string &)
 
std::vector< std::string > GetFlowOutputMoreVariables () const
 
void SetFlowOutputMoreVariables (std::vector< std::string > vars)
 
std::vector< bool > GetPeriodic () const
 
void SetPeriodic (const std::vector< bool > &)
 
BoxGetRakeBox ()
 
std::vector< float > GetRake () const
 
void SetRake (const std::vector< float > &)
 
BoxGetIntegrationBox ()
 
void SetIntegrationVolume (const std::vector< float > &)
 
std::vector< long > GetGridNumOfSeeds () const
 
void SetGridNumOfSeeds (const std::vector< long > &)
 
long GetRandomNumOfSeeds () const
 
void SetRandomNumOfSeeds (long)
 
std::string GetRakeBiasVariable () const
 
void SetRakeBiasVariable (const std::string &)
 
long GetRakeBiasStrength () const
 
void SetRakeBiasStrength (long)
 
int GetPastNumOfTimeSteps () const
 
void SetPastNumOfTimeSteps (int)
 
int GetSeedInjInterval () const
 
void SetSeedInjInterval (int)
 
virtual size_t GetRenderDim () const override
 
virtual string GetActualColorMapVariableName () const override
 
double GetXRakeCenter ()
 
void SetXRakeCenter (double center)
 
double GetYRakeCenter ()
 
void SetYRakeCenter (double center)
 
double GetZRakeCenter ()
 
void SetZRakeCenter (double center)
 
- Public Member Functions inherited from VAPoR::RenderParams
 RenderParams (DataMgr *dataMgr, ParamsBase::StateSave *ssave, const string &classname, int maxdim=3)
 
 RenderParams (DataMgr *dataMgr, ParamsBase::StateSave *ssave, XmlNode *node, int maxdim=3)
 
 RenderParams (const RenderParams &rhs)
 
RenderParamsoperator= (const RenderParams &rhs)
 
virtual ~RenderParams ()
 
virtual int Initialize ()
 
int ResetUserExtentsToDataExents (string var="")
 
virtual bool IsEnabled () const
 
virtual void SetEnabled (bool val)
 
virtual void SetVariableName (string varName)
 
string GetVariableName () const
 
virtual void SetAuxVariableNames (vector< string > varName)
 
vector< string > GetAuxVariableNames () const
 
bool UseAuxVariable () const
 
string GetFirstVariableName () const
 
virtual void SetFieldVariableNames (vector< string > varNames)
 
void SetXFieldVariableName (std::string varName)
 
void SetYFieldVariableName (std::string varName)
 
void SetZFieldVariableName (std::string varName)
 
vector< string > GetFieldVariableNames () const
 
std::string GetXFieldVariableName () const
 
std::string GetYFieldVariableName () const
 
std::string GetZFieldVariableName () const
 
vector< string > GetDistribVariableNames () const
 
virtual void SetRefinementLevel (int numrefinements)
 
virtual int GetRefinementLevel () const
 
virtual int GetCompressionLevel () const
 
virtual void SetCompressionLevel (int val)
 
void SetHistoStretch (float factor)
 
float GetHistoStretch () const
 
virtual ColorbarPbaseGetColorbarPbase () const
 Obtain ColorbarPBase (used to specify Color Bar properties) from RenderParams.
 
virtual void SetColorbarPbase (ColorbarPbase *pb)
 
virtual MapperFunctionGetMapperFunc (string varname)
 
virtual void RemoveMapperFunc (string varname)
 Remove the mapper function for the named variable.
 
virtual void SetMapperFunc (string varname, MapperFunction *tf)
 
virtual BoxGetBox () const
 
void SetCursorCoords (const float coords[2])
 
void GetCursorCoords (float coords[2]) const
 
virtual void SetHeightVariableName (string varname)
 
virtual string GetHeightVariableName () const
 
bool UseSingleColor () const
 
virtual void SetColorMapVariableName (string varname)
 
virtual string GetColorMapVariableName () const
 
virtual string GetActualColorMapVariableName () const =0
 
void SetUseSingleColor (bool val)
 
void SetConstantColor (const float rgb[3])
 
void SetConstantColor (vector< float > rgb)
 
void GetConstantColor (float rgb[3]) const
 
vector< float > GetConstantColor () const
 
void SetConstantOpacity (float o)
 
float GetConstantOpacity () const
 
size_t GetCurrentTimestep () const
 
void SetCurrentTimestep (size_t ts)
 
virtual TransformGetTransform () const
 Access the transform used by the renderer.
 
void initializeBypassFlags ()
 
virtual void SetDefaultVariables (int dim, bool secondaryColormapVariable)
 
virtual size_t GetRenderDim () const =0
 
virtual bool HasIsoValues () const
 This should be overriden by params for renderes that support iso values to return true.
 
virtual vector< double > GetIsoValues (const string &variable)
 
virtual void SetIsoValues (const string &variable, const vector< double > &values)
 
vector< double > GetIsoValues ()
 
void SetIsoValues (const vector< double > &values)
 
virtual bool GetOrientable () const
 Return whether a renderer can be oriented - IE, can this renderer be rotated about an origin point?
 
vector< double > GetSlicePlaneRotation () const
 
vector< double > GetSlicePlaneOrigin () const
 
vector< double > GetSlicePlaneNormal () const
 
double GetXSlicePlaneOrigin () const
 
double GetYSlicePlaneOrigin () const
 
double GetZSlicePlaneOrigin () const
 
void SetXSlicePlaneOrigin (double xOrigin)
 
void SetYSlicePlaneOrigin (double yOrigin)
 
void SetZSlicePlaneOrigin (double zOrigin)
 
void SetSlicePlaneQuad (const std::vector< CoordType > &quad)
 
std::vector< CoordTypeGetSlicePlaneQuad () const
 
- Public Member Functions inherited from VAPoR::ParamsBase
 ParamsBase (StateSave *ssave, const string &classname)
 
 ParamsBase (StateSave *ssave, XmlNode *node)
 
 ParamsBase (const ParamsBase &rhs)
 Copy constructor.
 
ParamsBaseoperator= (const ParamsBase &rhs)
 
 ParamsBase (ParamsBase &&)=delete
 
ParamsBaseoperator= (ParamsBase &)=delete
 
bool operator== (const ParamsBase &rhs) const
 Equivalence operator.
 
bool operator!= (const ParamsBase &rhs) const
 
virtual ~ParamsBase ()
 
void SetParent (ParamsBase *parent)
 
XmlNodeGetNode () const
 
void BeginGroup (const string &description)
 
void EndGroup ()
 
void IntermediateChange ()
 
virtual vector< long > GetValueLongVec (const string tag) const
 
virtual vector< long > GetValueLongVec (const string tag, const vector< long > &defaultVal) const
 
virtual long GetValueLong (const string tag, long defaultVal) const
 
virtual vector< double > GetValueDoubleVec (const string tag) const
 
virtual vector< double > GetValueDoubleVec (const string tag, const vector< double > &defaultVal) const
 
virtual double GetValueDouble (const string tag, double defaultVal) const
 
virtual vector< string > GetValueStringVec (const string tag) const
 
virtual vector< string > GetValueStringVec (const string tag, const vector< string > &defaultVal) const
 
virtual string GetValueString (const string tag, string defaultVal) const
 
virtual void SetValueLongVec (const string &tag, string description, const vector< long > &values)
 
virtual void SetValueLong (const string &tag, string description, long value)
 
virtual void SetValueDoubleVec (const string &tag, string description, const vector< double > &values)
 
virtual void SetValueDouble (const string &tag, string description, double value)
 
virtual void SetValueStringVec (const string &tag, string description, const vector< string > &values)
 
virtual void SetValueString (const string &tag, string description, const string &value)
 
string GetName () const
 
- Public Member Functions inherited from Wasp::MyBase
 MyBase ()
 
const string & getClassName () const
 

Static Public Member Functions

static std::string GetClassType ()
 
- Static Public Member Functions inherited from Wasp::MyBase
static void SetErrMsg (const char *format,...)
 Record a formatted error message.
 
static void SetErrMsg (int errcode, const char *format,...)
 Record a formatted error message and an error code.
 
static const char * GetErrMsg ()
 
static void SetErrCode (int err_code)
 Record an error code.
 
static int GetErrCode ()
 Retrieve the current error code.
 
static void SetErrMsgCB (ErrMsgCB_T cb)
 
static ErrMsgCB_T GetErrMsgCB ()
 
static void SetErrMsgFilePtr (FILE *fp)
 
static const FILE * SetErrMsgFilePtr ()
 
static void SetDiagMsg (const char *format,...)
 Record a formatted diagnostic message.
 
static const char * GetDiagMsg ()
 
static void SetDiagMsgCB (DiagMsgCB_T cb)
 
static DiagMsgCB_T GetDiagMsgCB ()
 
static void SetDiagMsgFilePtr (FILE *fp)
 
static bool EnableErrMsg (bool enable)
 
static bool GetEnableErrMsg ()
 

Public Attributes

const std::vector< std::pair< int, std::string > > _seed2Str
 
const std::vector< std::pair< int, std::string > > _dir2Str
 

Static Public Attributes

static const std::string RenderTypeTag
 
static const std::string RenderRadiusBaseTag
 
static const std::string RenderRadiusScalarTag
 
static const std::string RenderGeom3DTag
 
static const std::string RenderLightAtCameraTag
 
static const std::string RenderShowStreamDirTag
 
static const std::string RenderGlyphTypeTag
 
static const std::string RenderGlyphStrideTag
 
static const std::string RenderGlyphOnlyLeadingTag
 
static const std::string RenderDensityFalloffTag
 
static const std::string RenderDensityToneMappingTag
 
static const std::string RenderFadeTailTag
 
static const std::string RenderFadeTailStartTag
 
static const std::string RenderFadeTailStopTag
 
static const std::string RenderFadeTailLengthTag
 
static const std::string PhongAmbientTag
 
static const std::string PhongDiffuseTag
 
static const std::string PhongSpecularTag
 
static const std::string PhongShininessTag
 
static const std::string _isSteadyTag
 
static const std::string _velocityMultiplierTag
 
static const std::string _firstStepSizeMultiplierTag
 
static const std::string _fixedAdvectionStepTag
 
static const std::string _fixedAdvectionStepSizeTag
 
static const std::string _steadyNumOfStepsTag
 
static const std::string _seedGenModeTag
 
static const std::string _seedInputFilenameTag
 
static const std::string _flowlineOutputFilenameTag
 
static const std::string _flowOutputMoreVariablesTag
 
static const std::string _flowDirectionTag
 
static const std::string _needFlowlineOutputTag
 
static const std::string _xPeriodicTag
 
static const std::string _yPeriodicTag
 
static const std::string _zPeriodicTag
 
static const std::string _rakeTag
 
static const std::string _doIntegrationTag
 
static const std::string _integrationScalarTag
 
static const std::string _integrationSetAllToFinalValueTag
 
static const std::string _integrationBoxTag
 
static const std::string _rakeBiasVariable
 
static const std::string _rakeBiasStrength
 
static const std::string _pastNumOfTimeSteps
 
static const std::string _seedInjInterval
 
static const std::string _xGridNumOfSeedsTag
 
static const std::string _yGridNumOfSeedsTag
 
static const std::string _zGridNumOfSeedsTag
 
static const std::string _randomNumOfSeedsTag
 
- Static Public Attributes inherited from VAPoR::RenderParams
static const string _variableNameTag
 
static const string _colorMapVariableNameTag
 
static const string _heightVariableNameTag
 
static const string _useSingleColorTag
 
static const string _constantColorTag
 
static const string _CompressionLevelTag
 
static const string _RefinementLevelTag
 
static const string _xFieldVariableNameTag
 
static const string _yFieldVariableNameTag
 
static const string _zFieldVariableNameTag
 
static const string _constantOpacityTag
 
static const string CustomHistogramDataTag
 
static const string CustomHistogramRangeTag
 
static const string LightingEnabledTag
 
static const string UserNameTag
 
static const string XSlicePlaneOriginTag
 
static const string YSlicePlaneOriginTag
 
static const string ZSlicePlaneOriginTag
 
static const string XSlicePlaneRotationTag
 
static const string YSlicePlaneRotationTag
 
static const string ZSlicePlaneRotationTag
 
static const string SampleRateTag
 
static const string SliceOffsetTag
 
static const string SlicePlaneNormalXTag
 
static const string SlicePlaneNormalYTag
 
static const string SlicePlaneNormalZTag
 
static const string SlicePlaneOrientationModeTag
 
- Static Public Attributes inherited from Wasp::MyBase
static char * ErrMsg
 
static int ErrCode
 
static int ErrMsgSize
 
static FILE * ErrMsgFilePtr
 
static ErrMsgCB_T ErrMsgCB
 
static char * DiagMsg
 
static int DiagMsgSize
 
static FILE * DiagMsgFilePtr
 
static DiagMsgCB_T DiagMsgCB
 
static bool Enabled
 

Additional Inherited Members

- Protected Member Functions inherited from VAPoR::RenderParams
bool InitBoxFromVariable (size_t ts, string varName)
 
virtual bool GetUseSingleColorDefault () const
 
- Protected Member Functions inherited from VAPoR::ParamsBase
 ParamsBase (StateSave *ssave)
 
void Remove (const string &name)
 
const map< string, string > & GetAttributes ()
 
void Clear ()
 
- Protected Member Functions inherited from Wasp::MyBase
void SetClassName (const string &name)
 
- Protected Attributes inherited from VAPoR::RenderParams
DataMgr_dataMgr
 
int _maxDim
 
- Protected Attributes inherited from VAPoR::ParamsBase
StateSave_ssave
 
XmlNode_node
 

Detailed Description

Definition at line 30 of file FlowParams.h.

Member Enumeration Documentation

◆ GlpyhType

Enumerator
GlpyhTypeSphere 
GlpyhTypeArrow 

Definition at line 41 of file FlowParams.h.

◆ RenderType

Enumerator
RenderTypeStream 
RenderTypeSamples 
RenderTypeDensity 

Definition at line 40 of file FlowParams.h.

Constructor & Destructor Documentation

◆ FlowParams() [1/3]

VAPoR::FlowParams::FlowParams ( DataMgr dataManager,
ParamsBase::StateSave stateSave 
)

◆ FlowParams() [2/3]

VAPoR::FlowParams::FlowParams ( DataMgr dataManager,
ParamsBase::StateSave stateSave,
XmlNode xmlNode 
)

◆ FlowParams() [3/3]

VAPoR::FlowParams::FlowParams ( const FlowParams rhs)

◆ ~FlowParams()

virtual VAPoR::FlowParams::~FlowParams ( )
virtual

Member Function Documentation

◆ GetActualColorMapVariableName()

virtual string VAPoR::FlowParams::GetActualColorMapVariableName ( ) const
inlineoverridevirtual

Due to legacy code, the "ColorMapVariableName" is not the name of the variable by which the renderer is colormapping, but rather the variable it should use if it is not already using its primary variable or a constant color. This function should return the name of the variable that is currently being used for colormapping.

Implements VAPoR::RenderParams.

Definition at line 261 of file FlowParams.h.

◆ GetClassType()

static std::string VAPoR::FlowParams::GetClassType ( )
inlinestatic

Definition at line 54 of file FlowParams.h.

◆ GetFirstStepSizeMultiplier()

double VAPoR::FlowParams::GetFirstStepSizeMultiplier ( ) const

Get the multiplier being applied to the first step size of flow integration.

VAPOR estimates a step size to be applied to the first step of flow integration,
and then dynamically adjusts that value afterwards. However, VAPOR may fail to produce a proper estimate
(mostly too big of an estimate) and result in obviously wrong flow lines.
In such cases, users may manually apply a multiplier to the first step size.

Return values
double- First step size multiplier for flow rendering.

◆ GetFixedAdvectionStepSize()

double VAPoR::FlowParams::GetFixedAdvectionStepSize ( ) const

Get the fixed advection step size to be used.

Get the boolean that indicates if the flow advection uses fixed step sizes.

VAPOR adjusts its advection step sizes automatically based on the curvature of the past few steps.
This behavior, however, can be disabled, in which case the user-provided step size will be used.

Return values
bool- If VAPOR uses fixed advection steps.
double- Fixed advection step size to be used.

◆ GetFlowDirection()

int VAPoR::FlowParams::GetFlowDirection ( ) const

Get the current flow renderer's advection direction.

Return values
int- The advection direction for the current flow renderer. (0 = forward, 1 = backward, 2 = bi-directional)

◆ GetFlowlineOutputFilename()

std::string VAPoR::FlowParams::GetFlowlineOutputFilename ( ) const

This will return the file path to the text file that data will be written to when outputing flow lines.

Return values
string- The file path of the data file that contains sample values along streamlines/pathlines.

◆ GetFlowOutputMoreVariables()

std::vector< std::string > VAPoR::FlowParams::GetFlowOutputMoreVariables ( ) const

If more than one variable is being sampled along flowlines and is being written to an output file, this returns those variables.

Return values
std::vector<std::string>- A vector containing the variables being written to the specified output file name.

◆ GetGridNumOfSeeds()

std::vector< long > VAPoR::FlowParams::GetGridNumOfSeeds ( ) const

Returns the number of seed points on the X, Y, and Z axes if the seeding distribution is Gridded, as determined by GetSeedGenMode()

Return values
std::vector<long>- Number of seeds distributed on the X, Y, and Z axes.

◆ GetIntegrationBox()

Box * VAPoR::FlowParams::GetIntegrationBox ( )

◆ GetIsSteady()

bool VAPoR::FlowParams::GetIsSteady ( ) const

Gets the type of flow rendering algorithm being used.

Sets the type of flow rendering algorithm being used.

Steady flow (streamlines) renders time-invariant trajectories that follow a vector field at a single timestep.
Unsteady flow (pathlines) render time-variant trajectories that advect through the timeseries of a loaded dataset.

Parameters
[in]bool- Steady/streamlines = true, Unsteady/pathlines = false
Return values
bool- Steady/streamlines = true, Unsteady/pathlines = false

◆ GetNeedFlowlineOutput()

bool VAPoR::FlowParams::GetNeedFlowlineOutput ( ) const

Inquire whether the writing of flow renderer data values are being written to a text file.

Return values
bool- Enable (true) or disable (false) the writing of trajectory data values to a text file.

◆ GetPastNumOfTimeSteps()

int VAPoR::FlowParams::GetPastNumOfTimeSteps ( ) const

◆ GetPeriodic()

std::vector< bool > VAPoR::FlowParams::GetPeriodic ( ) const

Inquires whether the current flow advection scheme is periodic.

IE - Do pathlines or streamlines continue on the opposite side of the domain when the exit it? Similar to when PAC-MAN exits the right side of the screen, and re-enters on the left.
Note: this result vector could be of size 2 or 3.

Return values
std::vector<bool>- A vector consisting of booleans that indicate periodicity on the X, Y, and Z axes. (false = non-periodic, true = periodic)

◆ GetRake()

std::vector< float > VAPoR::FlowParams::GetRake ( ) const

◆ GetRakeBiasStrength()

long VAPoR::FlowParams::GetRakeBiasStrength ( ) const

When randomly seeding flowlines with bias towards along a chosen variable's distribution, this returns the bias strength.

Negative bias will place seeds at locations where the bias value has low values. Positive bias will place seeds where the bias variable has high values.

Return values
int- The bias of the seed distribution.

◆ GetRakeBiasVariable()

std::string VAPoR::FlowParams::GetRakeBiasVariable ( ) const

Returns the bias variable that randomly seeded flow-lines are distributed towards if the seed generation mode is "Random w/ Bias."

Return values
string- The variable that seeds are biased distributed for.

◆ GetRakeBox()

Box * VAPoR::FlowParams::GetRakeBox ( )

◆ GetRandomNumOfSeeds()

long VAPoR::FlowParams::GetRandomNumOfSeeds ( ) const

Returns the number of seed points randomly generated if the seeding distribution is randomly generated, as determined by GetSeedGenMode()

Return values
long- Number of seeds randomly distributed within the seeding rake region.

◆ GetRenderDim()

virtual size_t VAPoR::FlowParams::GetRenderDim ( ) const
inlineoverridevirtual

Return the renderer's current dimension

For renderers that are only capable of operating on variables of a fixed dimensionality (e.g. 2D or 3D) this function will return a constant value: the number of dimensions. For renderers that can operate on a variable of varying dimension this method returns the current dimensionality. The returned value will be between 0 and 3. A value of zero will be returned if the current dimensionality cannot be determined.

Implements VAPoR::RenderParams.

Definition at line 252 of file FlowParams.h.

◆ GetSeedGenMode()

int VAPoR::FlowParams::GetSeedGenMode ( ) const

Get the mode for generating seeds (points of origin) for the flow renderer.

Return values
int- The current seed generation mode for the flow renderer. 0 = Gridded, 1 = Random, 2 = Random with bias, 3 = List of seeds

◆ GetSeedInjInterval()

int VAPoR::FlowParams::GetSeedInjInterval ( ) const

Returns the interval that new pathlines are injected into the scene.

Return values
int- The seed injection interval.

◆ GetSeedInputFilename()

std::string VAPoR::FlowParams::GetSeedInputFilename ( ) const

Get the file name/path to a file containing a list of seed points to advect from.

See https://ncar.github.io/VaporDocumentationWebsite/vaporApplicationReference/flowRenderer.html#seed-distribution-settings

Return values
string- A file path containing a defined list of seed points to advect from

◆ GetSteadyNumOfSteps()

long VAPoR::FlowParams::GetSteadyNumOfSteps ( ) const

Get the target number of steps to advect a steady flow line (aka a streamline).

Set the target number of steps to advect a steady flow line (aka a streamline).

Note 1: Advection can terminate before hitting the specified target number of steps. Common reasons are 1) it travels
out of the volume, and 2) it enters a "sink" where velocity is zero and no longer travels.
Note 2: The advection step size is adjusted internally based on the current curvature, so even with the same steps
being advected, the lengths of advected trajectories can still differ.

Parameters
[in]long- The number of steps a steady flow line targets to advect.
Return values
long- The number of steps a steady flow line targets to advect.

◆ GetUseFixedAdvectionSteps()

bool VAPoR::FlowParams::GetUseFixedAdvectionSteps ( ) const

Get the boolean that indicates if the flow advection uses fixed step sizes.

VAPOR adjusts its advection step sizes automatically based on the curvature of the past few steps.
This behavior, however, can be disabled, in which case the user-provided step size will be used.

Return values
bool- If VAPOR uses fixed advection steps.

◆ GetVelocityMultiplier()

double VAPoR::FlowParams::GetVelocityMultiplier ( ) const

Get the multiplier being applied to the flow advection algorithm.

If there happens to be a mismatch between the units of your data's domain and the units of a variable such as wind speed,
you can scale the wind field with this parameter. IE - If your data's domain is written in kilometers but your wind
vectors are in meters, you can apply a velocity multiplyer of 0.001 to correct the mismatch.

Return values
double- Velocity field multiplier for flow rendering

◆ GetXRakeCenter()

double VAPoR::FlowParams::GetXRakeCenter ( )

Get the rake's center position on the X axis

Return values
Xrake center

◆ GetYRakeCenter()

double VAPoR::FlowParams::GetYRakeCenter ( )

Get the rake's center position on the Y axis

Return values
Yrake center

◆ GetZRakeCenter()

double VAPoR::FlowParams::GetZRakeCenter ( )

Get the rake's center position on the Z axis

Return values
Zrake center

◆ Initialize()

virtual int VAPoR::FlowParams::Initialize ( )
overridevirtual

Initialize the class.

Must be called immediately after the constructor:

RenderParams(DataMgr *, ParamsBase::StateSave *, const string &, int maxdim);

The results of calling any other methods before calling Initialize() are undefined.

Subsequent calls to Initialize() after the first call are a no-op.

Return values
returnsinteger >= 0 on success, otherwise failure

Reimplemented from VAPoR::RenderParams.

◆ operator=()

FlowParams & VAPoR::FlowParams::operator= ( const FlowParams rhs)

◆ SetDefaultVariables()

void VAPoR::FlowParams::SetDefaultVariables ( int  dim = 3,
bool  secondaryColormapVariable = false 
)
overridevirtual

Set reasonable default variables

Parameters
[in]Thedimension of the variables being set
[in]Indicateswhether we're using color mapped variables

Reimplemented from VAPoR::RenderParams.

◆ SetFirstStepSizeMultiplier()

void VAPoR::FlowParams::SetFirstStepSizeMultiplier ( double  )

Set the multiplier being applied to the first step size of flow advection.

Get the multiplier being applied to the first step size of flow integration.

VAPOR estimates a step size to be applied to the first step of flow integration,
and then dynamically adjusts that value afterwards. However, VAPOR may fail to produce a proper estimate
(mostly too big of an estimate) and result in obviously wrong flow lines.
In such cases, users may manually apply a multiplier to the first step size.

Return values
double- First step size multiplier for flow rendering.
Parameters
[in]double- Velocity field multiplier for flow rendering

◆ SetFixedAdvectionStepSize()

void VAPoR::FlowParams::SetFixedAdvectionStepSize ( double  )

Set the fixed advection step size to be used.

Get the boolean that indicates if the flow advection uses fixed step sizes.

VAPOR adjusts its advection step sizes automatically based on the curvature of the past few steps.
This behavior, however, can be disabled, in which case the user-provided step size will be used.

Return values
bool- If VAPOR uses fixed advection steps.
Parameters
[in]bool- User-specified value to be used for fixed step advection.

◆ SetFlowDirection()

void VAPoR::FlowParams::SetFlowDirection ( int  )

Set the current flow renderer's advection direction.

Parameters
[in]int- The advection direction for the current flow renderer. (0 = forward, 1 = backward, 2 = bi-directional)

◆ SetFlowlineOutputFilename()

void VAPoR::FlowParams::SetFlowlineOutputFilename ( const std::string &  )

Sets the file path to the text file that flowline output will be written to.

Parameters
[in]string- The file path of the data file that contains sample data along streamlines/pathlines.

◆ SetFlowOutputMoreVariables()

void VAPoR::FlowParams::SetFlowOutputMoreVariables ( std::vector< std::string >  vars)

One or more variable to be sampled along flowlines and written to an output file.

Parameters
[in]std::vector<std::string>- A vector containing the variables being written to the specified output file name.

◆ SetGridNumOfSeeds()

void VAPoR::FlowParams::SetGridNumOfSeeds ( const std::vector< long > &  )

Sets the number of seed points on the X, Y, and Z axes if the seeding distribution is Gridded, as determined by GetSeedGenMode()

Return values
std::vector<long>- Number of seeds distributed on the X, Y, and Z axes.

◆ SetIntegrationVolume()

void VAPoR::FlowParams::SetIntegrationVolume ( const std::vector< float > &  )

◆ SetIsSteady()

void VAPoR::FlowParams::SetIsSteady ( bool  steady)

Sets the type of flow rendering algorithm being used.

Steady flow (streamlines) renders time-invariant trajectories that follow a vector field at a single timestep.
Unsteady flow (pathlines) render time-variant trajectories that advect through the timeseries of a loaded dataset.

Parameters
[in]bool- Steady/streamlines = true, Unsteady/pathlines = false

◆ SetNeedFlowlineOutput()

void VAPoR::FlowParams::SetNeedFlowlineOutput ( bool  )

Enable or disable the writing of flow renderer data values to a text file.

Parameters
[in]bool- Enable (true) or disable (false) the writing of trajectory data values to a text file.

◆ SetPastNumOfTimeSteps()

void VAPoR::FlowParams::SetPastNumOfTimeSteps ( int  )

◆ SetPeriodic()

void VAPoR::FlowParams::SetPeriodic ( const std::vector< bool > &  )

Gets whether the current flow advection scheme is periodic.

Inquires whether the current flow advection scheme is periodic.

IE - Do pathlines or streamlines continue on the opposite side of the domain when the exit it? Similar to when PAC-MAN exits the right side of the screen, and re-enters on the left.
Note: this result vector could be of size 2 or 3.

Return values
std::vector<bool>- A vector consisting of booleans that indicate periodicity on the X, Y, and Z axes. (false = non-periodic, true = periodic)
Parameters
[in]std::vector<bool>- A vector consisting of booleans that indicate periodicity on the X, Y, and Z axes. (false = non-periodic, true = periodic)

◆ SetRake()

void VAPoR::FlowParams::SetRake ( const std::vector< float > &  )

◆ SetRakeBiasStrength()

void VAPoR::FlowParams::SetRakeBiasStrength ( long  )

When randomly seeding flowlines with bias towards along a chosen variable's distribution, this sets the bias strength.

Parameters
[in]long- The bias of the seed distribution.

◆ SetRakeBiasVariable()

void VAPoR::FlowParams::SetRakeBiasVariable ( const std::string &  )

Sets the bias variable that randomly seeded flow-lines are distributed towards if the seed generation mode is "Random w/ Bias."

Return values
string- The variable that seeds are biased distributed for.

◆ SetRandomNumOfSeeds()

void VAPoR::FlowParams::SetRandomNumOfSeeds ( long  )

Sets the number of seed points randomly generated if the seeding distribution is randomly generated, as determined by GetSeedGenMode()

Parameters
[in]long- Number of seeds randomly distributed within the seeding rake region.

◆ SetSeedGenMode()

void VAPoR::FlowParams::SetSeedGenMode ( int  )

Set the mode for generating seeds (points of origin) for the flow renderer.

Parameters
[in]int- The current seed generation mode for the flow renderer. 0 = Gridded, 1 = Random, 2 = Random with bias, 3 = List of seeds

◆ SetSeedInjInterval()

void VAPoR::FlowParams::SetSeedInjInterval ( int  )

Sets the interval w.r.t. the time steps that new pathlines are injected into the scene. For example, 1 means that seeds are injected at every time step, and 2 means that seeds are injected at every other time step. Note "time step" refers to the data set time step, not the integration time step

Parameters
[in]int- The seed injection interval.

◆ SetSeedInputFilename()

void VAPoR::FlowParams::SetSeedInputFilename ( const std::string &  )

Set the file name/path to a file containing a list of seed points to advect from.

Get the file name/path to a file containing a list of seed points to advect from.

See https://ncar.github.io/VaporDocumentationWebsite/vaporApplicationReference/flowRenderer.html#seed-distribution-settings

Return values
string- A file path containing a defined list of seed points to advect from
Parameters
[in]string- A file path containing a defined list of seed points to advect from

◆ SetSteadyNumOfSteps()

void VAPoR::FlowParams::SetSteadyNumOfSteps ( long  )

Set the target number of steps to advect a steady flow line (aka a streamline).

Note 1: Advection can terminate before hitting the specified target number of steps. Common reasons are 1) it travels
out of the volume, and 2) it enters a "sink" where velocity is zero and no longer travels.
Note 2: The advection step size is adjusted internally based on the current curvature, so even with the same steps
being advected, the lengths of advected trajectories can still differ.

Parameters
[in]long- The number of steps a steady flow line targets to advect.

◆ SetUseFixedAdvectionSteps()

void VAPoR::FlowParams::SetUseFixedAdvectionSteps ( bool  )

Set the boolean that indicates if the flow advection uses fixed step sizes.

Get the boolean that indicates if the flow advection uses fixed step sizes.

VAPOR adjusts its advection step sizes automatically based on the curvature of the past few steps.
This behavior, however, can be disabled, in which case the user-provided step size will be used.

Return values
bool- If VAPOR uses fixed advection steps.
Parameters
[in]bool- If VAPOR uses fixed advection steps.

◆ SetVelocityMultiplier()

void VAPoR::FlowParams::SetVelocityMultiplier ( double  )

Set the multiplier being applied to the flow advection algorithm.

Get the multiplier being applied to the flow advection algorithm.

If there happens to be a mismatch between the units of your data's domain and the units of a variable such as wind speed,
you can scale the wind field with this parameter. IE - If your data's domain is written in kilometers but your wind
vectors are in meters, you can apply a velocity multiplyer of 0.001 to correct the mismatch.

Return values
double- Velocity field multiplier for flow rendering
Parameters
[in]double- Velocity field multiplier for flow rendering

◆ SetXRakeCenter()

void VAPoR::FlowParams::SetXRakeCenter ( double  center)

Set the rake's center position on the X axis

Parameters
[in]Rakecenter position on X axis

◆ SetYRakeCenter()

void VAPoR::FlowParams::SetYRakeCenter ( double  center)

Set the rake's center position on the Y axis

Parameters
[in]Rakecenter position on Y axis

◆ SetZRakeCenter()

void VAPoR::FlowParams::SetZRakeCenter ( double  center)

Set the rake's center position on the Z axis

Parameters
[in]Rakecenter position on Z axis

Member Data Documentation

◆ _dir2Str

const std::vector<std::pair<int, std::string> > VAPoR::FlowParams::_dir2Str
Initial value:
= {{static_cast<int>(FlowDir::FORWARD), ""},
{static_cast<int>(FlowDir::FORWARD), "FORWARD"},
{static_cast<int>(FlowDir::BACKWARD), "BACKWARD"},
{static_cast<int>(FlowDir::BI_DIR), "BI_DIRECTIONAL"}}

Definition at line 431 of file FlowParams.h.

◆ _doIntegrationTag

const std::string VAPoR::FlowParams::_doIntegrationTag
static

Definition at line 411 of file FlowParams.h.

◆ _firstStepSizeMultiplierTag

const std::string VAPoR::FlowParams::_firstStepSizeMultiplierTag
static

Definition at line 397 of file FlowParams.h.

◆ _fixedAdvectionStepSizeTag

const std::string VAPoR::FlowParams::_fixedAdvectionStepSizeTag
static

Definition at line 399 of file FlowParams.h.

◆ _fixedAdvectionStepTag

const std::string VAPoR::FlowParams::_fixedAdvectionStepTag
static

Definition at line 398 of file FlowParams.h.

◆ _flowDirectionTag

const std::string VAPoR::FlowParams::_flowDirectionTag
static

Definition at line 405 of file FlowParams.h.

◆ _flowlineOutputFilenameTag

const std::string VAPoR::FlowParams::_flowlineOutputFilenameTag
static

Definition at line 403 of file FlowParams.h.

◆ _flowOutputMoreVariablesTag

const std::string VAPoR::FlowParams::_flowOutputMoreVariablesTag
static

Definition at line 404 of file FlowParams.h.

◆ _integrationBoxTag

const std::string VAPoR::FlowParams::_integrationBoxTag
static

Definition at line 414 of file FlowParams.h.

◆ _integrationScalarTag

const std::string VAPoR::FlowParams::_integrationScalarTag
static

Definition at line 412 of file FlowParams.h.

◆ _integrationSetAllToFinalValueTag

const std::string VAPoR::FlowParams::_integrationSetAllToFinalValueTag
static

Definition at line 413 of file FlowParams.h.

◆ _isSteadyTag

const std::string VAPoR::FlowParams::_isSteadyTag
static

Definition at line 395 of file FlowParams.h.

◆ _needFlowlineOutputTag

const std::string VAPoR::FlowParams::_needFlowlineOutputTag
static

Definition at line 406 of file FlowParams.h.

◆ _pastNumOfTimeSteps

const std::string VAPoR::FlowParams::_pastNumOfTimeSteps
static

Definition at line 417 of file FlowParams.h.

◆ _rakeBiasStrength

const std::string VAPoR::FlowParams::_rakeBiasStrength
static

Definition at line 416 of file FlowParams.h.

◆ _rakeBiasVariable

const std::string VAPoR::FlowParams::_rakeBiasVariable
static

Definition at line 415 of file FlowParams.h.

◆ _rakeTag

const std::string VAPoR::FlowParams::_rakeTag
static

Definition at line 410 of file FlowParams.h.

◆ _randomNumOfSeedsTag

const std::string VAPoR::FlowParams::_randomNumOfSeedsTag
static

Definition at line 422 of file FlowParams.h.

◆ _seed2Str

const std::vector<std::pair<int, std::string> > VAPoR::FlowParams::_seed2Str
Initial value:
= {{static_cast<int>(FlowSeedMode::UNIFORM), ""},
{static_cast<int>(FlowSeedMode::UNIFORM), "UNIFORM"},
{static_cast<int>(FlowSeedMode::RANDOM), "RANDOM"},
{static_cast<int>(FlowSeedMode::RANDOM_BIAS), "RANDOM_BIAS"},
{static_cast<int>(FlowSeedMode::LIST), "LIST"}}

Definition at line 425 of file FlowParams.h.

◆ _seedGenModeTag

const std::string VAPoR::FlowParams::_seedGenModeTag
static

Definition at line 401 of file FlowParams.h.

◆ _seedInjInterval

const std::string VAPoR::FlowParams::_seedInjInterval
static

Definition at line 418 of file FlowParams.h.

◆ _seedInputFilenameTag

const std::string VAPoR::FlowParams::_seedInputFilenameTag
static

Definition at line 402 of file FlowParams.h.

◆ _steadyNumOfStepsTag

const std::string VAPoR::FlowParams::_steadyNumOfStepsTag
static

Definition at line 400 of file FlowParams.h.

◆ _velocityMultiplierTag

const std::string VAPoR::FlowParams::_velocityMultiplierTag
static

Definition at line 396 of file FlowParams.h.

◆ _xGridNumOfSeedsTag

const std::string VAPoR::FlowParams::_xGridNumOfSeedsTag
static

Definition at line 419 of file FlowParams.h.

◆ _xPeriodicTag

const std::string VAPoR::FlowParams::_xPeriodicTag
static

Definition at line 407 of file FlowParams.h.

◆ _yGridNumOfSeedsTag

const std::string VAPoR::FlowParams::_yGridNumOfSeedsTag
static

Definition at line 420 of file FlowParams.h.

◆ _yPeriodicTag

const std::string VAPoR::FlowParams::_yPeriodicTag
static

Definition at line 408 of file FlowParams.h.

◆ _zGridNumOfSeedsTag

const std::string VAPoR::FlowParams::_zGridNumOfSeedsTag
static

Definition at line 421 of file FlowParams.h.

◆ _zPeriodicTag

const std::string VAPoR::FlowParams::_zPeriodicTag
static

Definition at line 409 of file FlowParams.h.

◆ PhongAmbientTag

const std::string VAPoR::FlowParams::PhongAmbientTag
static

Specifies the Phong Ambient lighting coefficient (https://en.wikipedia.org/wiki/Phong_reflection_model). Applies data of type: double. Typical values: 0.0 to 1.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 375 of file FlowParams.h.

◆ PhongDiffuseTag

const std::string VAPoR::FlowParams::PhongDiffuseTag
static

Specifies the Phong Diffuse lighting coefficient (https://en.wikipedia.org/wiki/Phong_reflection_model). Applies data of type: double. Typical values: 0.0 to 1.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 381 of file FlowParams.h.

◆ PhongShininessTag

const std::string VAPoR::FlowParams::PhongShininessTag
static

Specifies the Phong Shininess lighting coefficient (https://en.wikipedia.org/wiki/Phong_reflection_model). Applies data of type: double. Typical values: 0.0 to 100.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 393 of file FlowParams.h.

◆ PhongSpecularTag

const std::string VAPoR::FlowParams::PhongSpecularTag
static

Specifies the Phong Specular lighting coefficient (https://en.wikipedia.org/wiki/Phong_reflection_model). Applies data of type: double. Typical values: 0.0 to 1.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 387 of file FlowParams.h.

◆ RenderDensityFalloffTag

const std::string VAPoR::FlowParams::RenderDensityFalloffTag
static

Falloff parameter for the flow density rendering mode as specified in https://www.researchgate.net/publication/261329939_Trajectory_Density_Projection_for_Vector_Field_Visualization Applies data of type: double. Typical values: 0.5 to 10.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 338 of file FlowParams.h.

◆ RenderDensityToneMappingTag

const std::string VAPoR::FlowParams::RenderDensityToneMappingTag
static

ToneMapping parameter for the flow density rendering mode as specified in https://www.researchgate.net/publication/261329939_Trajectory_Density_Projection_for_Vector_Field_Visualization Applies data of type: double. Typical values: 0.0 to 1.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 345 of file FlowParams.h.

◆ RenderFadeTailLengthTag

const std::string VAPoR::FlowParams::RenderFadeTailLengthTag
static

Specifies the length of a faded flow line when animating steady flow. Applies data of type: int. Typical values: 1 to 100. Valid values: INT_MIN to INT_MAX.

Definition at line 369 of file FlowParams.h.

◆ RenderFadeTailStartTag

const std::string VAPoR::FlowParams::RenderFadeTailStartTag
static

Specifies the starting integration step for fading a flow line's tail. Applies data of type: int. Typical values: 1 to 100. Valid values: INT_MIN to INT_MAX.

Definition at line 356 of file FlowParams.h.

◆ RenderFadeTailStopTag

const std::string VAPoR::FlowParams::RenderFadeTailStopTag
static

Specifies the stopping integration step for fading a flow line's tail. Applies data of type: int. Typical values: 1 to 100. Valid values: INT_MIN to INT_MAX.

Definition at line 363 of file FlowParams.h.

◆ RenderFadeTailTag

const std::string VAPoR::FlowParams::RenderFadeTailTag
static

Applies transparency to the tails of pathlines and streamlines. Applies data of type: bool. Valid values: 0 = off, 1 = on.

Definition at line 350 of file FlowParams.h.

◆ RenderGeom3DTag

const std::string VAPoR::FlowParams::RenderGeom3DTag
static

Toggles between rendering 2d glyphs and 3d geometry of the render type. Applies data of type: bool. Valid values: 0 = off, 1 = on.

Definition at line 308 of file FlowParams.h.

◆ RenderGlyphOnlyLeadingTag

const std::string VAPoR::FlowParams::RenderGlyphOnlyLeadingTag
static

When rendering samples, only draw the leading sample in a path. Applies data of type: bool. Valid values: 0 = off, 1 = on.

Definition at line 331 of file FlowParams.h.

◆ RenderGlyphStrideTag

const std::string VAPoR::FlowParams::RenderGlyphStrideTag
static

When rendering samples, draw every N samples. Applies data of type: int. Typical values: 1 to 20. Valid values: INT_MIN to INT_MAX.

Definition at line 326 of file FlowParams.h.

◆ RenderGlyphTypeTag

const std::string VAPoR::FlowParams::RenderGlyphTypeTag
static

When rendering samples, determines whether samples are rendered as circles or arrows. Applies data of type: long. Valid values: 0 = FloatParams::GlyphTypeSphere, 1 = FloatParams::GlyphTypeArrow.

Definition at line 320 of file FlowParams.h.

◆ RenderLightAtCameraTag

const std::string VAPoR::FlowParams::RenderLightAtCameraTag
static

Definition at line 310 of file FlowParams.h.

◆ RenderRadiusBaseTag

const std::string VAPoR::FlowParams::RenderRadiusBaseTag
static

Definition at line 297 of file FlowParams.h.

◆ RenderRadiusScalarTag

const std::string VAPoR::FlowParams::RenderRadiusScalarTag
static

Scales the radius of the flow tube rendering. Applies data of type: double. Typical values: 0.1 to 5.0. Valid values: DBL_MIN to DBL_MAX.

Definition at line 303 of file FlowParams.h.

◆ RenderShowStreamDirTag

const std::string VAPoR::FlowParams::RenderShowStreamDirTag
static

Draws the direction of the flow stream. Applies data of type: bool. Valid values: 0 = off, 1 = on.

Definition at line 315 of file FlowParams.h.

◆ RenderTypeTag

const std::string VAPoR::FlowParams::RenderTypeTag
static

The rendering type that represents the flow paths. See RenderType enum class.

Definition at line 295 of file FlowParams.h.


The documentation for this class was generated from the following file: