Home

var_rad_rot_ellipse Class Reference
[curves]

Defines a rotational radius ellipse for a variable radius function. More...

#include <var_rad.hxx>

Inheritance diagram for var_rad_rot_ellipse:

Inheritance graph
[legend]
Collaboration diagram for var_rad_rot_ellipse:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void append (var_radius &var_rad)
 Appends the var_rad_rot_ellipse.
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 the var_rad_rot_ellipse.
virtual void debug (const char *leader, FILE *fp=debug_file_ptr) const
 Prints out a class-specific identifying line to standard output or to the specified file.
virtual double end_deriv1 () const
 Returns the end derivative.
double end_maj () const
 Returns the end major.
double end_min () const
 Returns the end minor.
virtual double end_radius () const
 Returns the end radius.
double end_rot () const
 Returns the end rotation.
virtual void eval (double v_param, logical is_left, double *val=NULL, double *der1=NULL, double *der2=NULL, double *der3=NULL, double *der4=NULL) const
 Finds the position of the 1st, 2nd, and 3rd derivatives.
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
 Finds the position of the 1st, 2nd, and 3rd derivatives.
void eval_all (double param, int n_derivs, double left_rad[5], double right_rad[5], double left_tbw[5], double right_tbw[5]) const
 Returns the position of all the evaluators.
virtual logical explicit_var_radius () const
 Returns TRUE if the radius function is an explicit function of v.
virtual int form () const
 Returns a var_rad_rot_ellipse form.
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
 Determines if implicit.
virtual logical is_constant (double *rad_value=NULL) const
 Determines whether the input is constant.
virtual logical is_zero (double eps) const
 Returns TRUE the two var_rad_rot_ellipse are zero - 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
 Determines whether a var_rad_rot_ellipse is equal.
virtual void operator*= (SPAtransf const &trans)
 Transforms the variable radius by the specified transform.
virtual logical operator== (var_radius const &other) const
 Implements an assignment operator, which tests to see if a var_rad_rot_ellipse is equal to a var_radius.
SPAinterval param_range (void) const
 Returns the parameter range.
logical ref_is_left () const
 Returns TRUE if the given reference is from the left - else, it returns FALSE.
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_rot_ellipse from a save file.
virtual void save () const
 Saves the form or id, calls save_data, saves the major radius, minor radius, rotation, and face left or right.
void save_data () const
 Saves the information for the var_radius to a save file.
void set_end_maj (double new_maj1)
 Sets end major.
void set_end_min (double new_min1)
 Sets end minor.
void set_end_param (double new_param)
 Sets the end parameter.
void set_end_rot (double new_rot1)
 Sets end rotation.
void set_max_radius (double max_rad)
 Sets the maximum radius.
void set_min_radius (double min_rad)
 Sets the minimum radius.
void set_ref_face (logical new_left)
 Sets the referenced face.
void set_start_maj (double new_maj0)
 Sets the start major.
void set_start_min (double new_min0)
 Sets the start minor.
void set_start_param (double new_param)
 Sets the start parameter.
void set_start_rot (double new_rot0)
 Sets the start rotation.
virtual void shift (double delta)
 Shifts the variable radius by the given value.
virtual void split (double param, var_radius *pieces[2])
 Returns the split.
virtual double start_deriv1 () const
 Returns the start derivative.
double start_maj () const
 Returns the start major.
double start_min () const
 Returns the start minor.
virtual double start_radius () const
 Returns the start radius.
double start_rot () const
 Returns the start rotation.
virtual void trim_to_range (SPAinterval const &r)
 Trims to range.
virtual char const * type_name () const
 Returns the string "elliptical".
virtual void uncalibrate_radius ()
 Un-calibrates the radius function(s).
 var_rad_rot_ellipse (var_rad_rot_ellipse 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_rot_ellipse (double start_maj, double end_maj, double start_min, double end_min, double start_rot, double end_rot, logical left_face_is_ref)
 C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
 var_rad_rot_ellipse ()
 C++ allocation constructor requests memory for this object but does not populate it.
virtual logical zero_end_deriv1 (logical at_start, double tol=SPAresabs) const
 Returns TRUE if the first derivative at the start or end point of the var_rad_rot_ellipse 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_rot_ellipse is zero (less than SPAresabs).
virtual ~var_rad_rot_ellipse ()
 C++ destructor, deleting a var_rad_rot_ellipse.


Detailed Description

Defines a rotational radius ellipse for a variable radius function.

Constructor & Destructor Documentation

var_rad_rot_ellipse::var_rad_rot_ellipse (  ) 

C++ allocation constructor requests memory for this object but does not populate it.

var_rad_rot_ellipse::var_rad_rot_ellipse ( double  start_maj,
double  end_maj,
double  start_min,
double  end_min,
double  start_rot,
double  end_rot,
logical  left_face_is_ref 
)

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



Parameters:
start_maj start major.
end_maj end major.
start_min start minor.
end_min end minor.
start_rot start rotation.
end_rot end rotation.
left_face_is_ref left face.

var_rad_rot_ellipse::var_rad_rot_ellipse ( var_rad_rot_ellipse 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 old.

virtual var_rad_rot_ellipse::~var_rad_rot_ellipse (  )  [virtual]

C++ destructor, deleting a var_rad_rot_ellipse.


Member Function Documentation

virtual void var_rad_rot_ellipse::append ( var_radius var_rad  )  [virtual]

Appends the var_rad_rot_ellipse.



Parameters:
var_rad variance radius.

Reimplemented from var_radius.

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_rot_ellipse::copy (  )  const [virtual]

Copies the var_rad_rot_ellipse.

Implements var_radius.

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

Prints out a class-specific identifying line to standard output or to the specified file.



Parameters:
leader leader.
fp file.

Reimplemented from var_radius.

virtual double var_rad_rot_ellipse::end_deriv1 (  )  const [virtual]

Returns the end derivative.

Reimplemented from var_radius.

double var_rad_rot_ellipse::end_maj (  )  const [inline]

Returns the end major.

double var_rad_rot_ellipse::end_min (  )  const [inline]

Returns the end minor.

virtual double var_rad_rot_ellipse::end_radius (  )  const [virtual]

Returns the end radius.

Reimplemented from var_radius.

double var_rad_rot_ellipse::end_rot (  )  const [inline]

Returns the end rotation.

virtual void var_rad_rot_ellipse::eval ( double  v_param,
logical  is_left,
double *  val = NULL,
double *  der1 = NULL,
double *  der2 = NULL,
double *  der3 = NULL,
double *  der4 = NULL 
) const [virtual]

Finds the position of the 1st, 2nd, and 3rd derivatives.



Parameters:
v_param v-parameter.
is_left is left.
val value.
der1 1st derivative.
der2 2nd derivative.
der3 3rd derivative.
der4 4th derivative.

virtual void var_rad_rot_ellipse::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]

Finds the position of the 1st, 2nd, and 3rd derivatives.



Parameters:
v_param v-parameter.
val value.
der1 1st derivative.
der2 2nd derivative.
der3 3rd derivative.
der4 4th derivative.

Reimplemented from var_radius.

void var_rad_rot_ellipse::eval_all ( double  param,
int  n_derivs,
double  left_rad[5],
double  right_rad[5],
double  left_tbw[5],
double  right_tbw[5] 
) const

Returns the position of all the evaluators.



Parameters:
param parameter.
n_derivs n derivatives.
left_rad left radius.
right_rad right radius.
left_tbw left thumbweight.
right_tbw right thumbweight.

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_rot_ellipse::form (  )  const [inline, virtual]

Returns a var_rad_rot_ellipse form.

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_rot_ellipse::implicit_var_radius (  )  const [inline, virtual]

Determines if implicit.

Implements var_radius.

virtual logical var_rad_rot_ellipse::is_constant ( double *  rad_value = NULL  )  const [virtual]

Determines whether the input is constant.



Parameters:
const_rad_value tolerance.

Implements var_radius.

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

Returns TRUE the two var_rad_rot_ellipse are zero - else, it returns FALSE.



Parameters:
eps zero tolerance.

Reimplemented from var_radius.

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

Returns a bs2_curve representation of this radius function.

Reimplemented from var_radius.

virtual void var_rad_rot_ellipse::negate (  )  [virtual]

Reverses this variable radius, front to back.

Reimplemented from var_radius.

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

Determines whether a var_rad_rot_ellipse is equal.



Parameters:
other other var_radius.

Reimplemented from var_radius.

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

Transforms the variable radius by the specified transform.



Parameters:
trans transformation.

Reimplemented from var_radius.

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

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



Parameters:
other other var_radius.

Reimplemented from var_radius.

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

Returns the parameter range.

logical var_rad_rot_ellipse::ref_is_left (  )  const [inline]

Returns TRUE if the given reference is from the left - else, it returns FALSE.

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_rot_ellipse::restore_data (  )  [virtual]

Restores the data for a var_rad_rot_ellipse from a save file.



Role:
read_real Start major radius
read_real End major radius
read_real Start minor radius
read_real End minor radius
read_real Start rotation angle
read_real End rotation angle
read_logical Face for reference. Either "right" or "left"

Reimplemented from var_radius.

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

Saves the form or id, calls save_data, saves the major radius, minor radius, rotation, and face left or right.

Reimplemented from var_radius.

void var_radius::save_data (  )  const [inherited]

Saves the information for the var_radius to a save file.

void var_rad_rot_ellipse::set_end_maj ( double  new_maj1  )  [inline]

Sets end major.



Parameters:
new_maj1 new major.

void var_rad_rot_ellipse::set_end_min ( double  new_min1  )  [inline]

Sets end minor.



Parameters:
new_min1 new minor.

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

Sets the end parameter.



Parameters:
new_param end parameter.

void var_rad_rot_ellipse::set_end_rot ( double  new_rot1  )  [inline]

Sets end rotation.



Parameters:
new_rot1 new rotation.

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_rad_rot_ellipse::set_ref_face ( logical  new_left  )  [inline]

Sets the referenced face.



Parameters:
new_left new left.

void var_rad_rot_ellipse::set_start_maj ( double  new_maj0  )  [inline]

Sets the start major.



Parameters:
new_maj0 new major.

void var_rad_rot_ellipse::set_start_min ( double  new_min0  )  [inline]

Sets the start minor.



Parameters:
new_min0 new minor.

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

Sets the start parameter.



Parameters:
new_param start parameter.

void var_rad_rot_ellipse::set_start_rot ( double  new_rot0  )  [inline]

Sets the start rotation.



Parameters:
new_rot0 new rotation.

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_rad_rot_ellipse::split ( double  param,
var_radius pieces[2] 
) [virtual]

Returns the split.



Parameters:
param parameter.
pieces pieces.

Reimplemented from var_radius.

virtual double var_rad_rot_ellipse::start_deriv1 (  )  const [virtual]

Returns the start derivative.

Reimplemented from var_radius.

double var_rad_rot_ellipse::start_maj (  )  const [inline]

Returns the start major.

double var_rad_rot_ellipse::start_min (  )  const [inline]

Returns the start minor.

virtual double var_rad_rot_ellipse::start_radius (  )  const [virtual]

Returns the start radius.

Reimplemented from var_radius.

double var_rad_rot_ellipse::start_rot (  )  const [inline]

Returns the start rotation.

virtual void var_rad_rot_ellipse::trim_to_range ( SPAinterval const &  r  )  [virtual]

Trims to range.



Parameters:
inter interval.

Reimplemented from var_radius.

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

Returns the string "elliptical".

Implements var_radius.

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

Un-calibrates the radius function(s).

virtual logical var_rad_rot_ellipse::zero_end_deriv1 ( logical  at_start,
double  tol = SPAresabs 
) const [inline, virtual]

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



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

Implements var_radius.

virtual logical var_rad_rot_ellipse::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_rot_ellipse is zero (less than SPAresabs).



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

Implements var_radius.