Purpose:
|
Defines a two-ends form of a variable radius function.
|
|
Derivation:
|
var_rad_two_ends : var_radius : ACIS_OBJECT : -
|
|
SAT Identifier:
|
"two_ends"
|
|
Filename:
|
kern/kernel/sg_husk/vrbln/var_rad.hxx
|
|
Description:
|
This class defines a variable radius function that varies linearly between two end values.
|
|
Constructor:
|
public: var_rad_two_ends::var_rad_two_ends
();
|
|
|
C++ allocation constructor requests memory for this object but does not populate it.
|
|
|
|
|
|
|
public: var_rad_two_ends::var_rad_two_ends
(
|
|
|
double start_rad,
|
// start radius
|
|
|
double end_rad
|
// end radius
|
|
|
);
|
|
|
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
|
|
|
|
|
|
|
public: var_rad_two_ends::var_rad_two_ends
(
|
|
|
var_rad_two_ends const& old
|
// old
|
|
|
);
|
|
|
C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.
|
|
|
|
|
Destructor:
|
public: virtual
|
|
|
var_rad_two_ends::~var_rad_two_ends ();
|
|
|
C++ destructor, deleting a
var_rad_two_ends.
|
|
|
|
Methods:
|
public: virtual void var_rad_two_ends::append
(
|
|
|
var_radius&
|
// variable radius
|
|
|
);
|
|
|
Appends the given
var_radius.
|
|
|
|
|
|
|
public: virtual var_radius* var_rad_two_ends::copy
(
|
|
|
void
|
// pointer to data
|
|
|
) const;
|
|
|
Copies a
var_rad_two_ends.
|
|
|
|
|
|
|
public: virtual void var_rad_two_ends::debug
(
|
|
|
const char* leader,
|
// leader string
|
|
|
FILE* fp
|
// file pointer
|
|
|
|
= debug_file_ptr
|
|
|
) const;
|
|
|
Outputs a title line and information about
var_rad_two_ends to the debug file or to the specified file.
|
|
|
|
|
|
|
public: virtual double
|
|
|
var_rad_two_ends::end_deriv1 () const;
|
|
|
Returns the first derivative at the end parameter.
|
|
|
|
|
|
|
public: double var_rad_two_ends::end_rad
() const;
|
|
|
Returns the end radius datum.
|
|
|
|
|
|
|
public: virtual double
|
|
|
var_rad_two_ends::end_radius () const;
|
|
|
Returns the radius at the end parameter.
|
|
|
|
|
|
|
public: virtual void var_rad_two_ends::eval
(
|
|
|
double v_param,
|
// point
|
|
|
double* val
|
// variable radius
|
|
|
|
= NULL,
|
|
|
double* der1
|
// first derivative
|
|
|
|
= NULL,
|
|
|
double* der2
|
// second derivative
|
|
|
|
= NULL,
|
|
|
double* der3
|
// third derivative
|
|
|
|
= NULL
|
|
|
) const;
|
|
|
Evaluate a variable radius at a given parameter value.
|
|
|
|
|
|
|
public: virtual int var_rad_two_ends::form
() const;
|
|
|
Returns the form
TWO_ENDS.
|
|
|
|
|
|
|
public: virtual logical
|
|
|
var_rad_two_ends::implicit_var_radius () const;
|
|
|
Returns
FALSE for a
var_rad_two_ends.
|
|
|
|
|
|
|
public: virtual logical
|
|
|
var_rad_two_ends:: is_constant (
|
|
|
double* const_rad_value
|
// tolerance
|
|
|
) const;
|
|
|
Determines whether the input is constant.
|
|
|
|
|
|
|
public: virtual logical var_rad_two_ends::is_zero
(
|
|
|
double eps
|
// zero tolerance
|
|
|
) const;
|
|
|
Returns
TRUE if a radius function is zero everywhere, to within a given tolerance; otherwise, it returns
FALSE.
|
|
|
|
|
|
|
public: virtual bs2_curve
|
|
|
var_rad_two_ends::make_bs2 () const;
|
|
|
Returns a
bs2_curve representation of this radius function.
|
|
|
|
|
|
|
public: virtual void var_rad_two_ends::negate
();
|
|
|
Reverses this variable radius, front to back.
|
|
|
|
|
|
|
public: virtual logical
|
|
|
var_rad_two_ends::operator!= (
|
|
|
var_radius const& other
|
// variable radius
|
|
|
) const;
|
|
|
Determines whether a
var_rad_two_ends and a
var_radius are not equal.
|
|
|
|
|
|
|
public: virtual void var_rad_two_ends::operator*=
(
|
|
|
SPAtransf const&
|
// transformation
|
|
|
);
|
|
|
Transforms the
var_rad_two_ends by the given transformation.
|
|
|
|
|
|
|
public: virtual logical
|
|
|
var_rad_two_ends::operator== (
|
|
|
var_radius const& other
|
// variable radius
|
|
|
) const;
|
|
|
Implements an assignment operator, which tests to see if a .var_rad_two_ends is equal to a
var_radius
|
|
|
|
|
|
|
public: virtual void
|
|
|
var_rad_two_ends::restore_data ();
|
|
|
Restore the data for a
var_rad_two_ends from a save file.
|
|
|
var_radius::restore_data
|
Generic information
|
|
read_real
|
start radius data
|
|
read_real
|
|
|
|
end radius data
|
|
|
|
|
|
|
public: virtual void var_rad_two_ends::save
() const;
|
|
|
Calls
var_radius save_data method, then saves the start and end radius data.
|
|
|
|
|
|
|
public: void var_rad_two_ends::set_end_rad
(
|
|
|
double new_rad
|
// new radius
|
|
|
);
|
|
|
Sets a new value for the end radius.
|
|
|
|
|
|
|
public: void var_rad_two_ends::set_start_rad
(
|
|
|
double new_rad
|
// new radius
|
|
|
);
|
|
|
Sets a new value for the start radius.
|
|
|
|
|
|
|
public: virtual void var_rad_two_ends::split
(
|
|
|
double param,
|
// point of split
|
|
|
var_radius* pieces[2]
|
// array of 2 var_radii
|
|
|
);
|
|
|
Splits a
var_rad_two_ends into two pieces at the given point.
|
|
|
|
|
|
|
public: virtual double
|
|
|
var_rad_two_ends::start_deriv1 () const;
|
|
|
Returns the first derivative at the start parameter.
|
|
|
|
|
|
|
public: double var_rad_two_ends::start_rad
() const;
|
|
|
Returns the start radius datum.
|
|
|
|
|
|
|
public: virtual double
|
|
|
var_rad_two_ends::start_radius () const;
|
|
|
Returns the radius at the start parameter.
|
|
|
|
|
|
|
public: virtual void
|
|
|
var_rad_two_ends::trim_to_range (
|
|
|
SPAinterval
|
// interval
|
|
|
);
|
|
|
Trims the radius to the given interval.
|
|
|
|
|
|
|
public: virtual char const*
|
|
|
var_rad_two_ends::type_name () const;
|
|
|
Returns the string "two_ends".
|
|
|
|
|
|
|
public: virtual logical
|
|
|
var_rad_two_ends::zero_end_deriv1 (
|
|
|
logical,
|
// at start point if true
|
|
|
double tol
|
// tolerance
|
|
|
|
= SPAresabs
|
|
|
) const;
|
|
|
Returns
TRUE if the first derivative at the start or end point of the
var_rad_two_ends is zero (i.e., less than SPAresabs).
|
|
|
|
|
|
|
public: virtual logical
|
|
|
var_rad_two_ends::zero_end_radius (
|
|
|
logical at_start,
|
// at start point if true
|
|
|
double tol
|
// tolerance
|
|
|
|
= SPAresabs
|
|
|
) const;
|
|
|
Returns
TRUE if the radius at the start or end point of the
var_rad_two_ends is zero (i.e., less than SPAresabs).
|
|
|
|
|
Related Fncs:
|
bs2_radius_is_zero
|