instantreality 1.0

Component:
Simulator
Status:
fully implemented
Structure type:
concrete
Standard:
Avalon

CantileverBeamSystem

System based on kinematic chain for simulating things with hair like behaviour. It is best used together with the SortedPrimitiveSet for rendering purposes.

Inheritance

Code

XML encoding
<CantileverBeamSystem index=''
anchorIndex=''
coord=''
normal=''
tangent=''
color=''
texCoord=''
refPoint=''
localForceScale='0'
collisionDomainType=''
collisionDomainParam=''
gravity='0 -10 0'
externalForce='0 0 0'
minBend='0.05'
maxBend='0.1'
massRadius='1.0'
staticFriction='0.5'
slidingFriction='0.5'
airFriction='1.0'
occluderSpheres=''
time='0'
speed='1'
minStepsPerFrame='-1'
maxStepsPerFrame='-1'
maxStepTime='-1'
localCoordSystem='TRUE'
enabled='TRUE'
logFeature=''
 />
Classic encoding
CantileverBeamSystem {
	index []
	anchorIndex []
	coord []
	normal []
	tangent []
	color []
	texCoord []
	refPoint []
	localForceScale 0
	collisionDomainType [""]
	collisionDomainParam []
	gravity 0 -10 0
	externalForce 0 0 0
	minBend 0.05
	maxBend 0.1
	massRadius 1.0
	staticFriction 0.5
	slidingFriction 0.5
	airFriction 1.0
	occluderSpheres []
	time 0
	speed 1
	minStepsPerFrame -1
	maxStepsPerFrame -1
	maxStepTime -1
	localCoordSystem TRUE
	enabled TRUE
	logFeature [""]
}

Interface

Filter: X3D only | Avalon only | All
id Name DataType PartType Default ValueType Description
MFInt32 index MFInt32 inputOutput indices hold topology; -1 for dividing tris/ quads; additionally -2 for dividing primitive strips
MFInt32 anchorIndex MFInt32 inputOutput contains all indices of points which are not allowed to move (e.g. hair roots)
MFVec3f coord MFVec3f inputOutput the vertex coordinates which are updated each frame
MFVec3f normal MFVec3f inputOutput per vertex normal (calculated by simulation)
MFVec3f tangent MFVec3f inputOutput per vertex tangent (calculated by simulation)
MFColor color MFColor inputOutput per vertex colors
MFVec2f texCoord MFVec2f inputOutput texture coordinates
MFVec3f refPoint MFVec3f inputOutput reference point of primitive strip
SFFloat localForceScale SFFloat inputOutput 0 scales force offset if in local coordinate system
MFString collisionDomainType MFString inputOutput [SPHERE, ELLIPSOID] Collision object type, eg sphere or ellipsoid, each object has up to nine params. SPHERE: a spherical geo approx; ELLIPSOID: an ellipsoidal geo approx;
MFFloat collisionDomainParam MFFloat inputOutput parameters like center and radius for defining a parametric collision object, last param [>]0 means [dis]connected
SFVec3f gravity SFVec3f inputOutput 0 -10 0 acceleration of fall due to gravity
SFVec3f externalForce SFVec3f inputOutput 0 0 0 e.g. wind force
SFFloat minBend SFFloat inputOutput 0.05 [0, inf) minimal angle between succeeding chain segments
SFFloat maxBend SFFloat inputOutput 0.1 [0, inf) maximal angle between succeeding chain segments
SFFloat massRadius SFFloat inputOutput 1.0 [0, inf) maximal offset added to collision object size
SFFloat staticFriction SFFloat inputOutput 0.5 [0, inf) friction occuring during slow motion (NYI)
SFFloat slidingFriction SFFloat inputOutput 0.5 [0, inf) friction occuring during fast motion (NYI)
SFFloat airFriction SFFloat inputOutput 1.0 [0, inf) additional friction for simulationg air (NYI)
MFVec4f occluderSpheres MFVec4f inputOutput transformed collision spheres (output used for sorting during rendering)
SFTime time SFTime inputOutput 0 Externally triggered time (internally used for dT).
SFFloat speed SFFloat inputOutput 1 Scaling factor for simulation speed.
SFInt32 minStepsPerFrame SFInt32 inputOutput -1 minimum value for iteration steps per frame
SFInt32 maxStepsPerFrame SFInt32 inputOutput -1 maximum value for iteration steps per frame
SFTime maxStepTime SFTime inputOutput -1 upper bound for dT (useful for preventing simulation from blowing off if frame rate is too low)
SFBool localCoordSystem SFBool inputOutput TRUE evaluate calculations (e.g. gravitation) in local or global coordinate frame
SFBool enabled SFBool inputOutput TRUE Flag to enable/disable the node behaviour
MFString logFeature MFString inputOutput state, child, parent, route, eventIn, eventOut controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything
SFNode metadata SFNode inputOutput MetadataObject container for payload metadata inside MetadataSet element