Core 1.0
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.
 
 ~Taper ()
 Empty.
 
Vector Transform (const Vector &) const
 Transforms a point.
 
Vector InverseTransform (const Vector &) const
 Inverse transform.
 
Box GetBox (const Box &) const
 Compute the bounding box of the deformed (tapered) box.
 
- Public Member Functions inherited from Axis
 Axis ()
 Empty.
 
 Axis (const Vector &, const Vector &)
 Creates an axis given end vertices.
 
 ~Axis ()
 Empty.
 
void Rotate (const Matrix &)
 Rotates an axis.
 
void Translate (const Vector &)
 Translates an axis.
 
void Scale (const double &)
 Uniformly scales an axis.
 
void Scale (const Vector &)
 Scales an axis.
 
Quadric Equation (const Ray &) const
 Compute the polynomial equation of the Euclidean distance between a ray and the axis.
 
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.
 
Sphere Symmetric (const Sphere &) const
 Symmetric sphere.
 
Vector Normal (const Vector &) const
 Compute the normal vector between a point and its projection onto the edge.
 
double R (const Vector &) const
 Compute the squared distance to the segment.
 
double R (const Axis &) const
 Compute the squared distance between two axes.
 
double R (const Vector &, double &) const
 Compute the squared distance to the axis.
 
Matrix GetFrame () const
 Compute an orthonormal frame attached to the axis.
 
Vector2 Radial (const Vector &) const
 Compute the radial coordinates of a point.
 

Protected Attributes

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

Friends

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

Additional Inherited Members

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

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 Symbol Documentation

◆ operator<<

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

Overloaded.

Parameters
sStream.
taperTaper.