Action:
|
Splits a given parametric curve into two sections at a given parameter value.
|
|
Prototype:
|
bs2_curve bs2_curve_split (
|
|
|
bs2_curve& cur,
|
// given curve
|
|
|
double param,
|
// given parameter value
|
|
|
SPApar_pos const& split_pt// given position
|
|
|
|
=*(SPApar_pos*)NULL_REF,
|
|
|
SPApar_dir const&
|
// given direction
|
|
|
|
=*(SPApar_dir*)NULL_REF
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/param.hxx"
|
|
#include "kernel/spline/bs2_crv/bs2curve.hxx"
|
|
#include "kernel/spline/bs2_crv/sp2crtn.hxx"
|
|
Description:
|
If a parameter-space point is given (which need not be exactly at the point defined by the curve and parameter, but is assumed to be close), the appropriate end point of each resulting spline is shifted to lie exactly on the given position.
|
|
|
No attempt is made to match tangent directions at the cut.
|
|
|
If the B-spline is open, this routine creates a new spline for the initial portion of the curve and returns it as its value. If the B-spline is closed, it takes the portion before the given parameter value and tacks on the end, but marks the spline as open. In this case, the routine returns
NULL.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/spline/bs2_crv/sp2crtn.hxx
|
|
Effect:
|
Changes model
|