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