Core 1.0
SmoothSegment Class Reference

A segment skeleton with a quadric or cubic falloff. More...

#include <smooth.h>

Inheritance diagram for SmoothSegment:
Segment

Public Member Functions

 SmoothSegment (const Vector &, const Vector &, const double &, const double &=1.0, bool=true)
 Create a smooth segment.
 
double Value (const Vector &) const
 Compute the intensity.
 
double Radius () const
 Return the radius.
 
Box GetBox () const
 Compute the bounding box.
 

Protected Attributes

double r = 0.0
 Falloff radius.
 
double s = 1.0
 Intensity.
 
bool cubic = true
 Cubic falloff, or quadric falloff.
 
- Protected Attributes inherited from Segment
Vector b = Vector::Z
 End vertices of the segment.
 

Additional Inherited Members

- Protected Member Functions inherited from Segment
 Segment ()
 Empty.
 
 Segment (const Vector &, const Vector &)
 Creates a segment given its end vertices.
 
 ~Segment ()
 Empty.
 
void Rotate (const Matrix &)
 Rotates a segment.
 
void Translate (const Vector &)
 Translates a segment.
 
void Scale (const double &)
 Uniformly scales a segment.
 
Segment Translated (const Vector &) const
 Translates a segment.
 
Segment Scaled (const Vector &) const
 Scales a segment.
 
Segment Scaled (const double &) const
 Uniformly scales a segment.
 
Segment Rotated (const Matrix &) const
 Rotates a segment.
 
Segment InverseTransformed (const Frame &) const
 Inverse transformation.
 
Quadric Equation (const Ray &) const
 Computes the polynomial equation of the Euclidean distance between a ray and the line corresponding to the segment.
 
Vector Vertex (int) const
 Return one of the end vertex of the axis.
 
VectorVertex (int)
 Return one of the end vertex of the axis.
 
Vector VertexAt (const double &) const
 Compute a point on the segment.
 
Vector Center () const
 Compute the center of the segment.
 
bool Intersect (const Box &) const
 Check if a segment intersects a box.
 
Vector GetAxis () const
 Returns the normalized axis vector.
 
Box GetBox () const
 Compute the bounding box of the segment.
 
double Length () const
 Return axis length.
 
double R (const Vector &) const
 Compute the squared distance to the segment.
 
double R (const Vector &, double &) const
 Compute the squared distance to the segment.
 
double R (const Segment &) const
 Compute the squared distance between two segments.
 
Vector Normal (const Vector &) const
 Compute the normal vector between a point and its projection onto the segment.
 
bool Equal (const Segment &, const double &) const
 Test if two segments are almost equal.
 
- Static Protected Member Functions inherited from Segment
static Quadric EdgeEquation (const Ray &, const Vector &, const Vector &, const Vector &)
 Compute the polynomial equation of the distance function along the ray.
 
static Vector Intersect (const Vector &, const Vector &, const double, const double, double=0.0)
 Compute the intersection between the line f(x)=y and a line such that f(a)=va and f(b)=vb, on the segment ab.
 

Detailed Description

A segment skeleton with a quadric or cubic falloff.

It uses either the cubic Cubic::SmoothCompact or Quadric::SmoothCompact falloff function.

See also
SmoothVertex

Constructor & Destructor Documentation

◆ SmoothSegment()

SmoothSegment::SmoothSegment ( const Vector & a,
const Vector & b,
const double & r,
const double & s = 1.0,
bool cubic = true )
explicit

Create a smooth segment.

Parameters
a,bVertexes of the segment.
rFalloff radius.
sIntensity.
cubicCubic flag, set to true to use cubic falloff, quadric otherwise.

Member Function Documentation

◆ Value()

double SmoothSegment::Value ( const Vector & p) const

Compute the intensity.

Parameters
pPoint.