Free Electron
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
fe::ext::Blade Class Reference

minimal semi-implicit curve sim More...

#include <Blade.h>

Public Types

enum  CollisionMethod {
  e_boundingSphere =0x00,
  e_nearestPoint =0x01,
  e_rayCastOneStep =0x02,
  e_rayCastHalvsies =0x03
}
 

Public Member Functions

void setTime (Real a_t)
 
Real time (void) const
 
void setTimeStep (Real a_h)
 
Real timeStep (void) const
 
void setTension (Real a_tension)
 
Real tension (void) const
 
void setTensionRandom (Real a_tensionRandom)
 
Real tensionRandom (void) const
 
void setRestoration (Real a_restoration)
 
Real restoration (void) const
 
void setRestorationRandom (Real a_restorationRandom)
 
Real restorationRandom (void) const
 
void setDrag (Real a_drag)
 
Real drag (void) const
 
void setDragRandom (Real a_dragRandom)
 
Real dragRandom (void) const
 
void setBend (Real a_bend)
 
Real bend (void) const
 
void setGrabbing (BWORD a_grabbing)
 
BWORD grabbing (void) const
 
void setGrabBias (Real a_grabBias)
 
Real grabBias (void) const
 
void setGrabBiasRandom (Real a_grabBiasRandom)
 
Real grabBiasRandom (void) const
 
void setCollisionGap (Real a_collisionGap)
 
Real collisionGap (void) const
 
void setMass (Real a_mass)
 
Real mass (void) const
 
void setWind (Real a_wind)
 
Real wind (void) const
 
void setTurbulence (Real a_turbulence)
 
Real turbulence (void) const
 
void setBuckling (BWORD a_buckling)
 
BWORD buckling (void) const
 
void setBreakAngle (Real a_breakAngle)
 
Real breakAngle (void) const
 
void setBreakAngleRandom (Real a_breakAngleRandom)
 
Real breakAngleRandom (void) const
 
void setElasticAngle (Real a_elasticAngle)
 
Real elasticAngle (void) const
 
void setElasticAngleRandom (Real a_elasticAngleRandom)
 
Real elasticAngleRandom (void) const
 
void setPopAngle (Real a_popAngle)
 
Real popAngle (void) const
 
void setPopAngleRandom (Real a_popAngleRandom)
 
Real popAngleRandom (void) const
 
void setRecoveryAngle (Real a_recoveryAngle)
 
Real recoveryAngle (void) const
 
void setRecoveryAngleRandom (Real a_recoveryAngleRandom)
 
Real recoveryAngleRandom (void) const
 
void setHalfingSteps (I32 a_halfingSteps)
 
I32 halfingSteps (void)
 
void setCollisionMethod (CollisionMethod a_method)
 
CollisionMethod collisionMethod (void)
 
void setCollider (sp< SurfaceI > a_spSurfaceI)
 
sp< SurfaceIcollider (void)
 
void setDriver (sp< SurfaceI > a_spSurfaceI)
 
sp< SurfaceIdriver (void)
 
void setDeformed (sp< SurfaceI > a_spSurfaceI)
 
sp< SurfaceIdeformed (void)
 
void setDrawDebug (sp< DrawI > a_spDrawDebug)
 
void storeAsRest (U32 a_index)
 
void populate (void)
 
void step (U32 a_index)
 
Array< SpatialVector > & tangent (void)
 
Array< SpatialVector > & facing (void)
 
Array< SpatialVector > & forceIn (void)
 
Array< SpatialVector > & velocityIn (void)
 
Array< Real > & velocity (void)
 
Array< I32 > & bindFace (void)
 
Array< SpatialBary > & bindBary (void)
 
Array< SpatialVector > & location (void)
 
Array< SpatialVector > & locationRef (void)
 
Array< SpatialVector > & locationDef (void)
 

Private Member Functions

void computeAngles (U32 a_index, Vector4 &a_rAngle, const SpatialVector *a_pDelta)
 

Private Attributes

Array< Contact > m_contact
 
Array< SpatialVectorm_tangent
 
Array< SpatialVectorm_facing
 
Array< SpatialVectorm_forceIn
 
Array< SpatialVectorm_velocityIn
 
Array< SpatialVectorm_restFacing
 
Array< SpatialVectorm_location
 
Array< SpatialVectorm_locationRef
 
Array< SpatialVectorm_locationDef
 
Array< Real > m_velocity
 
Array< I32 > m_bindFace
 
Array< SpatialBarym_bindBary
 
Array< Real > m_restLength
 
Array< Real > m_tangentBias
 
Array< I32 > m_kink
 
Array< I32 > m_kinkForward
 
Array< Vector4m_y
 
Array< Vector4m_length
 
Array< Vector4m_restAngle
 
Array< Vector4m_plasticAngle
 
Real m_t
 
Real m_tension
 
Real m_tensionRandom
 
Real m_restoration
 
Real m_restorationRandom
 
Real m_drag
 
Real m_dragRandom
 
Real m_bend
 
BWORD m_grabbing
 
Real m_grabBias
 
Real m_grabBiasRandom
 
Real m_collisionGap
 
Real m_mass
 
Real m_h
 
Real m_wind
 
Real m_turbulence
 
BWORD m_buckling
 
Real m_breakAngle
 
Real m_breakAngleRandom
 
Real m_elasticAngle
 
Real m_elasticAngleRandom
 
Real m_popAngle
 
Real m_popAngleRandom
 
Real m_recoveryAngle
 
Real m_recoveryAngleRandom
 
CollisionMethod m_method
 
I32 m_halfingSteps
 
sp< SurfaceIm_spCollider
 
sp< SurfaceIm_spDriver
 
sp< SurfaceIm_spDeformed
 
sp< DrawIm_spDrawDebug
 
Matrix< 4, 4, Real > m_invA
 
Matrix< 4, 4, Real > m_dfdx
 
Matrix< 4, 4, Real > m_hdfdx
 

Detailed Description

minimal semi-implicit curve sim


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