Action:
|
Creates a general conic curve segment given three distinct points and a
rho value.
|
|
Prototype:
|
bs3_curve bs3_curve_make_rho_conic (
|
|
|
SPAposition const& start,
|
// start point
|
|
|
SPAposition const& tan_int,
|
// point where tangents intersect
|
|
|
SPAposition const& end,
|
|
// end point
|
|
|
double rho
|
|
// controls fullness,
|
|
|
|
= 0.5,
|
|
|
double
|
|
// requested
|
|
|
|
= 0,
|
|
// tolerance
|
|
|
double& actual_tol
|
|
// returned actual
|
|
|
|
=*(double*)NULL_REF
|
|
// tolerance used
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/position.hxx"
|
|
#include "kernel/spline/bs3_crv/bs3curve.hxx"
|
|
#include "kernel/spline/bs3_crv/sp3crtn.hxx"
|
|
Description:
|
This segment runs from the start point to the end point, and is tangent to the line from the start to the intersection point at the start, and to the line from the intersection point to the end.
|
|
|
The "fullness" of the curve is controlled by the
rho value. The line segment is constructed from the mid point of the chord between start and end points to the tangent intersection point. The "shoulder point" is the point that divides that line segment in the ratio
rho:(1 -
rho). The required conic is the one obeying the end conditions that passes through the shoulder point.
|
|
|
rho must be such that 0 < rho < 1. If rho is 0.5 (default), the conic is parabolic. If rho is less than 0.5, the conic is a segment of an ellipse, becoming more and more flattened as rho tends towards 0.0. If rho is greater than 0.5, the conic is a segment of one branch of a hyperbola, with an increasingly sharp bend near the tangent intersection point as rho nears 1.0.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/spline/bs3_crv/sp3crtn.hxx
|
|
Effect:
|
Changes model
|