Class MObject

    • Field Detail

      • TRANSFORM_DISTORT

        public static final int TRANSFORM_DISTORT
        Distorting transformations are allowed.
        Since:
        Marvin 3.5, 07/06/2004
        See Also:
        Constant Field Values
    • Constructor Detail

      • MObject

        protected MObject​(Color c,
                          Color lc,
                          Color bg)
        Contructs a paintable object with the specified color.
        Parameters:
        c - the color of the object
        lc - the line color or null to use the default
        bg - the background color
      • MObject

        protected MObject​(MObject o)
        Copy constructor.
    • Method Detail

      • clone

        public MObject clone()
        Creates a clone.
        Overrides:
        clone in class Object
        Returns:
        the clone
      • isEmpty

        public boolean isEmpty()
        An object may become empty if all the children are removed.
        Returns:
        true if empty, false otherwise
      • isChildOf

        public boolean isChildOf​(MObject o)
        Is this object a children of another one?
        Parameters:
        o - a possible parent
        Returns:
        true if the other object is the parent, false otherwise
      • checkValidity

        public boolean checkValidity​(MDocument doc,
                                     Collection<MolAtom> invec)
        Is it a valid object in the document?
        Parameters:
        doc - the document
        invec - collection of invalid atoms or null
        Returns:
        true if the object is valid, false if it contains a subobject that is not part of the document
      • removeChild

        public void removeChild​(MObject o)
        Removes a child object.
        Parameters:
        o - the child
      • containsAtom

        public boolean containsAtom​(MolAtom a)
        Checks if the object contains the specified atom reference.
        Returns:
        true if the object contains the atom, false otherwise
        Since:
        Marvin 3.5, 07/04/2004
      • replaceAtom

        public void replaceAtom​(MolAtom orig,
                                MolAtom a)
        Replaces a contained atom with another one.
        Parameters:
        orig - the original atom
        a - the new atom
        Since:
        Marvin 3.5, 07/04/2004
      • isTransformable

        public boolean isTransformable()
        Is it a transformable object?
        Returns:
        true if the object can be transformed, false otherwise
        Since:
        Marvin 3.5, 07/06/2004
      • isInternalSelectable

        public boolean isInternalSelectable()
        Is it a selection only internal object?
        Returns:
        true if the object is selectable but only exists as part of a real object, false otherwise
      • isSelectableNow

        public boolean isSelectableNow()
        Is the object selectable now?
        Returns:
        true for ordinary objects, false for some internal selectables
      • addNotify

        public void addNotify​(MDocument doc)
        Called when the object is added to a document.
        Parameters:
        doc - The document the object is being added to.
      • removeNotify

        public void removeNotify​(MDocument doc)
        Called when the object is removed from a document.
        Parameters:
        doc - The document from which the object is removed.
      • getPointCount

        public abstract int getPointCount()
        Gets the number of points.
        Returns:
        the number of points
      • getPoint

        public abstract MPoint getPoint​(int i)
        Gets a point of the object.
        Parameters:
        i - the point index
        Returns:
        the point's clone
      • getPointRefCount

        public int getPointRefCount()
        Gets the number of point references.
        Returns:
        the number of point references.
      • updateBoundingRect

        public void updateBoundingRect​(double[] xyminm,
                                       CTransform3D pretrf)
        Calculate the bounding rectangle.
        Parameters:
        xyminm - array containing the current minimum x, y and maximum x, y coordinates
        pretrf - transformation matrix
        Since:
        Marvin 5.0, 02/16/2007
      • updateBoundingRect

        protected void updateBoundingRect​(double[] xyminm,
                                          CTransform3D pretrf,
                                          double radious)
        Calculate the bounding rectangle.
        Parameters:
        xyminm - array containing the current minimum x, y and maximum x, y coordinates
        pretrf - transformation matrix
        radious - minimal radious of points
        Since:
        Marvin 5.0, 02/16/2007
      • getPointRef

        public MPoint getPointRef​(int i,
                                  CTransform3D trot)
        Gets a reference to a point of the object.
        Parameters:
        i - the point index
        trot - the viewing transformation or null
        Returns:
        the point's reference
        Since:
        Marvin 4.1, 05/01/2006
      • addAttributeKeys

        public void addAttributeKeys​(List<String> l)
        Adds the attribute names to the specified list. CDATA attributes are not added.
        Parameters:
        l - the list
      • addCdataAttributeKeys

        public void addCdataAttributeKeys​(List<String> l)
        Adds attribute names to the specified list. Only CDATA attributes are added.
        Parameters:
        l - the list
      • getAttribute

        public String getAttribute​(String s)
        Gets the value of an attribute.
        Parameters:
        s - the attribute name
        Returns:
        the value or null
      • setAttribute

        public void setAttribute​(String s,
                                 String v)
        Sets the value of an attribute.
        Parameters:
        s - the attribute name
        v - the attribute value
      • transform

        public abstract void transform​(CTransform3D t,
                                       int opts,
                                       CTransform3D trot)
        Transforms the object.
        Parameters:
        t - the transformation matrix
        opts - transform options or 0
        trot - the viewing transformation or null
        Since:
        Marvin 4.1, 04/28/2006
        See Also:
        TRANSFORM_DISTORT
      • calcCenter

        public abstract void calcCenter​(DPoint3 p,
                                        CTransform3D t)
        Calculates the geometrical center.
        Parameters:
        p - store the coordinates here
        t - the transformation matrix or null
        Since:
        Marvin 4.1, 04/28/2006
      • distanceFrom

        public double distanceFrom​(double x,
                                   double y)
        Gets the 2D distance from the specified point.
        Parameters:
        x - the x coordinate
        y - the y coordinate
      • distanceFrom

        public abstract double distanceFrom​(double x,
                                            double y,
                                            CTransform3D t)
        Gets the 2D distance from the specified point.
        Parameters:
        x - the x coordinate
        y - the y coordinate
        t - transformation or null
        Since:
        Marvin 3.5, 11/04/2004
      • isSelected

        public boolean isSelected()
        Is the object selected?
        Returns:
        true if selected, false otherwise
      • setSelected

        public void setSelected​(boolean s)
        Selects or unselects the object.
        Parameters:
        s - use true to select, false to unselect
      • isReactionArrow

        public boolean isReactionArrow​(MoleculeGraph mol)
      • unselectContents

        public void unselectContents()
        Unselects sub-objects.
      • getColor

        public Color getColor()
        Gets the color of the object.
        Returns:
        the color or null
      • setColor

        public void setColor​(Color c)
        Sets the color of the object.
        Parameters:
        c - the color or null to use the default
      • getLineColor

        public Color getLineColor()
        Gets the line color of the object.
        Returns:
        the color or null if there are no lines
      • setLineColor

        public void setLineColor​(Color c)
        Sets the color of the object.
        Parameters:
        c - the color or null
      • hasColor

        public boolean hasColor()
        Can the object have a color (non-line and non-background)?
        Returns:
        true if it can have a color, false otherwise
      • hasLineColor

        public boolean hasLineColor()
        Can the object have a line color?
        Returns:
        true if it can have a line color, false otherwise
      • hasBackground

        public boolean hasBackground()
        Can the object have a background?
        Returns:
        true if it has a background, false otherwise
      • getBackground

        public Color getBackground()
        Gets the background color of the object.
        Returns:
        the color
      • setBackground

        public void setBackground​(Color c)
        Sets the background color of the object.
        Parameters:
        c - the color
      • finishCloning

        public void finishCloning​(MDocument olddoc,
                                  MDocument newdoc)
        Finish cloning a document. Called by the copy constructor.
        Since:
        Marvin 3.5, 07/02/2004
      • toString

        public String toString()
        Overrides Object.toString() to ease debugging. Returns a string consisting of the classname (without the package name!), the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object.
        Overrides:
        toString in class Object
        Returns:
        a string representation of the object
        Since:
        Marvin 4.1, 05/01/2006
      • makeColor

        protected static Color makeColor​(String s)
      • removeAtom

        public void removeAtom​(MolAtom atom)
        Removes the atom from the corresponding molecule object.
        Parameters:
        atom - the atom to remove
      • fixClonedPoints

        public void fixClonedPoints​(MObject[] objarr0,
                                    MObject[] objarr,
                                    int i)
        Sets the parent object for this object. Should only be called by the copy constructor.
        Parameters:
        objarr0 - the new object list
        objarr - the old object list
        i - the corresponding index from the old object list