edu.stanford.rsl.konrad.geometry.splines
Class TimeVariantSurfaceBSpline

java.lang.Object
  extended by edu.stanford.rsl.konrad.geometry.AbstractShape
      extended by edu.stanford.rsl.konrad.geometry.splines.TimeVariantSurfaceBSpline
All Implemented Interfaces:
Transformable, java.io.Serializable

public class TimeVariantSurfaceBSpline
extends AbstractShape

See Also:
Serialized Form

Constructor Summary
TimeVariantSurfaceBSpline(java.util.ArrayList<SurfaceBSpline> splines)
           
TimeVariantSurfaceBSpline(SurfaceBSpline timeInvariant, MotionField motion, int timePoints)
           
 
Method Summary
 void applyTransform(Transform t)
          Applies the Transform t to the object.
 PointND evaluate(double u, double v, double t)
           
 PointND evaluate(PointND u)
          Returns the point on the shape at the internal position u.
 java.util.ArrayList<PointND> getControlPoints(int time)
           
 int getDimension()
          Returns the external dimension of the shape.
 int getInternalDimension()
          returns the internal dimension of the shape, i.e.
 int getNumberOfTimePoints()
           
 PointND[] getRasterPoints(int number)
          Rasters the shape with a given number of points or less.
 PointND[] getRasterPoints(int number, double time)
           
 java.lang.String getTitle()
           
 java.util.ArrayList<PointND> intersect(AbstractCurve other)
          Returns the intersection points between the curve and the shape.
 boolean isBounded()
          Returns true if the shape is of limited space
 void setTitle(java.lang.String title)
           
 AbstractShape tessellateMesh(double samplingU, double samplingV, double time)
           
 
Methods inherited from class edu.stanford.rsl.konrad.geometry.AbstractShape
getHitsOnBoundingBox_slow, getHitsOnBoundingBox, getMax, getMin
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeVariantSurfaceBSpline

public TimeVariantSurfaceBSpline(java.util.ArrayList<SurfaceBSpline> splines)

TimeVariantSurfaceBSpline

public TimeVariantSurfaceBSpline(SurfaceBSpline timeInvariant,
                                 MotionField motion,
                                 int timePoints)
Method Detail

getNumberOfTimePoints

public int getNumberOfTimePoints()

getControlPoints

public java.util.ArrayList<PointND> getControlPoints(int time)

applyTransform

public void applyTransform(Transform t)
Description copied from interface: Transformable
Applies the Transform t to the object.

Specified by:
applyTransform in interface Transformable
Specified by:
applyTransform in class AbstractShape
Parameters:
t - the transform to apply to the object.

getDimension

public int getDimension()
Description copied from class: AbstractShape
Returns the external dimension of the shape.

Specified by:
getDimension in class AbstractShape
Returns:
the dimension

evaluate

public PointND evaluate(PointND u)
Description copied from class: AbstractShape
Returns the point on the shape at the internal position u. If the shape is a curve, u is of dimension 1, if the shape is a surface u is of dimension 2, etc.

Specified by:
evaluate in class AbstractShape
Parameters:
u - the point in the internal parameter dimension
Returns:
the point on the shape at the internal dimension

evaluate

public PointND evaluate(double u,
                        double v,
                        double t)

tessellateMesh

public AbstractShape tessellateMesh(double samplingU,
                                    double samplingV,
                                    double time)

getInternalDimension

public int getInternalDimension()
Description copied from class: AbstractShape
returns the internal dimension of the shape, i.e. 1 if it is a curve, 2 if it is a surface, etc.

Specified by:
getInternalDimension in class AbstractShape
Returns:
the internal dimension

getRasterPoints

public PointND[] getRasterPoints(int number)
Description copied from class: AbstractShape
Rasters the shape with a given number of points or less. If the shape is not bounded null is returned.

Specified by:
getRasterPoints in class AbstractShape
Parameters:
number - the number of points
Returns:
the raster points

getRasterPoints

public PointND[] getRasterPoints(int number,
                                 double time)

intersect

public java.util.ArrayList<PointND> intersect(AbstractCurve other)
Description copied from class: AbstractShape
Returns the intersection points between the curve and the shape. Returns null, if the intersection is empty.

Specified by:
intersect in class AbstractShape
Returns:
the intersection points.

setTitle

public void setTitle(java.lang.String title)
Parameters:
title - the title to set

getTitle

public java.lang.String getTitle()
Returns:
the title

isBounded

public boolean isBounded()
Description copied from class: AbstractShape
Returns true if the shape is of limited space

Specified by:
isBounded in class AbstractShape
Returns:
Boundedness of this shape.