public abstract class SimpleSurface extends AbstractSurface
CONRAD Class to model surfaces that can efficiently determine the membership of an arbitrary point.
The main features provided by this class are point and curve membership verification and bounds checking.
Constructor and Description |
---|
SimpleSurface() |
Modifier and Type | Method and Description |
---|---|
void |
addAllBoundingConditions(java.util.Collection<? extends AbstractBoundingCondition> conditions)
Adds a collection of bounding conditions
|
void |
addBoundingCondition(AbstractBoundingCondition condition)
Adds a bounding condition to the top of the "stack".
|
void |
applyTransform(Transform t)
Applies the Transform t to the object.
|
PointND |
evaluate(PointND u)
Returns the point on the shape at the internal position u.
|
SimpleMatrix |
getChangeOfAxisMatrix(Axis newAxis)
Calculates matrix for rotating shape from a principal axis to new axis.
|
abstract java.util.ArrayList<PointND> |
getHits(AbstractCurve other) |
int |
getInternalDimension()
returns the internal dimension of the shape, i.e.
|
abstract Axis |
getPrincipalAxis() |
float[] |
getRasterPoints(int elementCountU,
int elementCountV) |
Transform |
getTransform()
Returns cloned copy of shape's affine transform
|
java.util.ArrayList<PointND> |
intersect(AbstractCurve other)
Returns the intersection points between the curve and the shape.
|
abstract boolean |
isMember(PointND point)
Determines if the given point in within the bounds of shape;
|
evaluate, tessellate
getDimension, getHitsOnBoundingBox_slow, getHitsOnBoundingBox, getMax, getMin, getName, getRasterPoints, isBounded, setName
public java.util.ArrayList<PointND> intersect(AbstractCurve other)
AbstractShape
intersect
in class AbstractShape
public abstract java.util.ArrayList<PointND> getHits(AbstractCurve other)
public SimpleMatrix getChangeOfAxisMatrix(Axis newAxis)
newAxis
- public abstract boolean isMember(PointND point)
point
- public void addBoundingCondition(AbstractBoundingCondition condition)
condition
- public abstract Axis getPrincipalAxis()
public void addAllBoundingConditions(java.util.Collection<? extends AbstractBoundingCondition> conditions)
conditions
- public void applyTransform(Transform t)
Transformable
applyTransform
in interface Transformable
applyTransform
in class AbstractShape
t
- the transform to apply to the object.public int getInternalDimension()
AbstractShape
getInternalDimension
in class AbstractSurface
public PointND evaluate(PointND u)
AbstractShape
evaluate
in class AbstractSurface
u
- the point in the internal parameter dimensionpublic float[] getRasterPoints(int elementCountU, int elementCountV)
public Transform getTransform()