Class OrphanFrame

  • All Implemented Interfaces:
    Serializable

    public class OrphanFrame
    extends Object
    implements Serializable
    Prototype frame that can be built from leaf to roots and later attached to a tree.

    Regular Frame instances can be built only from a parent frame, i.e. the frames tree can be built only from root to leafs. In some cases, it may desirable to build a subset tree and attach it to the main tree after build time, which means the tree is built from leafs to root. This class allows building this subtree.

    During the build process, the Frame associated with each OrphanFrame is not available. It becomes available only once the OrphanFrame has been attached to the main tree, and at this time it can be used to compute transforms.

    Since:
    6.0
    Author:
    Luc Maisonobe
    See Also:
    Serialized Form
    • Constructor Detail

      • OrphanFrame

        public OrphanFrame​(String name)
        Simple constructor.
        Parameters:
        name - name of the frame
    • Method Detail

      • addChild

        public void addChild​(OrphanFrame child,
                             Transform transform,
                             boolean isPseudoInertial)
        Add a child.

        If a child is added after the instance has been attached, the child and all its tree will be attached immediately too.

        Parameters:
        child - child to add
        transform - transform from instance to child
        isPseudoInertial - true if child is considered pseudo-inertial (i.e. suitable for propagating orbit)
      • addChild

        public void addChild​(OrphanFrame child,
                             TransformProvider transformProvider,
                             boolean isPseudoInertial)
        Add a child.

        If a child is added after the instance has been attached, the child and all its tree will be attached immediately too.

        Parameters:
        child - child to add
        transformProvider - provider for transform from instance to child
        isPseudoInertial - true if child is considered pseudo-inertial (i.e. suitable for propagating orbit)
      • attachTo

        public void attachTo​(Frame parent,
                             Transform transform,
                             boolean isPseudoInertial)
        Attach the instance (and all its children down to leafs) to the main tree.
        Parameters:
        parent - parent frame to attach to
        transform - transform from parent frame to instance
        isPseudoInertial - true if frame is considered pseudo-inertial (i.e. suitable for propagating orbit)
      • attachTo

        public void attachTo​(Frame parent,
                             TransformProvider transformProvider,
                             boolean isPseudoInertial)
        Attach the instance (and all its children down to leafs) to the main tree.
        Parameters:
        parent - parent frame to attach to
        transformProvider - provider for transform from parent frame to instance
        isPseudoInertial - true if frame is considered pseudo-inertial (i.e. suitable for propagating orbit)
      • getChildren

        public List<OrphanFrame> getChildren()
        Get all children of the instance.
        Returns:
        unmodifiable list of children
      • getFrame

        public Frame getFrame()
        Get the associated frame.
        Returns:
        associated frame