Open PaperOpt
p3d::Staticsheet Class Reference

#include <Staticsheet.h>

Inheritance diagram for p3d::Staticsheet:
Collaboration diagram for p3d::Staticsheet:

List of all members.

Public Member Functions

 Staticsheet (double xsize, double ysize, double seglen)
 ~Staticsheet ()
int GetDataSize ()
void SaveStaticsheet (string filename)
int ReadFiberFromFile (string filename)
int Process (WavePacket &wp, int up_down, int internal) const
int AddFibers (int num, double length, double radius, double formFC)
int AddFibers (Distributions::Distribution *pDistlen, Distributions::Distribution *pDistwid, Distributions::Distribution *formFC, int num)
int AddFibers (Distributions::DistributionOneDimension *pDistlen, Distributions::DistributionThreeDimension *pDsitWidFactor, int num)
int AddFibers (Distributions::DistributionFromFiberSamples *pDistSource, int num)
void ShuffleFibers ()
void SetRandomOrientation_vonMises (double kapa, double theta)
void ApproximateLocalCurl ()
void PlaceFibers (bool killAngularInformation=true, int numPlaceTests=5)
void MakePaper3DStructure (Array2D< float > *surf)
void CalcHeightData (double *mat, int numCells)
double GetSizeX () const
double GetSizeY () const
double GetTotalWeight () const
void SetTotalWeight (double totalWeight)
double GetSurfaceWeight () const
void EstimateLocalSurfWeight (int res, double *data)
void EstimateSurfaces (double probesize, int *resp, float **datau, float **datal, double *meandiff)
void SaveEstimateSurfaces (string filename, int res, float *datau, float *datal, double meandiff)
int GetSegType () const
int GetFlags () const
void SetSegType (int segType)
void SetFlags (int initFlg)
double GetTop () const
double GetMedTop () const
double GetBot () const
double GetMedBot () const
void SetTop (double SStr_top)
void SetMedTop (double SStr_mtop)
void SetBot (double SStr_bot)
void SetMedBot (double SStr_mbot)
vector< Fiber * >::const_iterator FiberBegin () const
vector< Fiber * >::const_iterator FiberEnd () const

Detailed Description

Basesheet implementing the static network model 1.in this model, the network only contains the fibers 2.No other fillers


Constructor & Destructor Documentation

Staticsheet::Staticsheet ( double  xsize,
double  ysize,
double  seglen 
)
Staticsheet::~Staticsheet ( )

Member Function Documentation

int Staticsheet::AddFibers ( int  num,
double  length,
double  radius,
double  formFC 
)

Adds fibers with given parameters Returns number of fibers added

Here is the call graph for this function:

int Staticsheet::AddFibers ( Distributions::Distribution pDistlen,
Distributions::Distribution pDistwid,
Distributions::Distribution formFC,
int  num 
)

Add the fibers using distribution function from Grace

Parameters:
pDistlenDistribution
pDistwidDistribution
formFCDistribution
numint

Here is the call graph for this function:

int Staticsheet::AddFibers ( Distributions::DistributionOneDimension pDistlen,
Distributions::DistributionThreeDimension pDsitWidFactor,
int  num 
)

Add the fibers using the distribution funtion from P3D

Parameters:
pDistlenDistributionOneDimension
pDsitWidFactorDistributionThreeDimension
numint

Here is the call graph for this function:

int Staticsheet::AddFibers ( Distributions::DistributionFromFiberSamples pDistSource,
int  num 
)

Add the fibers using the fiber sample data

Parameters:
pDistSourceDistributionFromFiberSamples

Here is the call graph for this function:

void Staticsheet::ApproximateLocalCurl ( )

Calculates local curl-angle along the fibers

Here is the call graph for this function:

void Staticsheet::CalcHeightData ( double *  mat,
int  numCells 
)

mat->2*numCells 1,:->MidHeight 2,:->Fibers [0,1]

Parameters:
mat
numCells

Here is the call graph for this function:

void Staticsheet::EstimateLocalSurfWeight ( int  res,
double *  data 
)

Here is the call graph for this function:

void Staticsheet::EstimateSurfaces ( double  probesize,
int *  resp,
float **  datau,
float **  datal,
double *  meandiff 
)

Here is the call graph for this function:

vector<Fiber*>::const_iterator p3d::Staticsheet::FiberBegin ( ) const [inline]

Here is the caller graph for this function:

vector<Fiber*>::const_iterator p3d::Staticsheet::FiberEnd ( ) const [inline]

Here is the caller graph for this function:

double p3d::Staticsheet::GetBot ( ) const [inline]

Here is the caller graph for this function:

int Staticsheet::GetDataSize ( )
int p3d::Staticsheet::GetFlags ( ) const [inline]

Here is the caller graph for this function:

double p3d::Staticsheet::GetMedBot ( ) const [inline]
double p3d::Staticsheet::GetMedTop ( ) const [inline]
int p3d::Staticsheet::GetSegType ( ) const [inline]

Here is the caller graph for this function:

double p3d::Staticsheet::GetSizeX ( ) const [inline]

Here is the caller graph for this function:

double p3d::Staticsheet::GetSizeY ( ) const [inline]

Here is the caller graph for this function:

double p3d::Staticsheet::GetSurfaceWeight ( ) const [inline]
double p3d::Staticsheet::GetTop ( ) const [inline]

Here is the caller graph for this function:

double p3d::Staticsheet::GetTotalWeight ( ) const [inline]
void Staticsheet::MakePaper3DStructure ( Array2D< float > *  surf)

Places fibers in 3d given positions. Crude approximation... Assumes fiber does not cross itself within minimum searchlength required by algorithm

Here is the call graph for this function:

void Staticsheet::PlaceFibers ( bool  killAngularInformation = true,
int  numPlaceTests = 5 
)

Position fibers given angular information

Parameters:
killAngularInformationeliminate the angle information if set to true
numPlaceTeststimes used to test fiber placement

Algorithm: Place each fiber <numPlaceTests> times. For each placing integrate f(x) over the area coverd by the fiber. Select the placing with the smalest integrated value

f(x)=poly of deg 3, f(0)=0, f(mean)=1 f'(mean)=0 f''(mean)=0

Parameters:
killAngularInformationbool true:delelte the angle information false:keep the angle information
numPlaceTestsint number of the test when try to place fiber in different location
Returns:
void

Here is the call graph for this function:

int p3d::Staticsheet::Process ( WavePacket wp,
int  up_down,
int  internal 
) const [inline, virtual]

This class is derived from StructureObject, which requires a Process method

Implements StructureObject.

int Staticsheet::ReadFiberFromFile ( string  filename)

init the mFibers from the binary file

Parameters:
filenamethe path of the file

Here is the call graph for this function:

void Staticsheet::SaveEstimateSurfaces ( string  filename,
int  res,
float *  datau,
float *  datal,
double  meandiff 
)

Save the surfaces of the basesheet into designated files The discription of surface save in XML file The height of the surface saved in BINARY file

Parameters:
respthe result
datauupper surface
datallower surface
meandiffaverage mean difference between upper and lower surface
void Staticsheet::SaveStaticsheet ( string  filename)
void p3d::Staticsheet::SetBot ( double  SStr_bot) [inline]
void p3d::Staticsheet::SetFlags ( int  initFlg) [inline]
void p3d::Staticsheet::SetMedBot ( double  SStr_mbot) [inline]
void p3d::Staticsheet::SetMedTop ( double  SStr_mtop) [inline]
void Staticsheet::SetRandomOrientation_vonMises ( double  kapa,
double  theta 
)

Set orientation on all fibers not allready set

Parameters:
kapaalgorithm required parameters
thetaalgorithm required parameters

Here is the call graph for this function:

void p3d::Staticsheet::SetSegType ( int  segType) [inline]
void p3d::Staticsheet::SetTop ( double  SStr_top) [inline]
void p3d::Staticsheet::SetTotalWeight ( double  totalWeight) [inline]
void Staticsheet::ShuffleFibers ( )

Mixes the fibers after addision of diffrent types of fibers


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