Class AttachmentPoint
java.lang.Object
com.marginallyclever.ro3.node.Node
com.marginallyclever.ro3.node.nodes.pose.Pose
com.marginallyclever.ro3.node.nodes.pose.poses.AttachmentPoint
- All Implemented Interfaces:
PoseChangeListener,EventListener
AttachmentPoint is a point on a Pose that can be used to attach other Poses.
Users can click the attach button in the control panel. Developers can use the attemptAttach() method.
If this AttachmentPoint finds another Pose within radius, it will move the other Pose to be a child of this
AttachmentPoint.
Things in reach must be Pose items within radius of AttachmentPoint. They must also be
immediate children of the Scene root.
The attached item will move from the Scene root and become a child of AttachmentPoint. On release all
children of AttachmentPoint will be moved back to the Scene root. In both cases their relative pose
will be adjusted so they do not teleport.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAttach a list of Pose nodes to this node and adjust their world transform to compensate.voidvoidfromJSON(org.json.JSONObject from) Deserialize this node and its children from a JSON object and its children.voidgetComponents(List<JPanel> list) Build a Swing Component that represents this Node.getIcon()Set a custom icon for this node.booleandoublevoidrelease()Release all attached nodes.voidsetIsAttached(boolean isAttached) voidsetRadius(double radius) org.json.JSONObjecttoJSON()Serialize this node and its children to a JSON object and its children.Methods inherited from class com.marginallyclever.ro3.node.nodes.pose.Pose
addPoseChangeListener, getLocal, getParentPose, getPosition, getRotationEuler, getRotationIndex, getWorld, onPoseChange, removePoseChangeListener, setLocal, setPosition, setRotationEuler, setRotationIndex, setWorldMethods inherited from class com.marginallyclever.ro3.node.Node
addAttachListener, addChild, addChild, addDetachListener, addReadyListener, addRenameListener, findByPath, findChild, findChild, findFirstChild, findFirstSibling, findNodeByID, findParent, findParent, getAbsolutePath, getChildren, getName, getParent, getRootNode, getUniqueID, hasParent, isNameUsedBySibling, removeAttachListener, removeChild, removeDetachListener, removeReadyListener, removeRenameListener, setName, update, witnessProtection
-
Constructor Details
-
AttachmentPoint
public AttachmentPoint() -
AttachmentPoint
-
-
Method Details
-
attach
-
release
public void release()Release all attached nodes. Move them to the scene root and adjust their world transform to compensate. -
attemptAttach
public void attemptAttach() -
toJSON
public org.json.JSONObject toJSON()Description copied from class:NodeSerialize this node and its children to a JSON object and its children. Classes that override this method should call super.toJSON() first, then add to the object returned. -
fromJSON
public void fromJSON(org.json.JSONObject from) Description copied from class:NodeDeserialize this node and its children from a JSON object and its children. Classes that override this method should call super.fromJSON(). When they do it will trigger the creation of child nodes. The child nodes will then call their own fromJSON() methods. -
getComponents
Description copied from class:PoseBuild a Swing Component that represents this Node.- Overrides:
getComponentsin classPose- Parameters:
list- the list to add components to.
-
getRadius
public double getRadius() -
setRadius
public void setRadius(double radius) -
getIsAttached
public boolean getIsAttached() -
setIsAttached
public void setIsAttached(boolean isAttached) -
getIcon
-