IBezierSurface_DG Interface
- Init
- Init
- GetAxialProps
- GetPole
- SetPole
- SetPole
- 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_DG poles)
void Init(IPointMatrix_DG poles, IMatrix_DG weights)
IPartialBezierProps_DG GetAxialProps(VARIANT_BOOL u)
PairIntDg GetPoleMatrixSize()
PointDg GetPole(int indexU, int indexV)
The indices must be in [0, GetAxialProps(u).GetPoleCount()-1] range.
void SetPole(int indexU, int indexV, PointDg point)
The indices must be in [0, GetAxialProps(u).GetPoleCount()-1] range.
void SetPole(int indexU, int indexV, PointDg 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()
PointDg GetPoint(T2DDg uv)
VectDg GetNormal(T2DDg uv)
void GetJet1(T2DDg uv, PointDg point, out VectDg d1u, out VectDg d1v)
Returns point and derivatives at the uv parameters
void GetJet2(T2DDg uv, PointDg point, out VectDg d1u, out VectDg d1v, out VectDg d2u, out VectDg d2v, out VectDg d2uv)
Returns point and derivatives at the uv parameters
VectDg GetJetN(T2DDg 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()
|