DG Kernel (ActiveX) Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
What is new
Upgrading Native Apps
Licensing
Collapse ModelsModels
Collapse DG Kernel ControlsDG Kernel Controls
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Collapse ModelModel
Collapse ViewView
Collapse General ComputingGeneral Computing
Collapse Samples and TutorialsSamples and Tutorials
Collapse GraphicsGraphics
Collapse Math ObjectsMath Objects
Collapse DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation Links Go to DGKC docs 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, 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.