rot_spl_sur
List of: Classes
Subjects: Construction Geometry, SAT Save and Restore
Contents: Kernel

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
PDF/KERN/35CLQ.PDF
HTM/DATA/KERN/KERN/35CLQ/0003.HTM