GSurface Class

Nurbs gSurface entity.
Public Class GSurface 
Inherits GNurbsBase 
Implements IGFace, _ 
IGraphicsReferenceData
This language is not supported or no code example is available.
public class GSurface : GNurbsBase
IGFace
IGraphicsReferenceData
This language is not supported or no code example is available.
Name Description
Public property ControlPoints Gets the gSurface control points array.
Public property ConvexHull The convex hull of the gSurface.
Public property DegreeU Gets gSurface degree in the U direction.
Public property DegreeV Gets gSurface degree in the V direction.
Public property DomainU Gets gSurface domain in U parametric direction.
Public property DomainV Gets gSurface domain in V parametric direction.
Public property EntityData Gets or sets the entity custom data. (inherited from GEntity).
Public property GfxData
Public property IsClosedU Returns true if the gSurface is closed in the U direction.
Public property IsClosedV Returns true if the gSurface is closed in the V direction.
Public property IsRational Returns true if the gSurface is rational.
Public property IsTrimmed Returns true if the gSurface is trimmed.
Public property KnotVectorU Gets or sets the gSurface knot vector in the U parametric direction.
Public property KnotVectorV Gets or sets the gSurface knot vector in the V parametric direction.
Public property PolyRegion Gets or sets surface tessellation polygonal region.
Public property SeamU Gets gSurface seam U, if exists.
Public property SeamV Gets gSurface seam V, if exists.
Public property ShowControl If true, the control polygon/net for this entity is displayed. (inherited from GNurbsBase).
Public property TextureOffsetU Gets or set surface texture mapping offset in U direction.
Public property TextureOffsetV Gets or set surface texture mapping offset in V direction.
Public property TextureScaleU Gets or set surface texture mapping scale in U direction.
Public property TextureScaleV Gets or set surface texture mapping scale in V direction.
Public property Trimming Gets or sets the surface's trimming region.
Top
Methods
 
Name Description
Public method Static AdjustTrimLoopsGenericAndRevolved(GSurface, GSurface) Transforms the trimLoops when converting a gSurface from Nurbs to angular parametrization and back.
Protected method Static Bernstain(int, int, double) Computes the value of Berstain polynomial. (inherited from GNurbsBase).
Protected method Static BernstainDer(int, int, double) Computes the value of the first derivative of a Berstain polynomial. (inherited from GNurbsBase).
Protected method BezierToPowerMatrix(int) Computes Mp efficiently. (inherited from GNurbsBase).
Public method Static Blend(GSurface, GSurface, int, int, double, bool, bool) Creates a blend gSurface between two gSurfaces.
Public method Static Chamfer(GSurface, GSurface, double, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Constant chamfer between two gSurfaces.
Public method Static Chamfer(IList<GSurface>, IList<GSurface>, double, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Constant chamfer between two groups of gSurfaces.
Public method Static Chamfer(IList<GSurface>, IList<GSurface>, double, double, bool, bool, bool, bool, bool, bool, out GSurface[], out GSurface[], out GSurface[]) Constant chamfer between two groups of gSurfaces, with gSurfaces leftover by the trim operation.
Protected method CheckWeight9() Check if the weight of odd control points is Sqrt(2)/2.
Public method Static Cholesky(double[,], int, out double[,]) (inherited from GNurbsBase).
Public method Static Cholesky(double[,], int, out double[,], out double[]) (inherited from GNurbsBase).
Public method Static ChordLengthParametrization<T>(IList<T>, out double[]) Computes chord length parameterization from a vector of points. (inherited from GNurbsBase).
Public method Static ChordLengthParametrization<T>(int, int, IList<T>, out double[], out double[]) Computes chord length parameterization from a vector of points. (inherited from GNurbsBase).
Public method Clone() Creates a deep copy of this gSurface.
Public method ClosestPointTo(Point3D, out Point3D) Computes the signed distance between a 3D point and this gSurface object.
Public method ClosestPointTo(Point3D, out double, out double) Finds the closest point on the gSurface.
Public method Static CollinearNormal(GSurface, GSurface, double, ref double, ref double, ref double, ref double) Computes the collinear normal between two gSurfaces.
Protected method ComputeApproximatedBoundingBox(out Point3D, out Point3D) Computes the primitive's approximated bounding box.
Public method ComputeTessellation(IRegenParams, out TessellationData)
Public method ComputeTessellation(double, out TessellationData)
Public method ControlBoundingBox() Returns the 3D size of the gSurface control point net axis aligned bounding box.
Public method ControlBoundingBox(out Point3D, out Point3D) Computes the minimum and maximum 3D points of the gSurface control point net axis aligned bounding box.
Public method ConvertToBrep(double) Converts this GSurface to a GBrep object.
Public method ConvertToMesh(double, double, natureType, bool, bool) Converts this Surface to a GMesh object.
Public method ConvertToMesh(double, double, natureType, bool)
Public method ConvertToSolid(double, double) Converts this Surface to a GMesh object.
Public method ConvertToSurrogate() Converts the GEntity to its surrogate, for serialization purpose.
Public method Static CreateEllipsoid(double, double, double) Creates a NURBS ellipsoid centered in the origin.
Public method Static CreatePlanar(Plane, Point3D, Point3D) Creates a planar rectangular gSurface parallel to the specified plane.
Public method Curvature(Point2D, out double, out double) Evaluates the gSurface Gaussian and Mean curvatures at the specified 2D point.
Public method Curvature(double, double, out double, out double) Evaluates the gSurface Gaussian and Mean curvatures at the specified parametric point.
Public method Curvature(double, double, out double, out double, out double, out double) Evaluates the gSurface curvatures at the specified parametric point.
Public method Curvature(double, double, out double, out double, out double, out double, out Vector3D, out Vector3D) Evaluates the gSurface curvatures at the specified parametric point.
Public method Decompose() Decomposes the gSurface into Bézier patches.
Public method DecomposeU() Decomposes the gSurface into Bézier patches in the U parametric direction.
Public method DecomposeV() Decomposes the gSurface into Bézier patches in the U parametric direction.
Public method DegreeElevateU(int) Degree elevates the gSurface in the U parametric direction.
Public method DegreeElevateV(int) Degree elevates the gSurface in the V parametric direction.
Public method DropCurve(IGCurve, out GCurve) Creates the 2D parametric curve corresponding to a 3D geometric curve which lies on or near a gSurface.
Public method Static DropLoops(GSurface, IList<IGCurve>) Creates the 2D parametric trim loops corresponding to a 3D geometric - closed - contours list which lie on a gSurface.
Public method Dump() Returns a description of this entity.
Public method Equals(Object) (inherited from Object).
Public method Evaluate(Point2D) Computes the gSurface point.
Public method Evaluate(Point2D, int) Computes the gSurface derivatives.
Public method Evaluate(double, double) Computes the gSurface point at parametric values [u, v].
Public method Evaluate(double, double, int) Computes the gSurface derivatives at parametric values [u,v].
Public method ExtractEdge(int, int) Returns the specified 3D edge igCurve.
Public method ExtractEdges() Returns all the gSurface 3D edge igCurves.
Public method ExtractLoops3D() Returns all the gSurface 3D edge igCurves.
Public method Static ExtrudeWithTwist(IGCurve, Vector3D, Point3D, double, double) Extrudes and twists a planar curve.
Public method Static ExtrudeWithTwist(IGCurve, Vector3D, Point3D, double, int) Extrudes and twists a planar curve.
Public method Static Fillet(GSurface, GSurface, double, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Constant fillet between two gSurfaces.
Public method Static Fillet(IList<GSurface>, IList<GSurface>, double, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Constant fillet between two groups of gSurfaces.
Public method Static Fillet(IList<GSurface>, IList<GSurface>, double, double, bool, bool, bool, bool, bool, bool, out GSurface[], out GSurface[], out GSurface[]) Constant fillet between two groups of gSurfaces, with gSurfaces leftover by the trim operation.
Protected method Finalize (inherited from Object).
Public method FlipNormal()
Protected method Static GetClosestMainAxis(Vector3D) (inherited from GEntity).
Public method GetCoarseSampling() Returns a small set of points that gives a coarse idea of the 3D extent of the primitive.
Public method GetControlNetPoints2D(Plane, out Point2D, out Point2D, out Point2D)
Public method GetGeneric() Returns the generic representation of this gSurface, it can be useful in data translation.
Public method GetHashCode (inherited from Object).
Public method Static GetIndividualSurfaces(GSurface) Subdivides a gSurface at knots of multiplicity equal to the order. Tabulated Surfaces are divided only along the U direction, Revolved Surfaces only in the V direction.
Public method GetObjectData(SerializationInfo, StreamingContext) Populates a SerializationInfo instance with the data needed to serialize the target object.
Protected method Static GetOffsetDistance(Vector3D, Vector3D, double) (inherited from GEntity).
Public method GetPerimeter() Computes the sum of the lengths of all the gSurface's edges.
Protected method GetTrimLoopsXElement()
Public method GetType (inherited from Object).
Public method GetXElement()
Public method Static GlobalInterpolation(Point3D[,], int, int) Global gSurface interpolation.
Public method Static Gordon(IList<IGCurve>, IList<IGCurve>) Creates a Gordon gSurface.
Public method Static Gordon(IList<IGCurve>, IList<IGCurve>, Point3D[,]) Creates a Gordon gSurface.
Public method InsertKnotU(Point3D, int) Inserts a knot a number of times in the U parametric direction. It is added at the U parameter corresponding to the projection of the given point on the gSurface. The operation does not affect the shape of the gSurface.
Public method InsertKnotU(double, int) Inserts a knot a number of times in the U parametric direction.
Public method InsertKnotV(Point3D, int) Inserts a knot a number of times in the V parametric direction. It is added at the V parameter corresponding to the projection of the given point on the gSurface. The operation does not affect the shape of the gSurface.
Public method InsertKnotV(double, int) Inserts a knot a number of times in the V parametric direction.
Public method Static Intersect(IList<GSurface>, IList<GSurface>, double) Determines if two groups of surfaces intersect.
Public method IntersectWith(Plane, double) Computes the intersection of a gSurface and a plane as a collection of curves.
Public method IntersectWith(IGCurve, double) Finds all the 3D points where a igCurve and a gSurface intersect.
Public method IntersectWith(GSurface, double, out IGCurve[]) Computes the intersection with the specified gSurface as a collection of curves.
Public method Static Intersection(IList<GSurface>, IList<GSurface>, double, out IGCurve[]) Computes the intersection of two groups of gSurfaces as a collection of curves.
Public method Intersects(GSurface, double) Determines if the surface intersects with another surface.
Public method IsOnSeamU(IGCurve, double) Checks if a curve is on the seam of a surface.
Public method IsOnSeamV(IGCurve, double) Checks if a curve is on the seam of a gSurface.
Public method IsPlanar(double, out Plane) Checks if the gSurface is planar.
Public method IsValid() Returns true if all the entity fields contain reasonable information.
Public method IsocurveU(double) Generates an iso curve in the U parametric direction.
Public method IsocurveV(double) Generates an iso curve in the V parametric direction.
Public method LiftCurve(GCurve, double) Creates the 3D igCurve corresponding to a 2D igCurve in the parametric space of the gSurface.
Public method Static LocalInterpolation(Point3D[,]) Local bicubic gSurface interpolation.
Public method Static Loft(IList<IGCurve>) Creates a gSurface from skinning.
Public method Static Loft(IList<IGCurve>, int) Creates a gSurface from skinning.
Public method Static Loft(IList<IGCurve>, int, bool, bool) Creates a gSurface from skinning.
Protected method MemberwiseClone (inherited from Object).
Public method Static MinimumDistance(GCurve, GSurface, double, bool, ref double, ref double, ref double, out double) Computes the minimum distance between a curve and a surface
Public method Static MinimumDistance(GCurve, GSurface, double, ref double, ref double, ref double, out double) Computes the minimum distance between a curve and a surface
Public method Static MinimumDistance(GSurface, GSurface, double, bool, ref double, ref double, ref double, ref double, out double) Computes the minimum distance between two surfaces.
Public method Static MinimumDistance(GSurface, GSurface, double, ref double, ref double, ref double, ref double, out double) Computes the minimum distance between two gSurfaces.
Public method Normal(Point2D) Evaluates the gSurface normal at the specified parametric point.
Public method Normal(double, double) Evaluates the gSurface normal at the specified parametric point.
Public method Offset(double, double, out GSurface) Computes the offset gSurface.
Public method PointAt(Point2D) Computes the gSurface point.
Public method PointAt(double, double) Computes the gSurface point at parametric values [u, v].
Public method PointInversion(Point3D, double, out Point2D) Projects a point on the gSurface. The point must already lay on the gSurface.
Public method PointInversion(Point3D, double, out Point2D, out Vector2D) Projects a point on the gSurface. The point must already lay on the gSurface.
Public method PointInversion(Point3D, double, out double, out double) Projects a point on the gSurface. The point must already lay on the gSurface.
Public method PointInversion(Point3D, double, out double, out double, out Vector2D) Projects a point on the gSurface. The point must already lay on the gSurface.
Protected method Static PowerToBezierMatrix(int, double[,]) Computes the inverse of Mp. (inherited from GNurbsBase).
Public method Project(Point3D, double, bool, Point2D, out Point2D) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, Point2D, out Point2D, out Vector2D) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, double, double, out double, out double) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, double, double, out double, out double, out Vector2D) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, out Point2D) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, out Point2D, out Vector2D) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, out double, out double, out Vector2D) Projects a point on the gSurface.
Public method Project(Point3D, double, out Point2D) Projects a point on the gSurface.
Public method Project(Point3D, out Point2D) Projects a point on the gSurface.
Public method Project(Point3D, out double, out double) Projects a point on the gSurface.
Public method Project(Point3D, double, bool, out double, out double) Projects a point on the gSurface.
Public method Promote() Converts this generic gSurface to GPlanarSurface, GTabulatedSurface or GRevolvedSurface (when possible).
Public method RebuildEdge(int, int, double) Rebuild the 3D edge igCurve corresponding to a 2D trim igCurve in the parameter space of the gSurface.
Public method RebuildEdges(double) Rebuild all the gSurface 3D edges.
Public method RefineKnotVectorU(double[]) Refines the gSurface knot vector U.
Public method RefineKnotVectorV(double[]) Refines the gSurface knot vector V.
Public method RemoveKnotU(int, int, int) Removes an internal knot from the gSurface U knot vector.
Public method RemoveKnotV(int, int, int) Removes an internal knot from the gSurface V knot vector.
Public method RemoveKnotsU(double) Removes as many knots as possible from the U knot vector of a gSurface.
Public method RemoveKnotsV(double) Removes as many knots as possible from the V knot vector of a gSurface.
Public method ResetComputedData() Resets needed primitive's geometrical attributes to recompute. (inherited from GNurbsBase).
Public method Resize(int, int, int, int) Resizes a gSurface.
Public method ResizeKeep(int, int, int, int) Resizes a gSurface, keeping original values.
Protected method Static RestoreOriginalDomainAndAddTrimLoops(GSurface, double, double, GSurface)
Protected method Static RestoreOriginalDomainAndAddTrimLoops(GSurface, double, double, double, GSurface, bool, PolyRegion2D, bool)
Public method ReverseU() Reverses the gSurface U direction.
Public method ReverseV() Reverses the gSurface V direction.
Public method Rotate(double, Vector3D, Point3D) Rotates the entity around an arbitrary axis by the specified angle. (inherited from GEntity).
Public method Rotate(double, Point3D, Point3D) Rotates the entity around an arbitray axis by the specified angle. (inherited from GEntity).
Public method Rotate(double, Vector3D) Rotates the entity around an arbitray axis by the specified angle. (inherited from GEntity).
Public method Static Ruled(IGCurve, IGCurve) Creates a gSurface connecting linearly two curves.
Public method Scale(Point3D, double, double, double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(Point3D, double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(Vector3D) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Scale(double, double, double) Scales the entity of the specified scale factor. (inherited from GEntity).
Public method Section(Plane, double)
Public method Static Section(IList<GSurface>, Plane, double) Computes the section of a group of gSurfaces and a plane as a collection of curves.
Public method Shrink(double) Shrinks the underlying untrimmed gSurface in order to make it as small as possible.
Public method Static SkinU(IList<IGCurve>, int) Creates a gSurface from skinning. The skinning is performed in the U direction.
Public method Static SkinU(IList<IGCurve>, int, bool) Creates a gSurface from skinning. The skinning is performed in the U direction.
Public method Static SkinV(IList<IGCurve>, int) Creates a gSurface from skinning. The skinning is performed in the V direction.
Public method Static SkinV(IList<IGCurve>, int, bool) Creates a gSurface from skinning. The skinning is performed in the V direction.
Public method Static Split(IList<GSurface>, GSurface, double, out GSurface[], out GSurface[]) Splits a gSurface group by a gSurface.
Public method Static Split(IList<GSurface>, Plane, double, out GSurface[], out GSurface[]) Splits a gSurface group by a plane.
Public method SplitAtU(double, out GSurface, out GSurface) Splits the gSurface along U.
Public method SplitAtV(double, out GSurface, out GSurface) Splits the gSurface along V.
Public method SplitBy(IGCurve, out GSurface, out GSurface) Splits the gSurface using an open or closed contour.
Public method SplitBy(GSurface, double, out GSurface[], out GSurface[]) Splits the gSurface by a gSurface.
Public method SplitBy(Plane, double, out GSurface[], out GSurface[]) Splits the gSurface by a plane.
Public method SplitByU(Point3D, out GSurface, out GSurface) Splits the gSurface along U.
Public method SplitByV(Point3D, out GSurface, out GSurface) Splits the gSurface along V.
Public method SwapUV() Swaps the U and V directions of the gSurface.
Protected method Static TangentVectorInversion(PointTangent, Vector3D, Vector3D, ref Vector2D)
Public method ToString()
Internal protected (Protected Friend) method TransformAllVertices(Point3D[], Transformation, bool, bool) (inherited from GEntity).
Public method TransformBy(Transformation) Transforms all the entity's vertices by the specified transformation.
Public method Translate(double, double, double) Translates the entity. (inherited from GEntity).
Public method Translate(Vector3D) Translates the entity. (inherited from GEntity).
Internal protected (Protected Friend) method Static Trim(GSurface, IList<IGCurve>)
Public method Static Trim(GSurface, GSurface, double, bool, bool) Trims a gSurface against the other.
Public method Static Trim(GSurface, GSurface, double, bool, bool, out GSurface[], out GSurface[]) Trims a gSurface against the other.
Public method Static Trim(IList<GSurface>, IList<GSurface>, double, bool, bool) Trims a gSurface group against the other.
Public method Static Trim(IList<GSurface>, IList<GSurface>, double, bool, bool, out GSurface[], out GSurface[]) Trims a gSurface group against the other.
Public method Static Trim(IList<GSurface>, Plane, double) Trims a gSurface group using the limit plane provided. Always removes the splits on the positive side of the plane.
Public method Static Trim(IList<GSurface>, Plane, double, bool) Trims a gSurface group by a plane.
Public method Static Trim(IList<GSurface>, Plane, double, bool, out GSurface[]) Trims a gSurface group using the limit plane provided. Always removes the splits on the positive side of the plane.
Public method TrimBy(GSurface, double, bool) Trim the gSurface using the limit gSurface provided.
Public method TrimBy(GSurface, double, bool, out GSurface[]) Trim the gSurface using the limit gSurface provided.
Public method TrimBy(IGCurve, bool) Trims the gSurface using an open or closed contour.
Public method TrimBy(IList<GSurface>, double, bool) Trims the gSurface using the limit gSurface group provided.
Public method TrimBy(IList<GSurface>, double, bool, out GSurface[]) Trims the gSurface using the limit gSurface group provided.
Public method TrimBy(Plane, double) Trims the gSurface using the limit plane provided. Always removes the gSurface on the positive side of the plane.
Public method TrimBy(Plane, double, bool) Trims the gSurface using the limit plane provided.
Public method TrimBy(Plane, double, bool, out GSurface[]) Trims the gSurface using the limit plane provided.
Public method TrimBy(Plane, double, out GSurface[]) Trims the gSurface using the limit plane provided. Always removes the gSurface on the positive side of the plane.
Internal protected (Protected Friend) method Static TrimInternal(GSurface, IList<IGCurve>, bool)
Public method TryGetPlanar(out GPlanarSurface) Converts this generic gSurface to GPlanarSurface (when possible).
Public method TryGetRevolved(out GRevolvedSurface) Converts this generic gSurface to GRevolvedSurface (when possible).
Public method TryGetTabulated(out GTabulatedSurface) Converts this generic gSurface to GTabulatedSurface (when possible).
Public method Static UniformKnotVector(int, int) Constructs a uniform clamped knot vector. v[j+1]-v[j] is equal for all inners nodes. (inherited from GNurbsBase).
Public method Untrim() Clears all trimming loops.
Public method Static VariableChamfer(GSurface, GSurface, double, double, bool, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Variable chamfer between two gSurfaces.
Public method Static VariableChamfer(IList<GSurface>, IList<GSurface>, double, double, bool, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Variable chamfer between two groups of gSurfaces.
Public method Static VariableChamfer(IList<GSurface>, IList<GSurface>, double, double, bool, double, bool, bool, bool, bool, bool, bool, out GSurface[], out GSurface[], out GSurface[]) Variable chamfer between two groups of gSurfaces, with gSurfaces leftover by the trim operation.
Public method Static VariableFillet(GSurface, GSurface, double, double, bool, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Variable fillet between two individual gSurfaces.
Public method Static VariableFillet(IList<GSurface>, IList<GSurface>, double, double, bool, double, bool, bool, bool, bool, bool, bool, out GSurface[]) Variable fillet between two groups of gSurfaces.
Public method Static VariableFillet(IList<GSurface>, IList<GSurface>, double, double, bool, double, bool, bool, bool, bool, bool, bool, out GSurface[], out GSurface[], out GSurface[]) Variable fillet between two groups of gSurfaces, with gSurfaces leftover by the trim operation.
Public method Static banbks(double[,], int, int, double[,], int[], ref double[,]) (inherited from GNurbsBase).
Public method Static banbks(double[,], int, int, double[,], int[], ref double[]) (inherited from GNurbsBase).
Public method Static bandec(double[,], int, int, double[,], int[], out double) (inherited from GNurbsBase).
Public method Static lubksb(double[,], int[], ref double[]) (inherited from GNurbsBase).
Top
Classes
 
Name Description
Public class PolygonPoint GSurface.PolyRegion 2D point definition.
Top
Name Description
Public enumeration regionInflateType FOr internal use only.
Top
Fields
 
Name Description
Protected field _convexHull
Internal protected (Protected Friend) field bottomEdge GSurface's left pole or tip.
Protected field geometricalAttributesDirty When true, geometrical attributes need to be updated. (inherited from GNurbsBase).
Internal protected (Protected Friend) field leftEdge GSurface's bottom pole or tip.
Internal protected (Protected Friend) field rightEdge GSurface's top pole or tip.
Internal protected (Protected Friend) field topEdge GSurface's right pole or tip.
Top

.NET Framework

Supported in: 4.7.2

In this article

Definition