instantreality 1.0

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

UniversalJointD

Wrapper node for the ODE joint type universal. See www.ode.org for detailed description of the underlying engine.

Inheritance

Code

XML encoding
<UniversalJointD anchor='0 0 0'
axis1='0 0 0'
axis2='0 0 0'
torque1='0'
torque2='0'
vel1='0'
vel2='0'
loStop1='-1e20'
loStop2='-1e20'
hiStop1='1e20'
hiStop2='1e20'
fmax1='0'
fmax2='0'
fudge1='1'
fudge2='1'
bounce1='0'
bounce2='0'
cfm1='1e-5'
cfm2='1e-5'
stopErp1='0.2'
stopErp2='0.2'
stopCfm1='0'
stopCfm2='0'
logFeature=''
 />
Classic encoding
UniversalJointD {
	anchor 0 0 0
	axis1 0 0 0
	axis2 0 0 0
	torque1 0
	torque2 0
	vel1 0
	vel2 0
	loStop1 -1e20
	loStop2 -1e20
	hiStop1 1e20
	hiStop2 1e20
	fmax1 0
	fmax2 0
	fudge1 1
	fudge2 1
	bounce1 0
	bounce2 0
	cfm1 1e-5
	cfm2 1e-5
	stopErp1 0.2
	stopErp2 0.2
	stopCfm1 0
	stopCfm2 0
	logFeature [""]
}

Interface

Filter: X3D only | Avalon only | All
id Name DataType PartType Default ValueType Description
SFVec3f anchor SFVec3f inputOutput 0 0 0 anchor point of the joint.
SFVec3f axis1 SFVec3f inputOutput 0 0 0 first axis of rotation.
SFVec3f axis2 SFVec3f inputOutput 0 0 0 second axis of rotation.
MFNode bodies MFNode initializeOnly Node the two bodies connected by this joint
SFFloat bounce1 SFFloat initializeOnly 0 [0, 1] bounciness at stop1
SFFloat bounce2 SFFloat initializeOnly 0 bounciness at stop1
SFFloat cfm1 SFFloat initializeOnly 1e-5 (0, 1] CFM on axis1. See ode docs for explanation of CFM (Constraint Force Mixing).
SFFloat cfm2 SFFloat initializeOnly 1e-5 (0, 1] CFM on axis2. See ode docs for explanation of CFM (Constraint Force Mixing).
SFFloat fmax1 SFFloat initializeOnly 0 (-inf, inf) maximum force applied to reach the desired velocity on axis1
SFFloat fmax2 SFFloat initializeOnly 0 [0, inf) maximum force applied to reach the desired velocity on axis2
SFVec3f force1Feedback SFVec3f outputOnly returns the computed force applied to body1 on each simulation step
SFVec3f force2Feedback SFVec3f inputOnly returns the computed force applied to body2 on each simulation step
SFFloat fudge1 SFFloat initializeOnly 1 [0, 1] fudge factor at stops on axis1. If joint gets jumpy at stops try reducing this.
SFFloat fudge2 SFFloat initializeOnly 1 [0, 1] fudge factor at stops on axis1. If joint gets jumpy at stops try reducing this.
SFFloat hiStop1 SFFloat inputOutput 1e20 (-inf, inf) high stop angle on axis1
SFFloat hiStop2 SFFloat inputOutput 1e20 (-inf, inf) high stop angle on axis2
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
SFFloat loStop1 SFFloat inputOutput -1e20 (-inf, inf) low stop angle on axis1
SFFloat loStop2 SFFloat inputOutput -1e20 (-inf, inf) low stop angle on axis2
SFNode metadata SFNode inputOutput MetadataObject container for payload metadata inside MetadataSet element
SFFloat stopCfm1 SFFloat initializeOnly 0 (0, 1] CFM (Constraint Force Mixing) at stops on axis1. See ode docs for details on CFM.
SFFloat stopCfm2 SFFloat initializeOnly 0 (0, 1] CFM (Constraint Force Mixing) at stops on axis2. See ode docs for details on CFM.
SFFloat stopErp1 SFFloat initializeOnly 0.2 (0, 1] ERP (Error Reduction Parameter) at stops on axis1. See ode docs for details on ERPs.
SFFloat stopErp2 SFFloat initializeOnly 0.2 (0, 1] ERP (Error Reduction Parameter) at stops on axis2. See ode docs for details on ERPs.
SFFloat torque1 SFFloat inputOutput 0 (-inf, inf) get/set torque on axis1
SFVec3f torque1Feedback SFVec3f outputOnly returns the computed torque applied to body1 on each simulation step
SFFloat torque2 SFFloat inputOutput 0 (-inf, inf) get/set torque on axis2
SFVec3f torque2Feedback SFVec3f outputOnly returns the computed torque applied to body2 on each simulation step
SFFloat vel1 SFFloat initializeOnly 0 (-inf, inf) get/set velocity on axis1
SFFloat vel2 SFFloat initializeOnly 0 (-inf, inf) get/set velocity on axis1