|
Open PaperOpt
|
#include <Staticsheet.h>


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 |
Basesheet implementing the static network model 1.in this model, the network only contains the fibers 2.No other fillers
| Staticsheet::Staticsheet | ( | double | xsize, |
| double | ysize, | ||
| double | seglen | ||
| ) |
| Staticsheet::~Staticsheet | ( | ) |
| int Staticsheet::AddFibers | ( | int | num, |
| double | length, | ||
| double | radius, | ||
| double | formFC | ||
| ) |
Adds fibers with given parameters Returns number of fibers added

| int Staticsheet::AddFibers | ( | Distributions::Distribution * | pDistlen, |
| Distributions::Distribution * | pDistwid, | ||
| Distributions::Distribution * | formFC, | ||
| int | num | ||
| ) |
Add the fibers using distribution function from Grace
| pDistlen | Distribution |
| pDistwid | Distribution |
| formFC | Distribution |
| num | int |

| int Staticsheet::AddFibers | ( | Distributions::DistributionOneDimension * | pDistlen, |
| Distributions::DistributionThreeDimension * | pDsitWidFactor, | ||
| int | num | ||
| ) |
Add the fibers using the distribution funtion from P3D
| pDistlen | DistributionOneDimension |
| pDsitWidFactor | DistributionThreeDimension |
| num | int |

| int Staticsheet::AddFibers | ( | Distributions::DistributionFromFiberSamples * | pDistSource, |
| int | num | ||
| ) |
Add the fibers using the fiber sample data
| pDistSource | DistributionFromFiberSamples |

| void Staticsheet::ApproximateLocalCurl | ( | ) |
Calculates local curl-angle along the fibers

| void Staticsheet::CalcHeightData | ( | double * | mat, |
| int | numCells | ||
| ) |
mat->2*numCells 1,:->MidHeight 2,:->Fibers [0,1]
| mat | |
| numCells |

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

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

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

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

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

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

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

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

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

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

| 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

| void Staticsheet::PlaceFibers | ( | bool | killAngularInformation = true, |
| int | numPlaceTests = 5 |
||
| ) |
Position fibers given angular information
| killAngularInformation | eliminate the angle information if set to true |
| numPlaceTests | times 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
| killAngularInformation | bool true:delelte the angle information false:keep the angle information |
| numPlaceTests | int number of the test when try to place fiber in different location |

| 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
| filename | the path of the file |

| 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
| resp | the result |
| datau | upper surface |
| datal | lower surface |
| meandiff | average 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
| kapa | algorithm required parameters |
| theta | algorithm required parameters |

| 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