GAS_SPH Class Reference

#include <GAS_SPH.h>

List of all members.

Classes

class  gas_SPHGridCell

Public Types

enum  sphWeight {
  POLY6, SPIKY, VISCOSITY, SPIKY2,
  SPIKY5, POLY6_UNSCALED, SPIKY_UNSCALED
}

Public Member Functions

 GAS_SPH ()
 ~GAS_SPH ()
bool initialize (const GU_Detail *gdp, bool fullinit=true, const GB_PointGroup *excludegroup=NULL, fpreal radiusScale=1.0, bool needVolume=true)
fpreal sampleF (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, fpreal *color=0, bool normalize=false, bool volumeScale=true)
fpreal sampleF (const UT_Vector3 &p, UT_FloatArray &floats, sphWeight wfunc, bool volumescale=true, bool normalize=false)
UT_Vector3 sampleV3 (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, fpreal *color=0, bool normalize=false)
UT_Vector3 sampleVelocity (const UT_Vector3 &p, sphWeight wfunc, int excludePoint=-1)
UT_Vector3 xsphVelocity (int ptnum, sphWeight wfunc, const UT_Vector3Array &velocities, fpreal xsph_constant)
fpreal sampleDensity (const UT_Vector3 &p, sphWeight wfunc, const bool massScale=true)
void sampleDoubleDensity (const UT_Vector3 &p, sphWeight wfunc1, sphWeight wfunc2, fpreal &density1, fpreal &density2, UT_PtrArray< GEO_Point * > &ptlist, const bool massScale=true)
fpreal sampleSurfaceDensity (const UT_Vector3 &p, GEO_AttributeHandle &distance_gah)
fpreal sampleSurfaceDensity (const UT_Vector3 &p, fpreal surfaceDistance, const bool distanceModifier=false)
UT_Vector3 sampleSurfaceDensityGrad (const UT_Vector3 &p, GEO_AttributeHandle &distance_gah)
UT_Vector3 sampleSurfaceDensityGrad (const UT_Vector3 &p)
fpreal sampleColor (const UT_Vector3 &p, sphWeight wfunc)
UT_Vector3 colorGradient (const UT_Vector3 &p, sphWeight wfunc)
UT_Vector3 colorGradientUnscaled (const UT_Vector3 &p, bool scale=false)
fpreal colorLaplacian (const UT_Vector3 &p, sphWeight wfunc, GEO_AttributeHandle *scale_gah=NULL, fpreal point_scale=1.0)
UT_Vector3 gradient (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, UT_Vector3 *color=0, bool debugprint=false, GEO_AttributeHandle *scale_gah=NULL, fpreal point_scale=1.0)
UT_Vector3 gradient (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, int axis, UT_Vector3 *color=0, bool normalize=false)
fpreal laplacian (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, fpreal *color=0)
UT_FloatArray laplacianF (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, int size, fpreal *color=0)
UT_Vector3 laplacianV3 (const UT_Vector3 &p, GEO_AttributeHandle gah, sphWeight wfunc, fpreal *color=0, GEO_AttributeHandle *scale_gah=NULL, fpreal point_scale=1.0)
void findClosePoints (const UT_Vector3 &p, UT_PtrArray< GEO_Point * > &ptlist)
int getMaxElements () const
bool initVelocityData (bool initKD=false)
fpreal getCellWidth ()
const UT_RefArray< bool > & excludeLonePoints (bool exclude, int numNeighbours=2)

Static Public Member Functions

static void missingAttribWarning (SIM_Engine &engine, GAS_SubSolver *solver, const UT_String &objName, const UT_String &geometryName, const UT_String &attribName)

Protected Types

typedef UT_RefArray
< gas_SPHGridCell
gas_CellArray

Protected Member Functions

fpreal64 weight (fpreal64 r2, fpreal64 h, sphWeight wfunc)
fpreal64 dweight (fpreal64 r, fpreal64 h, sphWeight wfunc)
fpreal64 d2weight (fpreal64 r, fpreal64 h, sphWeight wfunc)
fpreal64 scaleddweight (fpreal64 r, fpreal64 h, sphWeight wfunc)
void assignPoint (const GEO_Point *ppt)
gas_SPHGridCellgetCell (const UT_Vector3 &p, bool create=false)
gas_SPHGridCellgetCell (int i, int j, int k, bool create=false)

Protected Attributes

int myMaxCells
int myMaxCells2
fpreal myXmin
fpreal myYmin
fpreal myZmin
fpreal myCellWidth
fpreal myCellWidth2
int myMaxElements
const GU_DetailmyGdp
UT_HashTablemyGridSet
gas_CellArray myCellArray
bool myFullInit
GEO_AttributeHandle myRadGah
GEO_AttributeHandle myMassGah
GEO_AttributeHandle myDensityGah
UT_FloatArray myMasses
UT_FloatArray myDensities
UT_FloatArray myRadii
UT_Vector3Array myVelocities
GEO_PointTreemyPointTree
fpreal myRadiusScale
UT_RefArray< bool > myExcludePoint


Detailed Description

Definition at line 44 of file GAS_SPH.h.


Member Typedef Documentation

Definition at line 268 of file GAS_SPH.h.


Member Enumeration Documentation

Enumerator:
POLY6 
SPIKY 
VISCOSITY 
SPIKY2 
SPIKY5 
POLY6_UNSCALED 
SPIKY_UNSCALED 

Definition at line 50 of file GAS_SPH.h.


Constructor & Destructor Documentation

GAS_SPH::GAS_SPH (  ) 

GAS_SPH::~GAS_SPH (  ) 


Member Function Documentation

void GAS_SPH::assignPoint ( const GEO_Point ppt  )  [protected]

UT_Vector3 GAS_SPH::colorGradient ( const UT_Vector3 p,
sphWeight  wfunc 
)

UT_Vector3 GAS_SPH::colorGradientUnscaled ( const UT_Vector3 p,
bool  scale = false 
)

fpreal GAS_SPH::colorLaplacian ( const UT_Vector3 p,
sphWeight  wfunc,
GEO_AttributeHandle scale_gah = NULL,
fpreal  point_scale = 1.0 
)

fpreal64 GAS_SPH::d2weight ( fpreal64  r,
fpreal64  h,
sphWeight  wfunc 
) [protected]

fpreal64 GAS_SPH::dweight ( fpreal64  r,
fpreal64  h,
sphWeight  wfunc 
) [protected]

const UT_RefArray<bool>& GAS_SPH::excludeLonePoints ( bool  exclude,
int  numNeighbours = 2 
)

void GAS_SPH::findClosePoints ( const UT_Vector3 p,
UT_PtrArray< GEO_Point * > &  ptlist 
)

gas_SPHGridCell* GAS_SPH::getCell ( int  i,
int  j,
int  k,
bool  create = false 
) [protected]

gas_SPHGridCell* GAS_SPH::getCell ( const UT_Vector3 p,
bool  create = false 
) [protected]

fpreal GAS_SPH::getCellWidth (  )  [inline]

Definition at line 234 of file GAS_SPH.h.

int GAS_SPH::getMaxElements (  )  const [inline]

Definition at line 222 of file GAS_SPH.h.

UT_Vector3 GAS_SPH::gradient ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
int  axis,
UT_Vector3 color = 0,
bool  normalize = false 
)

UT_Vector3 GAS_SPH::gradient ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
UT_Vector3 color = 0,
bool  debugprint = false,
GEO_AttributeHandle scale_gah = NULL,
fpreal  point_scale = 1.0 
)

bool GAS_SPH::initialize ( const GU_Detail gdp,
bool  fullinit = true,
const GB_PointGroup excludegroup = NULL,
fpreal  radiusScale = 1.0,
bool  needVolume = true 
)

bool GAS_SPH::initVelocityData ( bool  initKD = false  ) 

fpreal GAS_SPH::laplacian ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
fpreal color = 0 
)

UT_FloatArray GAS_SPH::laplacianF ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
int  size,
fpreal color = 0 
)

UT_Vector3 GAS_SPH::laplacianV3 ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
fpreal color = 0,
GEO_AttributeHandle scale_gah = NULL,
fpreal  point_scale = 1.0 
)

static void GAS_SPH::missingAttribWarning ( SIM_Engine engine,
GAS_SubSolver solver,
const UT_String objName,
const UT_String geometryName,
const UT_String attribName 
) [static]

fpreal GAS_SPH::sampleColor ( const UT_Vector3 p,
sphWeight  wfunc 
)

fpreal GAS_SPH::sampleDensity ( const UT_Vector3 p,
sphWeight  wfunc,
const bool  massScale = true 
)

void GAS_SPH::sampleDoubleDensity ( const UT_Vector3 p,
sphWeight  wfunc1,
sphWeight  wfunc2,
fpreal density1,
fpreal density2,
UT_PtrArray< GEO_Point * > &  ptlist,
const bool  massScale = true 
)

fpreal GAS_SPH::sampleF ( const UT_Vector3 p,
UT_FloatArray floats,
sphWeight  wfunc,
bool  volumescale = true,
bool  normalize = false 
)

fpreal GAS_SPH::sampleF ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
fpreal color = 0,
bool  normalize = false,
bool  volumeScale = true 
)

fpreal GAS_SPH::sampleSurfaceDensity ( const UT_Vector3 p,
fpreal  surfaceDistance,
const bool  distanceModifier = false 
)

fpreal GAS_SPH::sampleSurfaceDensity ( const UT_Vector3 p,
GEO_AttributeHandle distance_gah 
)

UT_Vector3 GAS_SPH::sampleSurfaceDensityGrad ( const UT_Vector3 p  ) 

UT_Vector3 GAS_SPH::sampleSurfaceDensityGrad ( const UT_Vector3 p,
GEO_AttributeHandle distance_gah 
)

UT_Vector3 GAS_SPH::sampleV3 ( const UT_Vector3 p,
GEO_AttributeHandle  gah,
sphWeight  wfunc,
fpreal color = 0,
bool  normalize = false 
)

UT_Vector3 GAS_SPH::sampleVelocity ( const UT_Vector3 p,
sphWeight  wfunc,
int  excludePoint = -1 
)

fpreal64 GAS_SPH::scaleddweight ( fpreal64  r,
fpreal64  h,
sphWeight  wfunc 
) [protected]

fpreal64 GAS_SPH::weight ( fpreal64  r2,
fpreal64  h,
sphWeight  wfunc 
) [protected]

UT_Vector3 GAS_SPH::xsphVelocity ( int  ptnum,
sphWeight  wfunc,
const UT_Vector3Array velocities,
fpreal  xsph_constant 
)


Member Data Documentation

Definition at line 300 of file GAS_SPH.h.

Definition at line 291 of file GAS_SPH.h.

Definition at line 292 of file GAS_SPH.h.

Definition at line 310 of file GAS_SPH.h.

Definition at line 304 of file GAS_SPH.h.

Definition at line 324 of file GAS_SPH.h.

bool GAS_SPH::myFullInit [protected]

Definition at line 302 of file GAS_SPH.h.

const GU_Detail* GAS_SPH::myGdp [protected]

Definition at line 297 of file GAS_SPH.h.

Definition at line 299 of file GAS_SPH.h.

Definition at line 309 of file GAS_SPH.h.

Definition at line 304 of file GAS_SPH.h.

int GAS_SPH::myMaxCells [protected]

Definition at line 288 of file GAS_SPH.h.

int GAS_SPH::myMaxCells2 [protected]

Definition at line 289 of file GAS_SPH.h.

int GAS_SPH::myMaxElements [protected]

Definition at line 295 of file GAS_SPH.h.

Definition at line 317 of file GAS_SPH.h.

Definition at line 304 of file GAS_SPH.h.

Definition at line 311 of file GAS_SPH.h.

Definition at line 320 of file GAS_SPH.h.

Definition at line 312 of file GAS_SPH.h.

fpreal GAS_SPH::myXmin [protected]

Definition at line 290 of file GAS_SPH.h.

fpreal GAS_SPH::myYmin [protected]

Definition at line 290 of file GAS_SPH.h.

fpreal GAS_SPH::myZmin [protected]

Definition at line 290 of file GAS_SPH.h.


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

Generated on Fri May 25 00:10:24 2012 for HDK by  doxygen 1.5.9