Main Page   Class Hierarchy   Compound List   File List   Compound Members  

CFlow3DDoc Class Reference

Main document class of Flow3D application. More...

#include <Flow3DDoc.h>

List of all members.

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.

CVectorFieldGetCurrentField ()
 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.

MyAxisCrossGetSeedPCross ()
 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.

MyObjectm_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 ()


Detailed Description

Main document class of Flow3D application.


Member Function Documentation

void CFlow3DDoc::CalcFieldMinMaxPos  
 

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.


The documentation for this class was generated from the following files:
Generated on Fri Aug 9 10:12:39 2002 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002