ICurveFreeFormEx Interface
- ConstructFilletedLineStrip
- ConstructFilletedLineStrip2
The interface is implemented by
Free-form curves. Assuming
that the free form curve is considered as a sequence of segments, methods of the
interface create a new arc
spline curve, fit into original segment strip so that internal sharp corners
are replaced with arcs of specified radius. In other words the method
smoothes-out joints of the segment strip.
See also ICurveFreeForm, Pipes sample,
Interface List
HRESULT ConstructFilletedLineStrip(double radius, IArcSpline3DCurve** curve)
Parameters
radius - [in] radius for arc
fillets
curve - [out] the new curve fit into the original segment
strip. See remarks for the interface above.
Returns
-
- DISP_E_PARAMNOTOPTIONAL if the operation can not be
performed because of invalid geometry. In most cases this means that the radius
must be reduced.
-
- S_OK in case of
success.
-
-
- Remarks:
The method creates new curve fit into the original segment strip. See remarks
for the interface above.
HRESULT ConstructFilletedLineStrip2(IArrayNum* radii,
IArcSpline3DCurve** curve)
Parameters
radii - [in] Array of radii for arc fillets. Radius 0
will be used for the arc between segment [0,1] and [1,2]
Returns
-
- DISP_E_PARAMNOTOPTIONAL if the operation can not be
performed because of invalid geometry. In most cases this means that some of
the radii must be reduced.
-
- S_OK in case of
success.
-
-
- Remarks:
The method creates new curve fit into the original segment strip. See remarks
for the interface above. Radii can be different for different joins of the
segment strip. Radius 0 from the provided array will be used for the arc between segment [0,1] and [1,2].
If the array has size 1 the first radius will be used for all joints. If there
is more that one element in the array its size must be at least n-2,
where n is number of points, including ends, in the original
segment strip
To create a new numerical array query IArrayNum
from the return of IDIObjGenerator.Create
called with eType parameter set to eObjTypeNumericArray member of the EObjectType
enumeration.
|