DG Kernel (ActiveX) Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
What is new
Upgrading Native Apps
Licensing
Expand ModelsModels
Expand DG Kernel ControlsDG Kernel Controls
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Expand ModelModel
Expand ViewView
Expand General ComputingGeneral Computing
Expand ViewsViews
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 > Surfaces > IBezierSurface_DG Go to DGKC docs Search Documentation


IBezierSurface_DG Interface

Init
Init1
GetAxialProps
GetPole
SetPole
SetPole1
GetPoles
GetWeight
SetWeight
GetWeights
GetPoint
GetNormal
GetJet1
GetJet2
GetJetN
GetIsoCurve
SwapUV
Transform
Clone

Indices are 0-based

See also: IBSplineSurface_DG, IBSplineCurve_DG


void Init(IPointMatrix poles)


void Init1(IPointMatrix_DG poles, IMatrix_DG weights)


IPartialBezierProps_DG GetAxialProps(VARIANT_BOOL u)


PairInt_DG GetPoleMatrixSize()


Point_DG GetPole(int indexU, int indexV)

The indices must be in [0, GetAxialProps(u).GetPoleCount()-1] range.


void SetPole(int indexU, int indexV, Point_DG point)

The indices must be in [0, GetAxialProps(u).GetPoleCount()-1] range.


void SetPole1(int indexU, int indexV, Point_DG point, double weight)

The indices must be in [0, GetAxialProps(u).GetPoleCount()-1] range.


IPointMatrix_DG GetPoles()


double GetWeight(int indexU, int indexV)

The indices must be in [0, GetAxialSplineProps(u).GetPoleCount()-1] range.


void SetWeight(int indexU, int indexV, double weight)

The indices must be in [0, GetAxialSplineProps(u).GetPoleCount()-1] range.


IMatrix_DG GetWeights()


Point_DG GetPoint(DG2D uv)


Vect_DG GetNormal(DG2D uv)


void GetJet1(DG2D uv, Point_DG point, out Vect_DG d1u, out Vect_DG d1v)

Returns point and derivatives at the uv parameters


void GetJet2(DG2D uv, Point_DG point, out Vect_DG d1u, out Vect_DG d1v, out Vect_DG d2u, out Vect_DG d2v, out Vect_DG d2uv)

Returns point and derivatives at the uv parameters


Vect_DG GetJetN(DG2D uv, int Nu, int Nv)

Returns point and derivatives of the specified order at the uv parameters


ICurve_DG GetIsoCurve(bool u, double paramAt)

If u is true, returns curve v->S(paramAt, v) parametrised by v. (u, v)->S(u,v) here denotes the surface mapping as defined by GetPoint() method above.
paramAt must be within the range returned by IUVSurface_DG.GetParameterRange(true,min,max). The returned curve will have range IUVSurface_DG.GetParameterRange(false,min,max).

Conversely, if u is false, the method returns curve u->S(u, paramAt) parametrised by u.


void SwapUV()

Exchanges the u and v parametric directions. As a consequence: The pole and weight tables are transposed, the knot and multiplicity tables are exchanged, degrees of continuity, and rational, periodic and uniform characteristics are exchanged, and the orientation of the surface is inverted.


void Transform(IFrame_DG transform)

Applies the transformation to this surface


IBezierSurface_DG Clone()