#include <Flow3DDoc.h>
Public Methods | |
void | CalcFieldMinMaxPos () |
Calculates new field boundaries if field is recalculated. More... | |
void | UpdateAnimIndex () |
Updates animation index table. | |
void | CreateAnimIndexTbl () |
Table of streamline list positions. | |
void | DoInsideTest () |
Tests streamlines if they are inside focus. | |
void | UpdateContextProp () |
Updates context streamline properties. | |
int | GetAddInfoRepr () |
Returns type of additional scalar info representation. | |
void | SetAddInfoRepr (int repr) |
Sets type of additional scalar info representation. | |
void | CreateMinMaxScalars () |
Creates array with various minimal and maximal scalar values. | |
float * | CreateEndTapTable (int width) |
Creates table for line end tapering values. | |
CVectorField * | GetCurrentField () |
Returns pointer to vectorfield. | |
int | GetCaPerSP () |
Returns number of candidates per samplepoints. | |
int | GetResNum () |
Returns maximal number of calculated streamlines. | |
int | GetMaxIterations () |
Returns maximal number of iterations. | |
float | GetDt () |
Returns dt. | |
float | GetDTest () |
Returns dTest. | |
float | GetDSepPerc () |
Returns dSep(in % of vectorfield x-range). | |
float | GetMaxXPos () |
Returns maximal x-position of current vectorfield. | |
float | GetMaxYPos () |
Returns maximal y-position of current vectorfield. | |
float | GetMaxZPos () |
Returns maximal z-position of current vectorfield. | |
float | GetMinXPos () |
Returns minimal x-position of current vectorfield. | |
float | GetMinYPos () |
Returns minimal y-position of current vectorfield. | |
float | GetMinZPos () |
Returns minimal z-position of current vectorfield. | |
float | GetXRange () |
Returns range of vectorfield in x-direction. | |
float | GetYRange () |
Returns range of vectorfield in y-direction. | |
float | GetZRange () |
Returns range of vectorfield in z-direction. | |
float | GetMinDistPerc () |
Returns minimal distance between samplepoints in percent of field x-range. | |
int | GetStreamlinesNum () |
Returns number of streamlines. | |
long | GetDisplSamplePNum () |
Returns number of displayed samplepoints. | |
long | GetSamplePointsNum () |
Returns number of samplepoints. | |
long | GetCalculationTime () |
Returns calculation time of streamlines in seconds. | |
bool | GetIsCorrectOrder () |
Returns flag which indicates if correct rendering order should be used. | |
bool | GetIsTapering () |
Returns flag which indicates if tapering should be used. | |
bool | GetUseDisplayLists () |
Returns flag which indicates if display lists should be used. | |
bool | GetIsAddInfo () |
Returns flag which indicates if additional information should be displayed. | |
bool | GetIsCutLines () |
Returns flag which indicates if context streamlines should be cut in focus. | |
bool | GetIsMagicVol () |
Returns flag which indicates if magic volume should be shown. | |
bool | GetIsIncremential () |
Returns flag which indicates if magic volume should be shown. | |
bool | GetIsCalcIncr () |
Returns flag which indicates if magic volume should be shown. | |
bool | GetIsFocusContext () |
Returns flag which indicates if focus/context modus should be shown. | |
float | GetInterPos () |
Returns intermediate position from continuous transfer function. | |
int | GetAddInfoType () |
Returns additional info type. | |
float | GetScalar (int index, CStreamlinePiece *piece) |
Returns scalar value with specified index;. | |
void | SetIsTapering (bool isTapering) |
Sets flag which indicates if tapering should be used. | |
void | SetIsCutLines (bool isCutLines) |
Sets flag which indicates if context streamlines should be cut in focus. | |
void | SetIsCorrectOrder (bool isCorrectOrder) |
Sets flag which indicates if correct rendering order should be used. | |
void | SetIsAddInfo (bool isAddInfo) |
Sets flag which indicates if additional information should be displayed. | |
void | SetMinDistPerc (float minDistPerc) |
Sets minimal distance between samplepoints in percent of field x-range. | |
void | SetUseDisplayLists (bool useDisplayLists) |
Sets flag which indicates if display lists should be used. | |
void | SetAddInfoType (int addInfoType) |
Sets additional info type. | |
void | SetInterPos (float interPos) |
Sets middle pos from color code transfer function. | |
void | UpdateMinMaxPos () |
Updates min/max position values of vectorfield boundaries. | |
void | SetIsMagicVol (bool isMagicVol) |
Sets flag which indicates if magic volume should be shown. | |
void | SetIsFocusContext (bool isFocusContext) |
Sets flag which indicates if focus/context modus should be shown. | |
float | ThicknessCoeff (CSamplePoint *samplePoint) |
Computes thickness coefficient of streamline for tapering effect. | |
CObList * | GetStreamlines () |
returns list of streamlines. | |
void | CalcMinMaxScalars () |
Calculates min + max scalars of streamline pieces for add. info. | |
CObList * | GetXList () |
Returns pointer to pieces list ordered in x-direction upwards. | |
CObList * | GetYList () |
Returns pointer to pieces list ordered in y-direction upwards. | |
CObList * | GetZList () |
Returns pointer pieces list ordered in z-direction upwards. | |
MyAxisCross * | GetSeedPCross () |
Returns axis cross for specifying first seedpoint of algorithm. | |
POSITION | InsertXList (CStreamlinePiece *piece, POSITION pos, bool sort) |
Inserts new piece into x-direction-list: list sorted if sort = true. | |
POSITION | InsertYList (CStreamlinePiece *piece, POSITION pos, bool sort) |
Inserts new piece into x-direction-list: list sorted if sort = true. | |
POSITION | InsertZList (CStreamlinePiece *piece, POSITION pos, bool sort) |
Inserts new piece into x-direction-list: list sorted if sort = true. | |
void | UpdatePiecesLists () |
Updates pieces lists. | |
void | UpdatePiece (CStreamlinePiece *piece, float *scalarVals) |
Updates one streamline piece with current properties and given scalar values. | |
void | Recalc () |
Calculates new streamlines. | |
void | CreateField () |
Creates new vector field with analytic equations. | |
void | InsertPiecesLists (CStreamline *streamline) |
Inserts pieces of new streamlines into x,y and z-list and inits values. | |
void | ResortPiecesLists () |
Resorts streamline pieces lists and inits values. | |
void | DeletePiecesLists () |
Deletes pieces lists. | |
void | DeleteStreamlines () |
Deletes all streamlines. | |
int | GetIntegratorType () |
Returns type of interpolator. | |
int | GetInterpolatorType () |
Returns type of integrator. | |
void | UpdateResIndex (RegProp &prop) |
Updates resolution index on specifie region index. | |
int | GetEndTapWidth () |
Returns width(=size) of end tapering table. | |
void | SetEndTapWidth (int width) |
Sets width(=size) of end tapering table. | |
bool | GetIsEndTap () |
Indicates if end tapering should be used. | |
void | SetIsEndTap (bool isEndTap) |
Sets flag if end tapering should be used. | |
int | CalcEndTapIndex (int index, int width, int lineLength) |
Calculates end tapering indeces for streamline pieces. | |
void | CalcArrow_EndTap () |
Calculates end tapering and arrow position for every streamline pieces. | |
bool | IsDraw (bool &isInside, CStreamlinePiece *piece, int res, int focusRes, int contextRes) |
Returns flag if streamline pieces should be drawn to screen. | |
void | GetMinMaxScalar (int index, float &minScalar, float &maxScalar) |
Returns minimal and maximal scalar value for scalar of index i. | |
void | SetContTransfProp (int index, ContTransfProp &prop) |
void | GetContTransfProp (int index, ContTransfProp &prop) |
void | CalcIsDraw () |
Calculates which pieces of the streamline should be drawn. | |
void | InitRegions () |
void | InitContTransfProp () |
virtual | ~CFlow3DDoc () |
virtual BOOL | OnNewDocument () |
virtual void | Serialize (CArchive &ar) |
virtual void | DeleteContents () |
Public Attributes | |
RegProp | m_RegProp [DEF_REGPROP_NUM] |
Properties of regions. Index DEF_REGIONS_NUM holds default region. | |
ContextProp | m_ContextProp |
Properties of streamlines falling into context. | |
ContTransfProp | m_ContTransfProp [DEF_CONTTRANSFVALUES_NUM] |
Continuous transfer function properties of streamlines. | |
float * | m_EndTapTable |
End tapering line width table. | |
MyObject * | m_MagicVolume |
Magic volume = boundaries of focus. | |
float * | m_MinScalars |
Minimal scalar values. | |
float * | m_MaxScalars |
Maximal scalar values. | |
CPoint3D | m_MaxPos |
Maximal position value of samplepoints. | |
CPoint3D | m_MinPos |
Minimal position value of samplepoints. | |
int | m_PeriodLength |
Current length of transparency functions(only haze linear, sinus). | |
POSITION * | m_AnimStartTbl |
Streamline start position in animation table. | |
POSITION * | m_AnimEndTbl |
Streamline end position in animation table. | |
bool | m_IsAnimation |
Indicates if streamlines should be animated. | |
bool | m_IsArrows |
Indicates if arrows should be drawn. | |
int | m_AlphaTblWidth |
Width of alpha table. | |
GLubyte * | m_AlphaTable |
Table which holds opacity values for transparency function. | |
int | m_MagicVolType |
Magic volume type index. | |
MyRectangle | m_Boundaries |
Boundaries of field. | |
CPoint3D | m_BlMinPos |
Minimal position of block(block-dataset). | |
CPoint3D | m_BlMaxPos |
Maximal position of block(block-dataset). | |
float | m_BlZOffs |
Z-offset value of block(block-dataset). | |
CStreamlineMaterial | m_BlMaterial |
Block material(block-dataset). | |
bool | m_IsPlaceSeedPoint |
Is seedpoint-placing mode? | |
int | m_RecalcType |
If in focus/context modus, this member defines the recalculation type. | |
int | m_AnimSpeed |
Animation speed of streamlines. | |
int | m_AnimType |
Animation type. | |
Protected Methods | |
CFlow3DDoc () | |
afx_msg void | OnOptionsAlgorithm () |
afx_msg void | OnSetFieldSamplingOptions () |
afx_msg void | OnSetResolutionOptions () |
afx_msg void | OnOpenData () |
afx_msg void | OnSaveDataAs () |
|
Calculates new field boundaries if field is recalculated. If field is recalculated using focus/context mode, there are two options: 1) Recalculate field with focus as new field boundaries. 3) Recalculate field with focus as seedpoint region(the region where new streamlines can be planted. This calculates caculates the field parameters according to one of the two upper options. |