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.
Vector & Vertex (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.