Package chemaxon.struc
Class MObject
- java.lang.Object
-
- chemaxon.struc.MObject
-
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
MChemicalStruct
,MPoint
,MPolyline
@PublicAPI public abstract class MObject extends Object implements Serializable, Cloneable
Paintable object. This class and its subclasses are under development, use them at your own risk!- Since:
- Marvin 3.3, 10/18/2003
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
TRANSFORM_DISTORT
Distorting transformations are allowed.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addAttributeKeys(List<String> l)
Adds the attribute names to the specified list.void
addCdataAttributeKeys(List<String> l)
Adds attribute names to the specified list.void
addNotify(MDocument doc)
Called when the object is added to a document.abstract void
calcCenter(DPoint3 p, CTransform3D t)
Calculates the geometrical center.boolean
checkValidity(MDocument doc, Collection<MolAtom> invec)
Is it a valid object in the document?MObject
clone()
Creates a clone.void
connectToSgroupOfAtom(SuperatomSgroup sg, MolAtom a)
boolean
containsAtom(MolAtom a)
Checks if the object contains the specified atom reference.boolean
containsPoint(DPoint3 p, CTransform3D trot)
double
distanceFrom(double x, double y)
Gets the 2D distance from the specified point.abstract double
distanceFrom(double x, double y, CTransform3D t)
Gets the 2D distance from the specified point.void
finishCloning(MDocument olddoc, MDocument newdoc)
Finish cloning a document.void
fixClonedPoints(MObject[] objarr0, MObject[] objarr, int i)
Sets the parent object for this object.String
getAttribute(String s)
Gets the value of an attribute.Color
getBackground()
Gets the background color of the object.Color
getColor()
Gets the color of the object.MObject
getContainerMObject(MDocument doc)
Color
getLineColor()
Gets the line color of the object.abstract MPoint
getPoint(int i)
Gets a point of the object.abstract int
getPointCount()
Gets the number of points.MPoint
getPointRef(int i, CTransform3D trot)
Gets a reference to a point of the object.int
getPointRefCount()
Gets the number of point references.boolean
hasBackground()
Can the object have a background?boolean
hasColor()
Can the object have a color (non-line and non-background)?boolean
hasLineColor()
Can the object have a line color?boolean
isChildOf(MObject o)
Is this object a children of another one?boolean
isEmpty()
An object may become empty if all the children are removed.boolean
isInternalSelectable()
Is it a selection only internal object?boolean
isReactionArrow(MoleculeGraph mol)
boolean
isSelectableNow()
Is the object selectable now?boolean
isSelected()
Is the object selected?boolean
isTransformable()
Is it a transformable object?protected static Color
makeColor(String s)
void
removeAtom(MolAtom atom)
Removes the atom from the corresponding molecule object.void
removeChild(MObject o)
Removes a child object.void
removeNotify(MDocument doc)
Called when the object is removed from a document.void
replaceAtom(MolAtom orig, MolAtom a)
Replaces a contained atom with another one.void
setAttribute(String s, String v)
Sets the value of an attribute.void
setBackground(Color c)
Sets the background color of the object.void
setColor(Color c)
Sets the color of the object.void
setLineColor(Color c)
Sets the color of the object.void
setSelected(boolean s)
Selects or unselects the object.String
toString()
Overrides Object.toString() to ease debugging.abstract void
transform(CTransform3D t, int opts, CTransform3D trot)
Transforms the object.void
unselectContents()
Unselects sub-objects.void
updateBoundingRect(double[] xyminm, CTransform3D pretrf)
Calculate the bounding rectangle.protected void
updateBoundingRect(double[] xyminm, CTransform3D pretrf, double radious)
Calculate the bounding rectangle.
-
-
-
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
-
-
Method Detail
-
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 documentinvec
- 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 atoma
- 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 coordinatespretrf
- 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 coordinatespretrf
- transformation matrixradious
- 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 indextrot
- 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 namev
- the attribute value
-
transform
public abstract void transform(CTransform3D t, int opts, CTransform3D trot)
Transforms the object.- Parameters:
t
- the transformation matrixopts
- transform options or 0trot
- 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 heret
- 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 coordinatey
- 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 coordinatey
- the y coordinatet
- transformation or null- Since:
- Marvin 3.5, 11/04/2004
-
containsPoint
public boolean containsPoint(DPoint3 p, CTransform3D trot)
-
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.
-
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 listobjarr
- the old object listi
- the corresponding index from the old object list
-
connectToSgroupOfAtom
public void connectToSgroupOfAtom(SuperatomSgroup sg, MolAtom a)
-
-