Class Ellipse
Object
Mark
MarkWithPosition
ConicBase
Ellipse
- All Implemented Interfaces:
Serializable
Represents a 2D ellipse mark.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbox
(Dimensions dimensions, int regionID) Calculates the bounding box for a specific region of the mark.boxAllRegions
(Dimensions dimensions) Calculates the bounding box for all regions of the mark.double
circumference
(int regionID) Calculates the circumference of the ellipse for a given region.double[]
Creates an array of radii in their original units.double[]
createRadiiArrayResolved
(Optional<Resolution> resolution) Creates an array of radii resolved to the given resolution.Creates a duplicate of this mark.boolean
equalsDeep
(Mark mark) Checks if this mark is equal to another mark by comparing all attributes.getName()
Returns the name of this mark type.getRadii()
double
getShell()
The size of the shell, expressed as a ratio of the radius.final byte
isPointInside
(Point3i point) Determines if a point is inside the mark.int
Returns the number of dimensions of this mark.int
Returns the number of regions in this mark.Provides an optional quick overlap calculation method.void
scale
(ScaleFactor scaleFactor) Scales the mark in X and Y dimensions.void
scaleRadii
(double multFactor) Scales the radii of the ellipse.void
setMarks
(Point2d radii, Orientation orientation) Sets the marks with radii and orientation.void
setMarksExplicit
(Point3d position) Sets the mark's position explicitly.void
setMarksExplicit
(Point3d position, Orientation orientation) Sets the mark's position and orientation explicitly.void
setMarksExplicit
(Point3d position, Orientation orientation, Point2d radii) Sets the marks explicitly with position, orientation, and radii.void
setMarksExplicit
(Point3d position, Orientation orientation, Point3d radii) Sets the mark's properties explicitly.void
setShell
(double shell) The size of the shell, expressed as a ratio of the radius.toString()
void
updateshell
(double shell) Updates the shell size and recalculates internal values.double
volume
(int regionID) Calculates the volume of a specific region of the mark.Methods inherited from class org.anchoranalysis.mpp.mark.conic.ConicBase
radiiOrdered, radiiOrderedResolved
Methods inherited from class org.anchoranalysis.mpp.mark.MarkWithPosition
centerPoint, getPosition, positionString, setPosition
Methods inherited from class org.anchoranalysis.mpp.mark.Mark
deriveObject, equalsID, getIdentifier, identifier, setId
-
Constructor Details
-
Ellipse
public Ellipse()Creates a new Ellipse with default values. -
Ellipse
Creates a new Ellipse by copying an existing one.- Parameters:
source
- the Ellipse to copy
-
-
Method Details
-
getName
Description copied from class:Mark
Returns the name of this mark type. -
isPointInside
Description copied from class:Mark
Determines if a point is inside the mark.- Specified by:
isPointInside
in classMark
- Parameters:
point
- the point to check- Returns:
- a byte representing the region membership of the point
-
volume
public double volume(int regionID) Description copied from class:Mark
Calculates the volume of a specific region of the mark. -
circumference
public double circumference(int regionID) Calculates the circumference of the ellipse for a given region.- Parameters:
regionID
- the ID of the region- Returns:
- the circumference of the ellipse
-
duplicate
Description copied from class:Mark
Creates a duplicate of this mark. -
toString
-
updateshell
public void updateshell(double shell) Updates the shell size and recalculates internal values.- Parameters:
shell
- the new shell size as a ratio of the radius
-
setMarksExplicit
Sets the marks explicitly with position, orientation, and radii.- Parameters:
position
- the 3D position of the ellipseorientation
- the orientation of the ellipseradii
- the radii of the ellipse
-
setMarksExplicit
Description copied from class:ConicBase
Sets the mark's position explicitly.- Specified by:
setMarksExplicit
in classConicBase
- Parameters:
position
- the position of the mark
-
setMarksExplicit
Description copied from class:ConicBase
Sets the mark's position and orientation explicitly.- Specified by:
setMarksExplicit
in classConicBase
- Parameters:
position
- the position of the markorientation
- the orientation of the mark
-
setMarksExplicit
Description copied from class:ConicBase
Sets the mark's properties explicitly.- Specified by:
setMarksExplicit
in classConicBase
- Parameters:
position
- the position of the markorientation
- the orientation of the markradii
- the radii of the mark
-
box
Description copied from class:Mark
Calculates the bounding box for a specific region of the mark. -
quickOverlap
Description copied from class:Mark
Provides an optional quick overlap calculation method.- Overrides:
quickOverlap
in classMark
- Returns:
- an Optional containing a QuickOverlapCalculation, or empty if not available
-
setMarks
Sets the marks with radii and orientation.- Parameters:
radii
- the radii of the ellipseorientation
- the orientation of the ellipse
-
scaleRadii
public void scaleRadii(double multFactor) Scales the radii of the ellipse.- Parameters:
multFactor
- the factor to multiply the radii by
-
scale
Description copied from class:Mark
Scales the mark in X and Y dimensions.- Overrides:
scale
in classMarkWithPosition
- Parameters:
scaleFactor
- how much to scale by- Throws:
CheckedUnsupportedOperationException
- if scaling is not supported for this mark type
-
equalsDeep
Description copied from class:MarkWithPosition
Checks if this mark is equal to another mark by comparing all attributes.- Overrides:
equalsDeep
in classMarkWithPosition
- Parameters:
mark
- the mark to compare with- Returns:
- true if the marks are equal, false otherwise
-
numberDimensions
public int numberDimensions()Description copied from class:Mark
Returns the number of dimensions of this mark.- Specified by:
numberDimensions
in classMark
- Returns:
- the number of dimensions
-
createRadiiArray
public double[] createRadiiArray()Description copied from class:ConicBase
Creates an array of radii in their original units.- Specified by:
createRadiiArray
in classConicBase
- Returns:
- an array of radii
-
createRadiiArrayResolved
Description copied from class:ConicBase
Creates an array of radii resolved to the given resolution.- Specified by:
createRadiiArrayResolved
in classConicBase
- Parameters:
resolution
- an optional resolution to consider- Returns:
- an array of resolved radii
-
numberRegions
public int numberRegions()Description copied from class:Mark
Returns the number of regions in this mark.- Specified by:
numberRegions
in classMark
- Returns:
- the number of regions
-
boxAllRegions
Description copied from class:Mark
Calculates the bounding box for all regions of the mark.- Specified by:
boxAllRegions
in classMark
- Parameters:
dimensions
- the dimensions of the space- Returns:
- the bounding box
-
getShell
public double getShell()The size of the shell, expressed as a ratio of the radius. -
setShell
public void setShell(double shell) The size of the shell, expressed as a ratio of the radius. -
getRadii
-
getOrientation
-