Free Electron
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
fe::ext::Tree Class Reference

Vegetation model for a Dynamic Tree. More...

#include <Tree.h>

Inheritance diagram for fe::ext::Tree:
Inheritance graph
[legend]

Classes

class  Leaf
 Leaf on a Tree. More...
 
class  Stick
 Segment of a branch. More...
 

Public Member Functions

void initialize (void)
 
virtual void reset (void)
 
void start (void)
 
void stop (void)
 
virtual void generate (const Record seed)
 
virtual void addBranch (U32 a_fromIndex, U32 a_toIndex, U32 a_level, Real a_radius1, Real a_radius2, const SpatialVector &a_span, Real a_rigidity)
 
virtual void prepare (void)
 
virtual void update (const Real deltaT)
 
virtual U32 numSticks (void) const
 
virtual PlantModelI::Stickstick (U32 index)
 
virtual U32 numLeaves (void) const
 
virtual PlantModelI::Leafleaf (U32 index)
 
virtual const SpatialVectorleafPoints (void) const
 
virtual const SpatialVectorleafNormals (void) const
 
virtual U32 stickBundles (void) const
 
virtual U32 stickBundleSize (U32 bundle) const
 
virtual const SpatialTransformstickTransforms (U32 bundle) const
 
virtual const SpatialVectorstickScale (U32 bundle) const
 
virtual const Real * stickBaseScale (U32 bundle) const
 
virtual const U32 * stickSlices (U32 bundle) const
 
virtual void setLocation (const SpatialVector &location)
 
virtual void setOffset (const SpatialVector &offset)
 
virtual sp< SurfaceIcollider (void)
 
virtual void setCollider (sp< SurfaceI > a_spCollider)
 
virtual SpatialTransformcolliderTransform (void)
 
virtual void setColliderTransform (const SpatialTransform &a_rColliderTransform)
 
virtual SpatialVectoreffectorForce (void)
 
virtual void setGravity (const SpatialVector &a_gravity)
 
virtual void setUniformVelocity (const SpatialVector &a_velocity)
 
virtual void setUniformRigidity (const Real a_rigidity)
 
virtual void setDamping (const Real a_damping)
 
virtual void setReactivity (const Real a_reactivity)
 
virtual void setThreshold (const Real a_threshold)
 
virtual void setCollisionMethod (const String a_collisionMethod)
 
virtual void setCollideEnd (const BWORD a_collideEnd)
 
virtual void setRepulsion (const Real a_repulsion)
 
virtual void setRepulsionFalloff (const Real a_repulsionFalloff)
 
virtual void setDepletion (const Real a_depletion)
 
virtual void setDepletionFalloff (const Real a_depletionFalloff)
 
virtual void setWindHampering (const Real a_windHampering)
 
virtual void setWindFalloff (const Real a_windFalloff)
 
virtual void setPlasticity (const Real a_plasticity)
 
virtual void setCompensation (const BWORD a_compensation)
 
virtual void setCorrection (const BWORD a_correction)
 
void addKine (Tree::Stick *pStick)
 
void setStick (U32 index, Tree::Stick *pStick)
 
U32 newLeaf (void)
 
void forward_kine_thread (U32 thread, I32 index)
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
String factoryName (void)
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setFactoryIndex (I32 a_factoryIndex)
 Set the library's factory index. More...
 
I32 factoryIndex (void)
 Get the library's factory index. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 

Private Member Functions

void bindLevel (const U32 level)
 
void solve (U32 m)
 
void runSolvers (void)
 
void runKine (void)
 

Static Private Member Functions

static F32 shapeFunction (const F32 along, const F32 valleybase, const F32 valleytip, const F32 peakAlong, const F32 powerbase, const F32 powertip)
 

Private Attributes

TreeSeed m_seedRV
 
StickLevel m_levelRV
 
I32 m_boundLevel
 
F32 m_lastDeltaT
 
U32 m_sticks
 
Stick m_root
 
Array< Tree::Stick * > m_kineArray
 
Array< Tree::Stick * > m_stickArray
 
Array< I32 > m_stickMap
 
Array< Tree::Leaf * > m_leafArray
 
SpatialVectorm_pLeafPoints
 
SpatialVectorm_pLeafNormals
 
Array< SpatialTransform * > m_stickTransformBundles
 
Array< SpatialVector * > m_stickScaleBundles
 
Array< Real * > m_stickBaseScaleBundles
 
Array< U32 * > m_stickSliceBundles
 
Array< U32 > m_bundleSize
 
U32 m_bundles
 
SpatialVector m_location
 
SpatialVector m_offset
 
SpatialQuaternion m_rotation
 
sp< SurfaceIm_spCollider
 
SpatialTransform m_colliderTransform
 
SpatialVector m_effectorForce
 
Array< SpatialVectorm_effectorForceArray
 
SpatialVector m_gravity
 
SpatialVector m_uniformVelocity
 
Real m_uniformRigidity
 
Real m_damping
 
Real m_reactivity
 
Real m_threshold
 
String m_collisionMethod
 
BWORD m_collideEnd
 
BWORD m_compensation
 
BWORD m_correction
 
I32 m_useCorrection
 
Real m_repulsion
 
Real m_repulsionFalloff
 
Real m_depletion
 
Real m_depletionFalloff
 
Real m_windHampering
 
Real m_windFalloff
 
Real m_plasticity
 
sp< Profilerm_spProfiler
 
sp< Profiler::Profilem_spProfileReset
 
sp< Profiler::Profilem_spProfilePopulate
 
sp< Profiler::Profilem_spProfileSolve
 
sp< Profiler::Profilem_spProfileSolveWait
 
sp< Profiler::Profilem_spProfileThreadWait
 
sp< Profiler::Profilem_spProfileSetup [2]
 
sp< Profiler::Profilem_spProfileSolver [2]
 
sp< Profiler::Profilem_spProfileKine
 
sp< Profiler::Profilem_spProfileKineWait
 
Array< sp< Profiler::Profile > > m_spProfileKineLimbArray
 
VectorN m_force [2]
 
VectorN m_velocity [2]
 
VectorN m_addPosition [2]
 
VectorN m_addVelocity [2]
 
VectorN m_tempVector1 [2]
 
VectorN m_tempVector2 [2]
 
VectorN m_deltaV [2]
 
VectorN m_b [2]
 
VectorN m_mass
 
VectorN m_im
 
VectorN m_him
 
VectorN m_invSqrtA [2]
 
MatrixN m_A [2]
 
MatrixN m_tempMatrix [2]
 
MatrixN m_dfdx [2]
 
MatrixN m_imdfdx [2]
 
MatrixN m_imdfdv [2]
 
MatrixN m_identity
 
ConjugateGradient< MatrixN, VectorNm_solver [2]
 
sp< JobQueue< I32 > > m_spJobQueue
 
sp< Gang< SolverWorker, I32 > > m_spGang
 

Additional Inherited Members

- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 

Detailed Description

Vegetation model for a Dynamic Tree.


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