Core 1.0
Public Member Functions | Protected Attributes | Friends | List of all members
Taper Class Reference

Barr's tapering deformation. More...

#include <taper.h>

Inheritance diagram for Taper:
Axis

Public Member Functions

 Taper (const Vector &, const Vector &, const Cubic &)
 Creates a tapering operator. More...
 
 ~Taper ()
 Empty.
 
Vector Transform (const Vector &) const
 Transforms a point. More...
 
Vector InverseTransform (const Vector &) const
 Inverse transform. More...
 
Box GetBox (const Box &) const
 Compute the bounding box of the deformed (tapered) box. More...
 
- Public Member Functions inherited from Axis
 Axis ()
 Empty.
 
 Axis (const Vector &, const Vector &)
 Creates an axis given end vertices. More...
 
 ~Axis ()
 Empty.
 
void Rotate (const Matrix &)
 Rotates an axis. More...
 
void Translate (const Vector &)
 Translates an axis. More...
 
void Scale (const double &)
 Uniformly scales an axis. More...
 
void Scale (const Vector &)
 Scales an axis. More...
 
Quadric Equation (const Ray &) const
 Compute the polynomial equation of the Euclidean distance between a ray and the axis. More...
 
Vector Vertex (int) const
 Return one of the end vertexes of the axis.
 
Vector Point (const double &) const
 Compute a point on the axis.
 
Vector GetAxis () const
 Returns the normalized axis vector.
 
double Length () const
 Return the axis length.
 
Vector Symmetric (const Vector &) const
 Symmetric point. More...
 
Sphere Symmetric (const Sphere &) const
 Symmetric sphere. More...
 
Vector Normal (const Vector &) const
 Compute the normal vector between a point and its projection onto the edge. More...
 
double R (const Vector &) const
 Compute the squared distance to the segment. More...
 
double R (const Axis &) const
 Compute the squared distance between two axes. More...
 
double R (const Vector &, double &) const
 Compute the squared distance to the axis. More...
 
Matrix GetFrame () const
 Compute an orthonormal frame attached to the axis. More...
 

Protected Attributes

Cubic c
 Cubic that defines the tapering effect.
 
- Protected Attributes inherited from Axis
Vector b = Vector::Z
 End vertices of the axis.
 
Vector axis = Vector::Z
 Normalized axis vector.
 
double length = 1.0
 Length of the axis.
 

Friends

std::ostream & operator<< (std::ostream &, const Taper &)
 Overloaded. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Axis
static Matrix GetFrame (const Vector &)
 Compute an orthonormal frame attached to the axis. More...
 
static Vector BoxVector (const Vector &)
 Compute the box vector extent of a unit circle with a given axis. More...
 
- Protected Member Functions inherited from Axis
double Radial (const Vector &, Vector &, Vector &) const
 Compute the radial coordinates of a point. More...
 
Vector2 Radial (const Vector &) const
 Compute the radial coordinates of a point. More...
 

Detailed Description

Barr's tapering deformation.

The tapering function is defined by a cubic.

Constructor & Destructor Documentation

◆ Taper()

Taper::Taper ( const Vector a,
const Vector b,
const Cubic c 
)
explicit

Creates a tapering operator.

Parameters
a,bEnd vertices of the tapering axis.
cCubic function representing the tapering factor along the axis.

Member Function Documentation

◆ GetBox()

Box Taper::GetBox ( const Box box) const

Compute the bounding box of the deformed (tapered) box.

Parameters
boxThe box.

◆ InverseTransform()

Vector Taper::InverseTransform ( const Vector p) const

Inverse transform.

Parameters
pPoint.

◆ Transform()

Vector Taper::Transform ( const Vector p) const

Transforms a point.

Parameters
pPoint.

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  s,
const Taper taper 
)
friend

Overloaded.

Parameters
sStream.
taperTaper.