Home

var_rad_fixed_width Class Reference
[curves]

Defines a constant cross section radius for a variable radius function. More...

#include <var_rad.hxx>

Inheritance diagram for var_rad_fixed_width:

Inheritance graph
[legend]
Collaboration diagram for var_rad_fixed_width:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void append (var_radius &vrad)
 Appends one variable radius to the specified variable radius.
virtual void calibrate_radius (double t0, double t1)
 Calibrates the variable radius between the two given parameters.
logical calibrated (void) const
 Returns TRUE if the ends are calibrated; otherwise, it returns FALSE.
virtual var_radiuscopy () const
 Copies a var_rad_fixed_width.
virtual void debug (const char *leader, FILE *fp=debug_file_ptr) const
 Outputs a leader line and details about the var_rad_fixed_width to the debug file or to the specified file.
virtual double end_deriv1 () const
 Returns the end of the first derivative.
virtual double end_radius () const
 Returns the end of the radius.
virtual void eval (double v_param, double *val=NULL, evaluate_curve_side side=evaluate_curve_unknown, double *der1=NULL, double *der2=NULL, double *der3=NULL, double *der4=NULL) const
 Evaluates a variable radius at a given parameter value.
virtual logical explicit_var_radius () const
 Returns TRUE if the radius function is an explicit function of v.
virtual int form () const
 Returns the form FIXED_WIDTH.
virtual void get_disc_info (discontinuity_info &di) const
 Get the discontinuities of the radius function.
double get_max_radius () const
 Returns the maximum radius.
double get_min_radius () const
 Returns the minimum radius.
virtual logical implicit_var_radius () const
 Returns TRUE for a var_rad_fixed_width.
virtual logical is_constant (double *rad_value=NULL) const
 Determines whether the input is constant.
virtual logical is_zero (double eps) const
 Returns TRUE if a radius function is zero everywhere, to within a given tolerance - else, it returns FALSE.
virtual bs2_curve make_bs2 () const
 Returns a bs2_curve representation of this radius function.
virtual void negate ()
 Reverses this variable radius, front to back.
virtual logical operator!= (var_radius const &other) const
 Tests the two var_rad_fixed_widths to see if they are not equal.
virtual void operator*= (SPAtransf const &trans)
 Transforms the var_rad_fixed_width.
virtual logical operator== (var_radius const &other) const
 Implements an assignment operator, which tests to see if a var_rad_fixed_width is equal to a var_radius.
SPAinterval param_range (void) const
 Returns the parameter range.
virtual void reparam (double start, double end)
 Reparameterizes the variable radius with new start and end parameter values.
virtual void restore_data ()
 Restores the data for a var_rad_fixed_width from a save file.
virtual void save () const
 Saves the form or id, calls a save_data, then saves width data.
void save_data () const
 Saves the information for the var_radius to a save file.
void set_end_param (double new_param)
 Sets the end parameter.
void set_max_radius (double max_rad)
 Sets the maximum radius.
void set_min_radius (double min_rad)
 Sets the minimum radius.
void set_start_param (double new_param)
 Sets the start parameter.
void set_width (double width)
 Sets the width of the radius.
virtual void shift (double delta)
 Shifts the variable radius by the given value.
virtual void split (double param, var_radius *pieces[2])
 Splits a variable radius into two pieces.
virtual double start_deriv1 () const
 Returns the start of the first derivative.
virtual double start_radius () const
 Returns the start of the radius.
virtual void trim_to_range (SPAinterval const &r)
 Trims the variable radius to the specified range.
virtual char const * type_name () const
 Returns the string "fixed_width".
virtual void uncalibrate_radius ()
 Un-calibrates the radius function(s).
 var_rad_fixed_width (var_rad_fixed_width const &old)
 C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.
 var_rad_fixed_width (double width=-1.)
 C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
double width () const
 Gets the width of a var_rad_fixed_width.
virtual logical zero_end_deriv1 (logical, double=SPAresabs) const
 Returns TRUE if the first derivative at the start or end point of the var_rad_fixed_width is zero (less than SPAresabs).
virtual logical zero_end_radius (logical at_start, double tol=SPAresabs) const
 Returns TRUE if the radius at the start or end point of the var_rad_fixed_width is zero (less than SPAresabs).
virtual ~var_rad_fixed_width ()
 C++ destructor, deleting a var_fixed_width.


Detailed Description

Defines a constant cross section radius for a variable radius function.


Role: This radius is an implicit function of the parameter v. It cannot be evaluated explicitly as r(v) without partially evaluating the blend surface itself.


Constructor & Destructor Documentation

var_rad_fixed_width::var_rad_fixed_width ( double  width = -1.  ) 

C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.



Parameters:
width given width.

var_rad_fixed_width::var_rad_fixed_width ( var_rad_fixed_width const &  old  ) 

C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.



Parameters:
old given width.

virtual var_rad_fixed_width::~var_rad_fixed_width (  )  [virtual]

C++ destructor, deleting a var_fixed_width.


Member Function Documentation

virtual void var_radius::append ( var_radius vrad  )  [virtual, inherited]

Appends one variable radius to the specified variable radius.



Parameters:
varrad variable radius.

Reimplemented in var_rad_const, var_rad_two_ends, var_rad_functional, and var_rad_rot_ellipse.

virtual void var_radius::calibrate_radius ( double  t0,
double  t1 
) [virtual, inherited]

Calibrates the variable radius between the two given parameters.



Parameters:
t0 start parameter.
t1 end parameter.

Reimplemented in var_rad_functional.

logical var_radius::calibrated ( void   )  const [inline, inherited]

Returns TRUE if the ends are calibrated; otherwise, it returns FALSE.

virtual var_radius* var_rad_fixed_width::copy (  )  const [virtual]

Copies a var_rad_fixed_width.

Implements var_radius.

virtual void var_rad_fixed_width::debug ( const char *  leader,
FILE *  fp = debug_file_ptr 
) const [virtual]

Outputs a leader line and details about the var_rad_fixed_width to the debug file or to the specified file.



Parameters:
leader leader string.
fp file pointer.

Reimplemented from var_radius.

virtual double var_rad_fixed_width::end_deriv1 (  )  const [inline, virtual]

Returns the end of the first derivative.

Reimplemented from var_radius.

virtual double var_rad_fixed_width::end_radius (  )  const [inline, virtual]

Returns the end of the radius.

Reimplemented from var_radius.

virtual void var_radius::eval ( double  v_param,
double *  val = NULL,
evaluate_curve_side  side = evaluate_curve_unknown,
double *  der1 = NULL,
double *  der2 = NULL,
double *  der3 = NULL,
double *  der4 = NULL 
) const [virtual, inherited]

Evaluates a variable radius at a given parameter value.



Parameters:
v_param parameter value.
val value.
der1 first derivative.
der2 second derivative.
der3 third derivative initializer.
der4 fourth derivative.

Reimplemented in var_rad_const, var_rad_two_ends, var_rad_functional, and var_rad_rot_ellipse.

virtual logical var_radius::explicit_var_radius (  )  const [inline, virtual, inherited]

Returns TRUE if the radius function is an explicit function of v.



Role: The function is an explicit function if it can be evaluated independently of the blend surface.

virtual int var_rad_fixed_width::form (  )  const [inline, virtual]

Returns the form FIXED_WIDTH.

Implements var_radius.

virtual void var_radius::get_disc_info ( discontinuity_info di  )  const [virtual, inherited]

Get the discontinuities of the radius function.

Reimplemented in var_rad_functional.

double var_radius::get_max_radius (  )  const [inline, inherited]

Returns the maximum radius.

double var_radius::get_min_radius (  )  const [inline, inherited]

Returns the minimum radius.

virtual logical var_rad_fixed_width::implicit_var_radius (  )  const [inline, virtual]

Returns TRUE for a var_rad_fixed_width.

Implements var_radius.

virtual logical var_rad_fixed_width::is_constant ( double *  rad_value = NULL  )  const [inline, virtual]

Determines whether the input is constant.



Parameters:
tol tolerance.

Implements var_radius.

virtual logical var_rad_fixed_width::is_zero ( double  eps  )  const [inline, virtual]

Returns TRUE if a radius function is zero everywhere, to within a given tolerance - else, it returns FALSE.



Parameters:
eps zero tolerance.

Reimplemented from var_radius.

virtual bs2_curve var_rad_fixed_width::make_bs2 (  )  const [virtual]

Returns a bs2_curve representation of this radius function.

Reimplemented from var_radius.

virtual void var_radius::negate (  )  [virtual, inherited]

Reverses this variable radius, front to back.

Reimplemented in var_rad_two_ends, var_rad_functional, and var_rad_rot_ellipse.

virtual logical var_rad_fixed_width::operator!= ( var_radius const &  other  )  const [inline, virtual]

Tests the two var_rad_fixed_widths to see if they are not equal.



Parameters:
other variable radius.

Reimplemented from var_radius.

virtual void var_rad_fixed_width::operator*= ( SPAtransf const &  trans  )  [virtual]

Transforms the var_rad_fixed_width.



Role: Only scaling is significant here.

Parameters:
trans transformation.

Reimplemented from var_radius.

virtual logical var_rad_fixed_width::operator== ( var_radius const &  other  )  const [virtual]

Implements an assignment operator, which tests to see if a var_rad_fixed_width is equal to a var_radius.



Parameters:
other variable radius.

Reimplemented from var_radius.

SPAinterval var_radius::param_range ( void   )  const [inline, inherited]

Returns the parameter range.

virtual void var_radius::reparam ( double  start,
double  end 
) [virtual, inherited]

Reparameterizes the variable radius with new start and end parameter values.



Parameters:
start start parameter.
end end parameter.

Reimplemented in var_rad_functional.

virtual void var_rad_fixed_width::restore_data (  )  [virtual]

Restores the data for a var_rad_fixed_width from a save file.



Role:
var_radius::restore_data Save the underlying data
read_real radius width

Reimplemented from var_radius.

virtual void var_rad_fixed_width::save (  )  const [virtual]

Saves the form or id, calls a save_data, then saves width data.

Reimplemented from var_radius.

void var_radius::save_data (  )  const [inherited]

Saves the information for the var_radius to a save file.

void var_radius::set_end_param ( double  new_param  )  [inline, inherited]

Sets the end parameter.



Parameters:
new_param end parameter.

void var_radius::set_max_radius ( double  max_rad  )  [inline, inherited]

Sets the maximum radius.



Parameters:
max_rad maximum radius.

void var_radius::set_min_radius ( double  min_rad  )  [inline, inherited]

Sets the minimum radius.



Parameters:
min_rad minimum radius.

void var_radius::set_start_param ( double  new_param  )  [inline, inherited]

Sets the start parameter.



Parameters:
new_param start parameter.

void var_rad_fixed_width::set_width ( double  width  )  [inline]

Sets the width of the radius.



Parameters:
width width value.

virtual void var_radius::shift ( double  delta  )  [virtual, inherited]

Shifts the variable radius by the given value.



Parameters:
delta shift delta.

Reimplemented in var_rad_functional.

virtual void var_radius::split ( double  param,
var_radius pieces[2] 
) [virtual, inherited]

Splits a variable radius into two pieces.



Parameters:
param parameter value.
pieces the two pieces.

Reimplemented in var_rad_two_ends, var_rad_functional, and var_rad_rot_ellipse.

virtual double var_rad_fixed_width::start_deriv1 (  )  const [inline, virtual]

Returns the start of the first derivative.

Reimplemented from var_radius.

virtual double var_rad_fixed_width::start_radius (  )  const [inline, virtual]

Returns the start of the radius.

Reimplemented from var_radius.

virtual void var_radius::trim_to_range ( SPAinterval const &  r  )  [virtual, inherited]

Trims the variable radius to the specified range.



Parameters:
inter interval.

Reimplemented in var_rad_two_ends, and var_rad_rot_ellipse.

virtual char const* var_rad_fixed_width::type_name (  )  const [virtual]

Returns the string "fixed_width".

Implements var_radius.

virtual void var_radius::uncalibrate_radius (  )  [virtual, inherited]

Un-calibrates the radius function(s).

double var_rad_fixed_width::width (  )  const [inline]

Gets the width of a var_rad_fixed_width.

virtual logical var_rad_fixed_width::zero_end_deriv1 ( logical  ,
double  = SPAresabs 
) const [inline, virtual]

Returns TRUE if the first derivative at the start or end point of the var_rad_fixed_width is zero (less than SPAresabs).



Parameters:
at_start at start point if true.
tol tolerance.

Implements var_radius.

virtual logical var_rad_fixed_width::zero_end_radius ( logical  at_start,
double  tol = SPAresabs 
) const [inline, virtual]

Returns TRUE if the radius at the start or end point of the var_rad_fixed_width is zero (less than SPAresabs).



Parameters:
at_start at start point if true.
tol tolerance.

Implements var_radius.