Purpose:
|
Represents a surface of rotation.
|
|
Derivation:
|
rot_spl_sur : spl_sur : subtrans_object : subtype_object : ACIS_OBJECT : -
|
|
SAT Identifier:
|
"rotsur"
|
|
Filename:
|
kern/kernel/kerngeom/splsur/rot_spl.hxx
|
|
Description:
|
This class represents a surface of rotation. The surface is defined by an axis of rotation and a curve. The curve must not intersect with the axis, except possibly at its ends, and must not be tangential to a circle centered on the axis and perpendicular to it (i.e., at no point on the curve can the tangent direction be the same as that of a circle that is centered on the axis of revolution, perpendicular to it, and through the point). The parameter ranges defining the surface are the
u-direction along the curve following its parameterization, and the
v-direction clockwise around the axis, with the given curve as the v=0 parameter line.
|
|
References:
|
KERN
|
curve
|
|
BASE
|
SPAposition, SPAunit_vector
|
|
Constructor:
|
public: rot_spl_sur::rot_spl_sur(
|
|
|
const rot_spl_sur&
|
// rot_spl_sur
|
|
|
);
|
|
|
C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.
|
|
|
|
|
|
|
public: rot_spl_sur::rot_spl_sur
(
|
|
|
curve const&,
|
// given curve
|
|
|
SPAposition const&,
|
// axis point
|
|
|
SPAunit_vector const&,
|
// axis direction
|
|
|
SPAinterval const&
|
// u-parameter range
|
|
|
|
= * (SPAinterval* ) NULL_REF,
|
|
|
SPAinterval const&
|
// v-parameter range
|
|
|
|
= * (SPAinterval* ) NULL_REF
|
|
|
);
|
|
|
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
|
|
|
The
u-parameter range defaults to the full given curve, or it returns an error if the curve is unbounded. The
v-parameter range defaults to a full circle, 0 to 2pi.
|
|
|
|
Methods:
|
public: virtual spl_sur* rot_spl_sur::deep_copy
(
|
|
|
pointer_map* pm
|
// list of items within
|
|
|
|
= NULL
|
// the entity that are
|
|
|
|
|
// already deep copied
|
|
|
) const;
|
|
|
Creates a copy of an item that does not share any data with the original. Allocates new storage for all member data and any pointers. Returns a pointer to the copied item.
|
|
|
|
|
|
|
public: virtual curve*
|
|
|
rot_spl_sur::get_path () const;
|
|
|
Returns the path used for the rotation.
|
|
|
|
|
|
|
public: virtual sweep_path_type
|
|
|
rot_spl_sur::get_path_type () const;
|
|
|
Returns the path type used used for the rotation operation.
|
|
|
|
|
|
|
public: virtual curve*
|
|
|
rot_spl_sur::get_profile (
|
|
|
double
|
// parameter
|
|
|
) const;
|
|
|
Returns sweep information for the curve.
|
|
|
|
|
|
|
public: virtual law* rot_spl_sur::get_rail
() const;
|
|
|
Returns the rail used for profile orientation in the rotation operation.
|
|
|
|
|
|
|
public: static int rot_spl_sur::id
();
|
|
|
Returns the ID for the
rot_spl_sur list.
|
|
|
|
|
|
|
protected: virtual void rot_spl_sur::make_approx
(
|
|
|
double fit,
|
|
// fit tolerance
|
|
|
const spline& spl
|
|
// pointer to output
|
|
|
|
= * (spline*) NULL_REF,
|
// spline approx.
|
|
|
logical force
|
|
// flag for forcing
|
|
|
|
= FALSE
|
|
|
) const;
|
|
|
Makes or remakes an approximation of the
rot_spl_sur, within the given tolerance.
|
|
|
|
|
|
|
private: void rot_spl_sur::restore_data ();
|
|
|
Restores the information for a
rot_spl_sur from a save file.
|
|
|
restore_curve
|
Save the underlying curve
|
|
read_position
|
axis root
|
|
read_unit_vector
|
axis direction
|
|
if ( restore_version_number < APPROX_SUMMARY_VERSION )
|
|
read_interval
|
u range
|
|
read_interval
|
v range
|
|
if ( restore_version_number >= DISCONTINUITY_VERSION )
|
|
|
discontinuity_info::restore
|
u discontinuity information.
|
|
|
discontinuity_info::restore
|
v discontinuity information.
|
|
else
|
|
|
spl_sur::restore_common_data
|
Save the common data.
|
|
|
|
|
|
|
public: virtual void rot_spl_sur::save_data
() const;
|
|
|
Saves the information for a
rot_spl_sur to a save file.
|
|
|
|
|
|
|
public: virtual int rot_spl_sur::type
() const;
|
|
|
Returns the integer representing the type of this
spl_sur.
|
|
|
|
|
|
|
public: virtual char const*
|
|
|
rot_spl_sur::type_name () const;
|
|
|
Returns the type of "rotsur".
|
|
Internal Use:
|
full_size
|
|
|
|
|
Related Fncs:
|
restore_rot_spl_sur
|