DG Kernel Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
Overview of the software
What is new
Licensing
Expand ModelsModels
Expand DG Kernel ComponentsDG Kernel Components
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Expand ModelModel
Expand ViewView
Expand General ComputingGeneral Computing
Expand Samples and TutorialsSamples and Tutorials
Expand GraphicsGraphics
Expand Math ObjectsMath Objects
Expand DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation LinksHome Page > API Reference > General Geometry > Curves > ICurveFreeFormEx Search Documentation


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 sampleInterface 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.