Home

curves
[Geometry]

Collaboration diagram for curves:

Classes

class  bounded_arc
 Defines a bounded_arc as a subtype of a bounded_curve. More...
class  bounded_curve
 Defines a bounded curve. More...
class  bounded_line
 Defines a bounded_line as a subtype of bounded_curve. More...
class  curve
 Provides methods and data common to all curve subclasses. More...
class  ellipse
 Defines an ellipse curve. More...
class  exact_int_cur
 Represents an exact intersection spline curve. More...
class  helix
 Defines a (possibly tapered) helical curve. More...
class  int_cur
 Defines an abstract base class from which intcurve definitions are derived. More...
class  intcurve
 A parametric curve class. More...
class  off_int_cur
 Represents a spline curve obtained by the intersection of two surfaces that are offsets of the given surfaces. More...
class  par_int_cur
 Represents an exact spline curve in the parameter space of a surface. More...
class  straight
 Defines an infinite straight line represented by a point and a unit vector specifying the direction. More...
class  var_rad_const
 Declaration of the derived class var_rad_const. More...
class  var_rad_fixed_width
 Defines a constant cross section radius for a variable radius function. More...
class  var_rad_functional
 Defines a functional form of a variable radius function. More...
class  var_rad_rot_ellipse
 Defines a rotational radius ellipse for a variable radius function. More...
class  var_rad_two_ends
 Defines a two-ends form of a variable radius function. More...
class  var_radius
 Defines the variable radius. More...

Enumerations

enum  CURVE_EXTENSION_TYPE
 Number specifies the extension type. More...
enum  par_int_cur_dir
 Specifies the curve direction. More...
enum  radius_forms
 Specifies the type of the blend radius function. More...

Functions

bounded_curveget_bounded_curve (EDGE *edge, logical apply_transf=TRUE)
 Gets a bounded_curve from an EDGE.
straight operator* (straight const &input, SPAtransf const &trans)
 Applies transformation to straight curve.
intcurve operator* (intcurve const &intcur, SPAtransf const &trans)
 Returns a copy of the transformed curve.
helix operator* (helix const &name, SPAtransf const &transf)
 Returns a helix transformed by the given transformation.
ellipse operator* (ellipse const &name, SPAtransf const &transf)
 Returns an ellipse transformed by the given transformation.
curverestore_curve ()
 Restores a curve.
subtype_objectrestore_int_int_cur ()

Enumeration Type Documentation

Number specifies the extension type.

Parameters:
EXTEND_CURVATURE extend the curvature
EXTEND_TANGENT extend the tangent

include <sub_int.hxx>

Specifies the curve direction.

Parameters:
par_int_cur_u u parameter curve.
par_int_cur_v v parameter curve.
par_int_cur_unset unset.
par_int_cur_general neither a u or v parameter curve.

include <par_int.hxx>

Specifies the type of the blend radius function.


Parameters:
RADIUS_UNSET Radius function is not set.
TWO_ENDS Two-end radius function defined by the two blend radii at the beginning and at the end of the blend sequence.
FUNCTIONAL Functional radius function--radius variation along the defining curve is determined by an (arbitrary) function R(t), where t is the parameter along the defining curve of the blend.
FIXED_WIDTH Implicit radius function--blend radius variation is not specified explicitely, instead, the current radius is found so that the distance between the blend springs is equal to the given "blend width" value.
HOLDLINE Implicit radius function--blend radius variation is not specified explicitely, instead, the currend radius is found so that one of the blend spring curves coincides with the given "holdline" curve (while the blend is still tangent to the surface conaining the holdline).

include <var_rad.hxx>


Function Documentation

bounded_curve* get_bounded_curve ( EDGE edge,
logical  apply_transf = TRUE 
)

Gets a bounded_curve from an EDGE.



Role: The bounded_curve contains a copy of the curve pointed to by the EDGE. If the EDGE belongs to a BODY, then by default the BODY transformation is applied, so the bounded curve is always defined in the model coordinate system rather than in the coordinate system of the BODY.

This method differs from the constructor for bounded curve in that it checks the type of the curve of the EDGE, and creates the appropriate type of bounded curve. For example, if the EDGE points to a STRAIGHT, this method creates a bounded line and returns it.

Effect: Read-only

Parameters:
edge EDGE from which to get the bounded curve.
apply_transf flag to apply the BODY transformation.

include <bnd_crv.hxx>

straight operator* ( straight const &  input,
SPAtransf const &  trans 
)

Applies transformation to straight curve.



Parameters:
input input straight curve.
trans transformation to use.

include <strdef.hxx>

intcurve operator* ( intcurve const &  intcur,
SPAtransf const &  trans 
)

Returns a copy of the transformed curve.



Parameters:
intcur given intcurve.
trans given transformation.

include <intdef.hxx>

helix operator* ( helix const &  name,
SPAtransf const &  transf 
)

Returns a helix transformed by the given transformation.



Parameters:
name helix to transform.
transf transformation.

include <heldef.hxx>

ellipse operator* ( ellipse const &  name,
SPAtransf const &  transf 
)

Returns an ellipse transformed by the given transformation.



Parameters:
name ellipse to transform.
transf transformation.

include <elldef.hxx>

curve* restore_curve (  ) 

Restores a curve.



Role: Although this internal function is intended strictly for ACIS usage, a minimal amount of information about this function is provided for the sole purpose of being able to understand and trace restoration from a SAT file. This function should never be called directly, because it makes assumptions about the availability of a SAT file, the location of the input pointer into the SAT file, and the validity of SAT data it expects to read in. It also may start a lengthy process of nested function or class method calls, which have many of the same assumptions.

The restore function does the actual work of restoring the curve. It calls the base class, then reads the selector, if the save file is new enough. This reads the curve type and then switches in the run-time table to the correct restore routine.

    if (restore_version_number < CURVE_VERSION)
       read_int            Integer for the type of curve.
       dispatch_restore_cu Supply the number for the type of curve.
    else
       read_id             Reads in the string associated with the curve identification.
       dispatch_restore_cu Supply the curve identification for the type of curve.

include <curdef.hxx>

subtype_object* restore_int_int_cur (  ) 

As a result, it has to get at the surface and pcurve pointers.

include <intdef.hxx>