Package | Description |
---|---|
msim | |
msim.control |
Mixed physical/virtual linkage Simulator control algorithms.
|
msim.model |
Mixed physical/virtual linkage Simulator model representation and algorithms.
|
msim.serialization |
Mixed physical/virtual linkage Simulator serialization.
|
msim.ui |
Mixed physical/virtual linkage Simulator user interface.
|
Modifier and Type | Method and Description |
---|---|
static Link |
MSim.findLink(java.lang.String namePattern)
aliases eponymous method in
MSim.getUltimateGroundLink() |
static Link |
MSim.findLink(java.lang.String namePattern,
int nth)
aliases eponymous method in
MSim.getUltimateGroundLink() |
static Link |
MSim.getUltimateGroundLink()
aliases
Linkage.getGroundLink() in MSim.linkage |
Modifier and Type | Method and Description |
---|---|
static java.util.Collection<Link> |
MSim.findLinks(java.lang.String namePattern)
aliases eponymous method in
MSim.getUltimateGroundLink() |
static java.util.Collection<Link> |
MSim.findLinks(java.lang.String namePattern,
java.util.Collection<Link> links)
aliases eponymous method in
MSim.getUltimateGroundLink() |
static java.util.Iterator<Link> |
MSim.recursiveLinkIterator()
aliases eponymous method in
MSim.linkage |
Modifier and Type | Method and Description |
---|---|
static boolean |
MSim.recursivelyContains(Link l)
aliases eponymous method in
MSim.linkage |
Modifier and Type | Method and Description |
---|---|
static java.util.Collection<Link> |
MSim.findLinks(java.lang.String namePattern,
java.util.Collection<Link> links)
aliases eponymous method in
MSim.getUltimateGroundLink() |
Modifier and Type | Method and Description |
---|---|
protected void |
Controller.analyzeStructure(Link link,
int depth)
Recursively DFS tree from link, tracing the kinematic cycles of
chain closure joints as they are encountered.
|
Modifier and Type | Field and Description |
---|---|
Link |
Joint.branchLink
For a chain closure joint,
Controller.analyze() sets this to the
least common ancestor of the model tree branches containing Joint.parentLink and Joint.childLink . |
protected Link |
Joint.childLink
The immediate descendant of this joint, or null if dangling.
|
protected Link |
Linkage.groundLink
the ground
Link |
protected Link |
Joint.parentLink
The
Link leading to this joint, or null if dangling. |
Modifier and Type | Field and Description |
---|---|
protected java.util.List<Link> |
Joint.childLinks
Contains
Joint.childLink (for Joint.getChildren() ), empty if
dangling. |
protected java.util.Set<Link> |
Linkage.links
the set of all
Link s in this Linkage in insertion order |
protected java.util.List<Link> |
Joint.unmodifiableChildLinks
unmodifiable view of
Joint.childLinks |
protected java.util.Set<Link> |
Linkage.unmodifiableLinks
unmodifiable view of
Linkage.links |
Modifier and Type | Method and Description |
---|---|
Link |
Joint.detachChildLink()
|
Link |
Joint.detachParentLink()
|
Link |
LinkageNode.findLink(java.lang.String namePattern)
LinkageNode.findLink(String, int) , returning the first Link with
the given namePattern. |
Link |
LinkageNode.findLink(java.lang.String namePattern,
int nth)
Similar to
LinkageNode.findNode(String, int) . |
Link |
Joint.getBranchLink()
get the
Joint.branchLink of this Joint, if any |
Link |
Joint.getChildLink()
get the current
Joint.childLink , null if none |
Link |
Linkage.getGroundLink()
get a reference to the
Linkage.groundLink |
Link |
Joint.getParentLink()
get the current
Joint.parentLink , null if none |
Link |
Link.makeGroundLink()
Ensure this is the
LinkageNode.linkage Linkage.groundLink . |
Link |
Link.makeRootLink()
Ensure that this Link is a root, i.e., that it's
parentJoint
is its rootJoint . |
Link |
Joint.merge()
Covers
Joint.merge(boolean, boolean) , reparents both Joint and
Link user widgets. |
Link |
Joint.merge(boolean reparentWidgets)
Covers
Joint.merge(boolean, boolean) , reparents both Joint and
Link user widgets or not. |
Link |
RootJoint.merge(boolean reparentUserJointWidgets,
boolean reparentUserLinkWidgets)
RootJoints cannot be merged.
|
Link |
Joint.merge(boolean reparentUserJointWidgets,
boolean reparentUserLinkWidgets)
Joint.remove() this Joint and its child Link from the model,
re-attaching joints that were attached to the child Link to our parent
Link. |
Link |
RootJoint.setChildLink(Link link)
RootJoint.setChildLink(Link, boolean) , holds absolute pose. |
Link |
Joint.setChildLink(Link childLink)
Joint.setChildLink(Link, boolean) , does not request holding
absolute pose. |
Link |
Joint.setChildLink(LinkageNode.SubFrame child)
Covers
Joint.setChildLink(Link, String) . |
Link |
Joint.setChildLink(LinkageNode.SubFrame child,
boolean holdAbsolutePose)
|
Link |
RootJoint.setChildLink(Link link,
boolean holdAbsolutePose)
RootJoints are automatically attached to their associated
Link . |
Link |
Joint.setChildLink(Link childLink,
boolean holdAbsolutePose)
Joint.setChildLink(Link, String, boolean) , does not attach to
subframe. |
Link |
Joint.setChildLink(Link childLink,
java.lang.String childSubFrame)
Joint.setChildLink(Link, String, boolean) , does not request holding
absolute pose. |
Link |
Joint.setChildLink(Link childLink,
java.lang.String childSubFrame,
boolean holdAbsolutePose)
Mutate the
Joint.childLink . |
Link |
RootJoint.setParentLink(Link link)
RootJoint.setParentLink(Link, boolean) , holds absolute pose. |
Link |
Joint.setParentLink(Link parentLink)
Joint.setParentLink(Link, boolean) , does not request holding
absolute pose. |
Link |
Joint.setParentLink(LinkageNode.SubFrame parent)
|
Link |
Joint.setParentLink(LinkageNode.SubFrame parent,
boolean holdAbsolutePose)
|
Link |
RootJoint.setParentLink(Link link,
boolean holdAbsolutePose)
RootJoints are always connected to the
Linkage.groundLink . |
Link |
Joint.setParentLink(Link parentLink,
boolean holdAbsolutePose)
Joint.setParentLink(Link, String, boolean) , does not attach to
subframe. |
Link |
Joint.setParentLink(Link parentLink,
java.lang.String parentSubFrame)
Joint.setParentLink(Link, String, boolean) , does not request holding
absolute pose. |
Link |
Joint.setParentLink(Link parentLink,
java.lang.String parentSubFrame,
boolean holdAbsolutePose)
Mutate the
Joint.parentLink . |
Link |
Link.setPose(Joint joint)
Set the pose of this link as if it were the child of joint.
|
Link |
Link.setPose(Link link)
Set the pose of this Link to be the same as that of link.
|
Link |
Link.setPose(vona.math.RX rx)
Set the pose of this Link relative to the
Linkage.groundLink . |
Link |
Link.setTargetPose(vona.math.RX rx)
Set the target pose of this Link relative to the
Linkage.groundLink . |
Link |
Link.unsetTargetPose()
setTargetPose(vona.math.RX) to null |
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<Link> |
LinkageNode.findLinks(java.lang.String namePattern)
LinkageNode.findLinks(String, Collection) , consing a new ArrayList . |
java.util.Collection<Link> |
LinkageNode.findLinks(java.lang.String namePattern,
java.util.Collection<Link> links)
Get all
Link s with a name matching namePattern in
recursive tree DFS pre-order from this node. |
java.util.Set<Link> |
Linkage.getLinkSet()
get a reference to an immutable view of the set of
Link s |
java.util.Iterator<Link> |
Linkage.linkIterator()
get an iterator on an immutable view of the set of
Link s |
java.util.Iterator<Link> |
Linkage.recursiveLinkIterator()
Return an iterator over all the
Link s in all the linkages in
the linkage tree. |
Modifier and Type | Method and Description |
---|---|
boolean |
Linkage.contains(Link l)
check if this
Linkage contains Link l |
static java.lang.String |
Joint.getAttachmentName(Link link,
java.lang.String subFrame)
common impl of
Joint.getParentName() and Joint.getChildName() |
java.lang.String |
Link.isConnectableToJoint(java.lang.String name,
Joint joint,
Link replacing)
Check if the user subframe name on this Link is connectable to
the given joint.
|
boolean |
Linkage.recursivelyContains(Link l)
Check
Linkage.contains(Link) on every linkage in the linkage
tree. |
Link |
RootJoint.setChildLink(Link link)
RootJoint.setChildLink(Link, boolean) , holds absolute pose. |
Link |
Joint.setChildLink(Link childLink)
Joint.setChildLink(Link, boolean) , does not request holding
absolute pose. |
Link |
RootJoint.setChildLink(Link link,
boolean holdAbsolutePose)
RootJoints are automatically attached to their associated
Link . |
Link |
Joint.setChildLink(Link childLink,
boolean holdAbsolutePose)
Joint.setChildLink(Link, String, boolean) , does not attach to
subframe. |
Link |
Joint.setChildLink(Link childLink,
java.lang.String childSubFrame)
Joint.setChildLink(Link, String, boolean) , does not request holding
absolute pose. |
Link |
Joint.setChildLink(Link childLink,
java.lang.String childSubFrame,
boolean holdAbsolutePose)
Mutate the
Joint.childLink . |
void |
Joint.setChildToMobility(Link child)
Joint.recomputeInverse(int) as if our child was child and put
the slack in Joint.RX_CHILD_TO_MOBILITY . |
void |
RootJoint.setChildToMobilityRX(Link child)
|
void |
Joint.setMobilityToParent(Link parent)
Joint.recomputeInverse(int) as if our parent was parent and
put the slack in Joint.RX_MOBILITY_TO_PARENT . |
void |
RootJoint.setMobilityToParentRX(Link parent)
|
Link |
RootJoint.setParentLink(Link link)
RootJoint.setParentLink(Link, boolean) , holds absolute pose. |
Link |
Joint.setParentLink(Link parentLink)
Joint.setParentLink(Link, boolean) , does not request holding
absolute pose. |
Link |
RootJoint.setParentLink(Link link,
boolean holdAbsolutePose)
RootJoints are always connected to the
Linkage.groundLink . |
Link |
Joint.setParentLink(Link parentLink,
boolean holdAbsolutePose)
Joint.setParentLink(Link, String, boolean) , does not attach to
subframe. |
Link |
Joint.setParentLink(Link parentLink,
java.lang.String parentSubFrame)
Joint.setParentLink(Link, String, boolean) , does not request holding
absolute pose. |
Link |
Joint.setParentLink(Link parentLink,
java.lang.String parentSubFrame,
boolean holdAbsolutePose)
Mutate the
Joint.parentLink . |
Link |
Link.setPose(Link link)
Set the pose of this Link to be the same as that of link.
|
Modifier and Type | Method and Description |
---|---|
java.util.Collection<Link> |
LinkageNode.findLinks(java.lang.String namePattern,
java.util.Collection<Link> links)
Get all
Link s with a name matching namePattern in
recursive tree DFS pre-order from this node. |
Constructor and Description |
---|
Joint(Linkage linkage,
Joint.Type type,
Link parentLink,
Link childLink)
Covers
Joint.Joint(Linkage, String, Type, Link, Link) ,
auto-named. |
Joint(Linkage linkage,
Joint.Type type,
Link parentLink,
java.lang.String parentSubFrame,
Link childLink,
java.lang.String childSubFrame)
Covers
Joint.Joint(Linkage, String, Type, Link, String, Link,
String) , auto-named. |
Joint(Linkage linkage,
Link parentLink,
Link childLink)
Covers
Joint.Joint(Linkage, String, Type, Link, Link) , initially
Joint.Type.GENERAL and auto named. |
Joint(Linkage linkage,
Link parentLink,
java.lang.String parentSubFrame,
Link childLink,
java.lang.String childSubFrame)
Covers
Joint.Joint(Linkage, String, Type, Link, String, Link,
String) , initially Joint.Type.GENERAL and auto named. |
Joint(Linkage linkage,
java.lang.String name,
Joint.Type type,
Link parentLink,
Link childLink)
Covers
Joint.Joint(Linkage, String, Type, Link, String, Link,
String) , does not attach to subframes. |
Joint(Linkage linkage,
java.lang.String name,
Joint.Type type,
Link parentLink,
java.lang.String parentSubFrame,
Link childLink,
java.lang.String childSubFrame)
Makes a new chain closure joint and adds it to linkage.
|
Joint(Linkage linkage,
java.lang.String name,
Link parentLink,
Link childLink)
Covers
Joint.Joint(Linkage, String, Type, Link, Link) , initially
Joint.Type.GENERAL . |
Joint(Linkage linkage,
java.lang.String name,
Link parentLink,
java.lang.String parentSubFrame,
Link childLink,
java.lang.String childSubFrame)
Covers
Joint.Joint(Linkage, String, Type, Link, String, Link,
String) , initially Joint.Type.GENERAL . |
RootJoint(Linkage linkage,
Link link)
Makes a new RootJoint attaching link to the
Linkage.groundLink of linkage. |
Modifier and Type | Field and Description |
---|---|
(package private) Link |
DAELoader.LatentClosure.parent
the parent link
|
Modifier and Type | Method and Description |
---|---|
static Link |
DAELoader.loadFromDAE(vona.dae.jaxb.dae.COLLADA dae)
DAELoader.loadFromDAE(Link, COLLADA, String, boolean) , loading
geometries, consing a new linkage root, and inferring the DAE root. |
static Link |
DAELoader.loadFromDAE(vona.dae.jaxb.dae.COLLADA dae,
java.lang.String daeRoot)
DAELoader.loadFromDAE(Link, COLLADA, String, boolean) , loading
geometries and consing a new linkage root. |
static Link |
DAELoader.loadFromDAE(Link linkageRoot,
vona.dae.jaxb.dae.COLLADA dae,
java.lang.String daeRoot)
DAELoader.loadFromDAE(Link, COLLADA, String, boolean) , loading
geometries. |
static Link |
DAELoader.loadFromDAE(Link linkageRoot,
vona.dae.jaxb.dae.COLLADA dae,
java.lang.String daeRoot,
boolean loadGeometries)
Load a
Linkage sub-tree from a COLLADA visual scene
graph. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
javax.media.j3d.Node j3dRoot)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , always
loads body shapes with all vertex components and does not merge unnamed
transforms. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
javax.media.j3d.Node j3dRoot,
boolean loadBodyShapes,
int j3dFormatMask,
boolean mergeUnnamed)
Load a
Linkage sub-tree from a Java3D scene graph. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
com.sun.j3d.loaders.Scene j3dScene)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , loads
from the scene group, always loads body shapes with all vertex components
and does not merge unnamed transforms. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
com.sun.j3d.loaders.Scene j3dScene,
boolean loadBodyShapes,
int j3dFormatMask,
boolean mergeUnnamed)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , loads
from the scene group. |
static Link |
J3DLoader.loadFromJ3D(javax.media.j3d.Node j3dRoot)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , always
loads body shapes with all vertex components, does not merge unnamed
transforms, and makes a new linkageRoot. |
static Link |
J3DLoader.loadFromJ3D(com.sun.j3d.loaders.Scene j3dScene)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , loads
from the scene group, always loads body shapes with all vertex components,
does not merge unnamed transforms, and makes a new linkageRoot. |
protected static Link |
DAELoader.loadLinkFromDAE(Link link,
vona.dae.util.DAEObject source,
Link parentLink,
boolean loadGeoms,
java.util.List<DAELoader.LatentClosure> latentClosures)
Load an MSim
Link from a DAE element. |
Modifier and Type | Method and Description |
---|---|
protected static vona.dae.jaxb.dae.NodeType |
DAEExporter.exportLinkToDAE(Link link,
boolean exportWidgets,
boolean exportParentJoint,
DAEExporter.Libraries lib,
java.util.List<DAEExporter.LatentClosure> latentClosures)
Export an MSim
Link to a DAE "node". |
static vona.dae.jaxb.dae.COLLADA |
DAEExporter.exportToDAE(Link linkageRoot)
Covers
DAEExporter.exportToDAE(Link, boolean) , exports widgets. |
static vona.dae.jaxb.dae.COLLADA |
DAEExporter.exportToDAE(Link linkageRoot,
boolean exportUserLinkWidgets)
Export a
Linkage sub-tree to a COLLADA visual scene graph. |
protected static void |
DAELoader.loadChildFromDAE(vona.dae.jaxb.dae.NodeType source,
Link parent,
boolean loadGeoms,
java.util.List<DAELoader.LatentClosure> latentClosures)
Load a COLLADA "node" child.
|
protected static void |
J3DLoader.loadChildrenFromJ3D(Link linkageRoot,
javax.media.j3d.Group j3dGroup,
boolean loadBodyShapes,
int j3dFormatMask,
boolean mergeUnnamed,
java.lang.StringBuffer j3dPath,
vona.math.RX mergeCMT,
char type)
Helper for
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean,
StringBuffer, RX) that loads correspondents to the children of
j3dGroup to linkageRoot. |
static Link |
DAELoader.loadFromDAE(Link linkageRoot,
vona.dae.jaxb.dae.COLLADA dae,
java.lang.String daeRoot)
DAELoader.loadFromDAE(Link, COLLADA, String, boolean) , loading
geometries. |
static Link |
DAELoader.loadFromDAE(Link linkageRoot,
vona.dae.jaxb.dae.COLLADA dae,
java.lang.String daeRoot,
boolean loadGeometries)
Load a
Linkage sub-tree from a COLLADA visual scene
graph. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
javax.media.j3d.Node j3dRoot)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , always
loads body shapes with all vertex components and does not merge unnamed
transforms. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
javax.media.j3d.Node j3dRoot,
boolean loadBodyShapes,
int j3dFormatMask,
boolean mergeUnnamed)
Load a
Linkage sub-tree from a Java3D scene graph. |
protected static void |
J3DLoader.loadFromJ3D(Link linkageRoot,
javax.media.j3d.Node j3dRoot,
boolean loadBodyShapes,
int j3dFormatMask,
boolean mergeUnnamed,
java.lang.StringBuffer j3dPath,
vona.math.RX mergeCMT)
|
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
com.sun.j3d.loaders.Scene j3dScene)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , loads
from the scene group, always loads body shapes with all vertex components
and does not merge unnamed transforms. |
static Link |
J3DLoader.loadFromJ3D(Link linkageRoot,
com.sun.j3d.loaders.Scene j3dScene,
boolean loadBodyShapes,
int j3dFormatMask,
boolean mergeUnnamed)
Covers
J3DLoader.loadFromJ3D(Link, Node, boolean, int, boolean) , loads
from the scene group. |
protected static Link |
DAELoader.loadLinkFromDAE(Link link,
vona.dae.util.DAEObject source,
Link parentLink,
boolean loadGeoms,
java.util.List<DAELoader.LatentClosure> latentClosures)
Load an MSim
Link from a DAE element. |
DAEMSimMassProps |
DAEMSimMassProps.readFrom(Link link)
read all settings from link
|
DAEMSimGroundLink |
DAEMSimGroundLink.readFrom(Link link)
read all settings from link
|
DAEMSimUserSubframe |
DAEMSimUserSubframe.readFrom(Link link,
java.lang.String name,
vona.math.RX rx)
Read from the named user subframe on link.
|
DAEMSimMassProps |
DAEMSimMassProps.writeTo(Link link)
write all settings to link
|
DAEMSimUserSubframe |
DAEMSimUserSubframe.writeTo(Link link,
vona.math.RX rx)
Write to a corresponding user subframe on link.
|
Constructor and Description |
---|
DAELoader.LatentClosure(DAEMSimClosure daeMSimClosure,
Link parent,
vona.dae.jaxb.dae.NodeType source)
sets all fields by reference
|
Modifier and Type | Method and Description |
---|---|
Link |
UI.consLinkInteractive()
Cons and add a new
Link l in-context depending on the
current pick. |
Link |
UI.getPickedLink()
UI.getPickedLink(boolean) , null ok |
Link |
UI.getPickedLink(boolean nullOk)
covers
UI.getPickedNode(boolean) , returns null if not a Link |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
UI.addJointInteractive(Link parent,
Joint joint)
UI.addJointInteractive(Link, Link, Joint, boolean) , get child
from pick or selection, no rotX. |
java.lang.String |
UI.addJointInteractive(Link parent,
Joint joint,
boolean rotX)
UI.addJointInteractive(Link, Link, Joint, boolean) , get child
from pick or selection. |
java.lang.String |
UI.addJointInteractive(Link parent,
Link child,
Joint joint)
|
java.lang.String |
UI.addJointInteractive(Link parent,
Link child,
Joint joint,
boolean rotX)
Attach joint to the indicated nodes.
|
protected Joint |
UI.getLinkManipulationJoint(Link link)
Called by
UI.manipulateLink(Link, boolean) to get (or generate) a
Joint appropriate for manipulating link. |
void |
UI.manipulateLink(Link link)
UI.manipulateLink(Link, boolean) , always drives full goal. |
void |
UI.manipulateLink(Link link,
boolean driveFullGoal)
|
protected int |
Display.renderTree(Link l)
Render the sub-tree rooted at l, respecting
EntityClass.visibility . |