|
Functions | |
| double | coedge_end_cross (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the cross-curvature at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAvector | coedge_end_curv (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns either the start or end curvature of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAunit_vector | coedge_end_dir (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns the direction at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAunit_vector | coedge_end_norm (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction of the normal of a FACE at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAunit_vector | coedge_end_outdir (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction outwards from a surface at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| double | coedge_end_param (COEDGE const *coedge) |
| Returns either the start or end parameter of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAposition | coedge_end_pos (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns either the start or end position of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| double | coedge_mid_cross (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the cross-curvature at the middle position of the EDGE underlying a COEDGE. | |
| SPAvector | coedge_mid_curv (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns the curvature at the middle position of the EDGE underlying a COEDGE. | |
| SPAunit_vector | coedge_mid_dir (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns the direction at the middle position of the EDGE underlying a COEDGE, or its negation. | |
| SPAunit_vector | coedge_mid_norm (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction of the normal of a FACE at the middle position of the EDGE underlyling a COEDGE. | |
| SPAunit_vector | coedge_mid_outdir (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction outwards from a surface at the middle position of the EDGE underlying a COEDGE. | |
| SPAposition | coedge_mid_pos (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the middle position of the of the EDGE underlying a COEDGE. | |
| double | coedge_min_radius_curv (COEDGE const *coedge) |
| Returns the minimum radius of curvature of the EDGE underlying a COEDGE. | |
| double | coedge_param_cross (COEDGE const *coedge, double param, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the cross-curvature at a position on the EDGE underlying a COEDGE, given a parameter value. | |
| SPAvector | coedge_param_curv (COEDGE const *coedge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns the curvature on the EDGE underlying a COEDGE, given a parameter value. | |
| SPAunit_vector | coedge_param_dir (COEDGE const *coedge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns the direction on the EDGE underlying a COEDGE, given a parameter value. | |
| SPAunit_vector | coedge_param_norm (COEDGE const *coedge, double param, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction of the normal of a FACE at a position on the EDGE underlying a COEDGE, given a parameter value. | |
| SPAunit_vector | coedge_param_outdir (COEDGE const *coedge, double param, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction outwards from a surface at a position on the EDGE underlying a COEDGE, given a parameter value. | |
| SPAposition | coedge_param_pos (COEDGE const *coedge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=FALSE) |
| Returns the position on the EDGE underlying a COEDGE, given a parameter value. | |
| double | coedge_start_cross (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the cross-curvature at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAvector | coedge_start_curv (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns either the start or end curvature of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAunit_vector | coedge_start_dir (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF, logical nominal=TRUE) |
| Returns the direction at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAunit_vector | coedge_start_norm (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction of the normal of a FACE at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAunit_vector | coedge_start_outdir (COEDGE const *coedge, SPAtransf const &transf1=*(SPAtransf *) NULL_REF, FACE const *face=NULL, SPAtransf const &transf2=*(SPAtransf *) NULL_REF) |
| Returns the direction outwards from a surface at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| double | coedge_start_param (COEDGE const *coedge) |
| Returns either the start or end parameter of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPAposition | coedge_start_pos (COEDGE const *coedge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns either the start or end position of the EDGE underlying a COEDGE, depending upon the coedge's sense. | |
| SPApar_pos | coedge_uv_param (COEDGE const *coedge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the surface u and v parameters for a given parameter on the EDGE underlying a COEDGE. | |
| double | edge_end_cross (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, logical rhs_curv=FALSE, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the cross-curvature at the end of an EDGE. | |
| SPAvector | edge_end_curv (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the curve curvature at the end parameter of an EDGE. | |
| SPAunit_vector | edge_end_dir (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the direction at the end of an EDGE. | |
| SPAunit_vector | edge_end_norm (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction of the normal of a FACE at the end of an EDGE. | |
| SPAunit_vector | edge_end_outdir (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction outwards from a surface at the end of an EDGE. | |
| SPAposition | edge_end_pos (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the position at the end of an EDGE. | |
| double | edge_mid_cross (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, logical rhs_curv=FALSE, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the cross-curvature at the middle position of an EDGE. | |
| SPAvector | edge_mid_curv (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the curve curvature at the middle range parameter of an EDGE. | |
| SPAunit_vector | edge_mid_dir (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns an EDGE's direction corresponding to the middle position of the EDGE's parameter range. | |
| SPAunit_vector | edge_mid_norm (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction of the normal of a FACE at the middle position of an EDGE. | |
| SPAunit_vector | edge_mid_outdir (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction outwards from a surface at the middle position of an EDGE. | |
| SPAposition | edge_mid_pos (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the middle position of an EDGE. | |
| double | edge_min_radius_curv (EDGE const *edge) |
| Returns the minimum radius of curvature of an EDGE. | |
| double | edge_param_cross (EDGE const *edge, double param, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, logical rhs_curv=FALSE, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the cross-curvature at at a position on an EDGE, given a parameter value. | |
| SPAvector | edge_param_curv (EDGE const *edge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the curve curvature at the give parameter of an EDGE. | |
| SPAunit_vector | edge_param_dir (EDGE const *edge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the direction on an EDGE corresponding to a specified parameter value. | |
| SPAunit_vector | edge_param_norm (EDGE const *edge, double param, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction of the normal of a FACE at a position on an EDGE, given a parameter value. | |
| SPAunit_vector | edge_param_outdir (EDGE const *edge, double param, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction outwards from a surface at a position on an EDGE, given a parameter value. | |
| SPAposition | edge_param_pos (EDGE const *edge, double param, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the position on an EDGE corresponding to a specified parameter value. | |
| double | edge_start_cross (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, logical rhs_curv=FALSE, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the cross-curvature at the start of an EDGE. | |
| SPAvector | edge_start_curv (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the curvature corresponding to the start parameter of an EDGE. | |
| SPAunit_vector | edge_start_dir (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the direction at the start of an EDGE. | |
| SPAunit_vector | edge_start_norm (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction of the normal of a FACE at the start of an EDGE. | |
| SPAunit_vector | edge_start_outdir (EDGE const *edge, SPAtransf const &transf1, FACE const *face, SPAtransf const &transf2=*(SPAtransf *) NULL_REF, pcurve const &pcur=*(pcurve *) NULL_REF) |
| Returns the direction outwards from a surface at the start of an EDGE. | |
| SPAposition | edge_start_pos (EDGE const *edge, SPAtransf const &transf=*(SPAtransf *) NULL_REF) |
| Returns the position at the start of an EDGE. | |
| SPAunit_vector | sg_get_face_normal (FACE *face, const SPAposition &p) |
| Calculate the normal to a face at a given SPAposition. | |
| logical | sg_get_face_par_box (FACE *this_face, SPApar_box &face_range) |
| This function determines a parameter space SPApar_box encompassing the given face. | |
| double coedge_end_cross | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the cross-curvature at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Uses the edge's end position if the coedge sense is FORWARD; otherwise, uses the edge's start position. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| coedge | COEDGE to examine. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAvector coedge_end_curv | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns either the start or end curvature of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's end curvature if the coedge's sense is FORWARD; otherwise, returns the edge's start curvature. When nominal is set to FALSE and the coedge is a TCOEDGE, the curvature is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge curvature. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_end_dir | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns the direction at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's end direction if the coedge's sense is FORWARD; otherwise, returns the negative of the edge's start direction. When nominal is set to FALSE and the coedge is a TCOEDGE, the direction is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge direction. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_end_norm | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Uses the edge's end position if the coedge sense is FORWARD; otherwise, uses the edge's start position. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
| coedge | COEDGE to examine. | |
| transf1 | Transform to apply to the face normal. | |
| face | The face whose normal is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAunit_vector coedge_end_outdir | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Uses the edge's end position if the coedge sense is FORWARD; otherwise, uses the edge's start position. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| coedge | COEDGE to examine. | |
| transf1 | Transform to apply to the outward direction. | |
| face | The face whose surface's outward direction is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| double coedge_end_param | ( | COEDGE const * | coedge | ) |
Returns either the start or end parameter of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's end parameter if the coedge's sense is FORWARD; otherwise, returns the edge's start parameter.
| coedge | COEDGE to examine. |
include <geometry.hxx>
| SPAposition coedge_end_pos | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns either the start or end position of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's end position if the coedge's sense is FORWARD; otherwise, returns the edge's start position.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| double coedge_mid_cross | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the cross-curvature at the middle position of the EDGE underlying a COEDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| coedge | COEDGE to examine. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAvector coedge_mid_curv | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns the curvature at the middle position of the EDGE underlying a COEDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. When nominal is set to FALSE and the coedge is a TCOEDGE, the curvature is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge curvature. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_mid_dir | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns the direction at the middle position of the EDGE underlying a COEDGE, or its negation.
Role: Returns the direction at the edge's middle position if the coedge's sense is FORWARD; otherwise, returns the negative of that direction. The middle position is defined to be the position corresponding to the middle parameter of the edge's range. When nominal is set to FALSE and the coedge is a TCOEDGE, the direction is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge direction. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_mid_norm | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at the middle position of the EDGE underlyling a COEDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
| coedge | COEDGE to examine. | |
| transf1 | Transform to apply to the face normal. | |
| face | The face whose normal is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAunit_vector coedge_mid_outdir | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at the middle position of the EDGE underlying a COEDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| coedge | COEDGE to examine. | |
| transf1 | Transform to apply to the outward direction. | |
| face | The face whose surface's outward direction is desired. | |
| transf2 | A transform to be applied to the face argument. COEDGE geometry. |
include <geometry.hxx>
| SPAposition coedge_mid_pos | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the middle position of the of the EDGE underlying a COEDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| double coedge_min_radius_curv | ( | COEDGE const * | coedge | ) |
Returns the minimum radius of curvature of the EDGE underlying a COEDGE.
| coedge | COEDGE to examine. |
include <geometry.hxx>
| double coedge_param_cross | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the cross-curvature at a position on the EDGE underlying a COEDGE, given a parameter value.
Role: The parameter param is taken with respect to the coedge range. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| coedge | COEDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAvector coedge_param_curv | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns the curvature on the EDGE underlying a COEDGE, given a parameter value.
Role: The parameter param is taken with respect to the coedge range. When nominal is set to FALSE and the coedge is a TCOEDGE, the curvature is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| param | Parameter to evaluate. | |
| transf | Transform to apply to the edge curvature. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_param_dir | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns the direction on the EDGE underlying a COEDGE, given a parameter value.
Role: Returns the edge direction if the coedge's sense is FORWARD; otherwise, returns the negative of this direction. The parameter param is taken with respect to the coedge range. When nominal is set to FALSE and the coedge is a TCOEDGE, the direction is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf | Transform to apply to the edge direction. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_param_norm | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at a position on the EDGE underlying a COEDGE, given a parameter value.
Role: The parameter param is taken with respect to the coedge range. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
| coedge | COEDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf1 | Transform to apply to the face normal. | |
| face | The face whose normal is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAunit_vector coedge_param_outdir | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at a position on the EDGE underlying a COEDGE, given a parameter value.
Role: The parameter param is taken with respect to the coedge range. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| coedge | COEDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf1 | Transform to apply to the outward direction. | |
| face | The face whose surface's outward direction is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAposition coedge_param_pos | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = FALSE | |||
| ) |
Returns the position on the EDGE underlying a COEDGE, given a parameter value.
Role: The parameter param is taken with respect to the coedge range. When nominal is set to FALSE and the coedge is a TCOEDGE, the position is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine | |
| Parameter | at which to evaluate. | |
| transf | Transform to apply to the edge position. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| double coedge_start_cross | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the cross-curvature at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Uses the edge's start position if the coedge sense is FORWARD; otherwise, uses the edge's end position. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| coedge | COEDGE to examine. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAvector coedge_start_curv | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns either the start or end curvature of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's start curvature if the coedge's sense is FORWARD; otherwise, returns the edge's end curvature. When nominal is set to FALSE and the coedge is a TCOEDGE, the curvature is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge curvature. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_start_dir | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF, |
|||
| logical | nominal = TRUE | |||
| ) |
Returns the direction at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's start direction if the coedge's sense is FORWARD; otherwise, returns the negative of the edge's end direction. When nominal is set to FALSE and the coedge is a TCOEDGE, the direction is taken from the TCOEDGE's 3D curve instead of from the EDGE curve.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge direction. | |
| nominal | Use a TCOEDGE's 3D curve, if set to FALSE. |
include <geometry.hxx>
| SPAunit_vector coedge_start_norm | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Uses the edge's start position if the coedge sense is FORWARD; otherwise, uses the edge's end position. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
| coedge | COEDGE to examine. | |
| transf1 | Transform to apply to the face normal. | |
| face | The face whose normal is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| SPAunit_vector coedge_start_outdir | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf1 = *(SPAtransf *) NULL_REF, |
|||
| FACE const * | face = NULL, |
|||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at either the start or end of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Uses the edge's start position if the coedge sense is FORWARD; otherwise, uses the edge's end position. If face is given, it is assumed that the COEDGE lies on it, and this face is used for evaluation of the normal; otherwise, the FACE owning the coedge's LOOP is used. If transf2 is given, it represents the transformation needed to translate the optional input face into the same coordinate system as that of the the untransformed COEDGE geometry. It should only be non-NULL if the optional face is given, and is used primarily by Boolean operations when testing a graph COEDGE against BODY faces.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| coedge | COEDGE to examine. | |
| transf1 | Transform to apply to the outward direction. | |
| face | The face whose surface's outward direction is desired. | |
| transf2 | A transform to be applied to the face argument. |
include <geometry.hxx>
| double coedge_start_param | ( | COEDGE const * | coedge | ) |
Returns either the start or end parameter of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's start parameter if the coedge's sense is FORWARD; otherwise, returns the edge's end parameter.
| coedge | COEDGE to examine. |
include <geometry.hxx>
| SPAposition coedge_start_pos | ( | COEDGE const * | coedge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns either the start or end position of the EDGE underlying a COEDGE, depending upon the coedge's sense.
Role: Returns the edge's start position if the coedge's sense is FORWARD; otherwise, returns the edge's end position.
| coedge | COEDGE to examine. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| SPApar_pos coedge_uv_param | ( | COEDGE const * | coedge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the surface u and v parameters for a given parameter on the EDGE underlying a COEDGE.
Role: The parameter param is taken with respect to the coedge range.
| coedge | COEDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf | A transform to be applied to the position used for the evaluation. |
include <geometry.hxx>
| double edge_end_cross | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| logical | rhs_curv = FALSE, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the cross-curvature at the end of an EDGE.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| edge | EDGE to examine. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. | |
| rhs_curv | For cases of discontinuity, use the value to the right of the test point if TRUE. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
Returns the curve curvature at the end parameter of an EDGE.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge curvature. |
include <geometry.hxx>
| SPAunit_vector edge_end_dir | ( | EDGE const * | edge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction at the end of an EDGE.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge direction. |
include <geometry.hxx>
| SPAunit_vector edge_end_norm | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at the end of an EDGE.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
| edge | EDGE to examine. | |
| transf1 | Transform to apply to the face normal. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAunit_vector edge_end_outdir | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at the end of an EDGE.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| edge | EDGE to examine. | |
| transf1 | Transform to apply to the outward direction. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAposition edge_end_pos | ( | EDGE const * | edge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the position at the end of an EDGE.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| double edge_mid_cross | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| logical | rhs_curv = FALSE, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the cross-curvature at the middle position of an EDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| edge | EDGE to examine. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. | |
| rhs_curv | For cases of discontinuity, use the value to the right of the test point if TRUE. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
Returns the curve curvature at the middle range parameter of an EDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge curvature. |
include <geometry.hxx>
| SPAunit_vector edge_mid_dir | ( | EDGE const * | edge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns an EDGE's direction corresponding to the middle position of the EDGE's parameter range.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge direction. |
include <geometry.hxx>
| SPAunit_vector edge_mid_norm | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at the middle position of an EDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
| edge | EDGE to examine. | |
| transf1 | Transform to apply to the face normal. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAunit_vector edge_mid_outdir | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at the middle position of an EDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range. An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| edge | EDGE to examine. | |
| transf1 | Transform to apply to the outward direction. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAposition edge_mid_pos | ( | EDGE const * | edge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the middle position of an EDGE.
Role: The middle position is defined to be the position corresponding to the middle parameter of the edge's range.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| double edge_min_radius_curv | ( | EDGE const * | edge | ) |
Returns the minimum radius of curvature of an EDGE.
| edge | EDGE to examine. |
include <geometry.hxx>
| double edge_param_cross | ( | EDGE const * | edge, | |
| double | param, | |||
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| logical | rhs_curv = FALSE, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the cross-curvature at at a position on an EDGE, given a parameter value.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| edge | EDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. | |
| rhs_curv | For cases of discontinuity, use the value to the right of the test point if TRUE. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAvector edge_param_curv | ( | EDGE const * | edge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the curve curvature at the give parameter of an EDGE.
| edge | EDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf | Transform to apply to the edge curvature. |
include <geometry.hxx>
| SPAunit_vector edge_param_dir | ( | EDGE const * | edge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction on an EDGE corresponding to a specified parameter value.
| edge | EDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf | Transform to apply to the edge direction. |
include <geometry.hxx>
| SPAunit_vector edge_param_norm | ( | EDGE const * | edge, | |
| double | param, | |||
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at a position on an EDGE, given a parameter value.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
| edge | EDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf1 | Transform to apply to the face normal. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAunit_vector edge_param_outdir | ( | EDGE const * | edge, | |
| double | param, | |||
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at a position on an EDGE, given a parameter value.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| edge | EDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf1 | Transform to apply to the outward direction. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAposition edge_param_pos | ( | EDGE const * | edge, | |
| double | param, | |||
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the position on an EDGE corresponding to a specified parameter value.
| edge | EDGE to examine. | |
| param | Parameter at which to evaluate. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| double edge_start_cross | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| logical | rhs_curv = FALSE, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the cross-curvature at the start of an EDGE.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
Cross-curvature refers to the curvature of the curve that is the intersection of the surface with a plane through the test point and normal to the coedge or edge direction, or to a given direction. By convention, where the intersection has a discontinuity of curvature, it is the value to the left of the test point, looking along the given direction with the surface normal upwards, which is returned. For edges, this convention can be reversed. In all cases, the curvature is positive if the surface is convex (that is, curves away from the outward normal) and negative if it is concave.
| edge | EDGE to examine. | |
| transf1 | A transform to be applied to the position and direction used for the evaluation. | |
| face | The face used in the cross-curvature evaluation. | |
| transf2 | A transform to be applied to the face argument. | |
| rhs_curv | For cases of discontinuity, use the value to the right of the test point if TRUE. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
Returns the curvature corresponding to the start parameter of an EDGE.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge curvature. |
include <geometry.hxx>
| SPAunit_vector edge_start_dir | ( | EDGE const * | edge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the direction at the start of an EDGE.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge direction. |
include <geometry.hxx>
| SPAunit_vector edge_start_norm | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction of the normal of a FACE at the start of an EDGE.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
| edge | EDGE to examine. | |
| transf1 | Transform to apply to the face normal. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAunit_vector edge_start_outdir | ( | EDGE const * | edge, | |
| SPAtransf const & | transf1, | |||
| FACE const * | face, | |||
| SPAtransf const & | transf2 = *(SPAtransf *) NULL_REF, |
|||
| pcurve const & | pcur = *(pcurve *) NULL_REF | |||
| ) |
Returns the direction outwards from a surface at the start of an EDGE.
Role: An input face must be supplied, since an edge may be associated with multiple faces. If transf2 is given, it represents the transformation needed to translate the input face into the same coordinate system as that of the edge. If the face's surface is parametric, and there exists a parametric curve (pcurve) for the input edge with respect to the surface, then the parametric curve should be passed as the argument pcur to speed up finding the normal.
The direction returned by this routine is usually the normal to the surface, but if the point is a singularity of the surface (like the apex of a cone or one apex of a degenerate torus), it just returns some direction guaranteed to point outwards from the surface (and not tangential, except in the case of a vortex).
| edge | EDGE to examine. | |
| transf1 | Transform to apply to the outward direction. | |
| face | FACE to be evaluated. | |
| transf2 | A transform to be applied to the face argument. | |
| pcur | Parametric curve associated with edge and face. |
include <geometry.hxx>
| SPAposition edge_start_pos | ( | EDGE const * | edge, | |
| SPAtransf const & | transf = *(SPAtransf *) NULL_REF | |||
| ) |
Returns the position at the start of an EDGE.
| edge | EDGE to examine. | |
| transf | Transform to apply to the edge position. |
include <geometry.hxx>
| SPAunit_vector sg_get_face_normal | ( | FACE * | face, | |
| const SPAposition & | p | |||
| ) |
Calculate the normal to a face at a given SPAposition.
| logical sg_get_face_par_box | ( | FACE * | this_face, | |
| SPApar_box & | face_range | |||
| ) |
This function determines a parameter space SPApar_box encompassing the given face.
It returns TRUE if the calculation was successful. Please note that in general this is not a minimal SPApar_box.
include <faceutil.hxx>