C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
+ Collaboration diagram for Construction of Surfaces:

Classes

class  MbSpineData
 Spine for sweep operation. More...
 
class  MbSpine
 Curvilinear spine for sweep surface. More...
 
struct  SpineData
 A spine curve and its neighborhood. More...
 

Functions

MbResultType RectifyFace (const MbFace &face, const RectifyValues values, MbSolid *&result)
 Construction of a face sweep on a plane. More...
 
MbResultType ElementarySurface (const MbCartPoint3D &point0, const MbCartPoint3D &point1, const MbCartPoint3D &point2, MbeSpaceType surfaceType, MbSurface *&result)
 Create an elementary surface. More...
 
MbResultType SplineSurface (const MbCartPoint3D &pUMinVMin, const MbCartPoint3D &pUMaxVMin, const MbCartPoint3D &pUMaxVMax, const MbCartPoint3D &pUMinVMax, size_t uCount, size_t vCount, size_t uDegree, size_t vDegree, MbSurface *&result)
 Create a planar NURBS - surface. More...
 
MbResultType SplineSurface (const SArray< MbCartPoint3D > &pointList, const SArray< double > &weightList, size_t uCount, size_t vCount, size_t uDegree, const SArray< double > &uKnotList, bool uClosed, size_t vDegree, const SArray< double > &vKnotList, bool vClosed, MbSurface *&result)
 Create a NURBS - surface. More...
 
MbResultType ExtrusionSurface (const MbCurve3D &curve, const MbVector3D &direction, bool simplify, MbSurface *&result)
 Create an extrusion surface. More...
 
MbResultType RevolutionSurface (const MbCurve3D &curve, const MbCartPoint3D &origin, const MbVector3D &axis, double angle, bool simplify, MbSurface *&result)
 Create a revolution surface. More...
 
MbResultType ExpansionSurface (const MbCurve3D &curve, const MbCurve3D &spine, const MbCurve3D *curve1, MbSurface *&result)
 Create an expansion surface. More...
 
MbResultType EvolutionSurface (const MbCurve3D &curve, const MbCurve3D &spine, MbSurface *&result)
 Create an evolution surface. More...
 
MbResultType SpiralSurface (const MbCurve3D &curve, bool sameCurve, const MbCartPoint3D &p0, const MbCartPoint3D &p1, const MbCartPoint3D &p2, double step, MbSurface *&result)
 Create a spiral surface. More...
 
MbResultType SectorSurface (const MbCurve3D &curve, const MbCartPoint3D &point, MbSurface *&result)
 Create a sectorial surface. More...
 
MbResultType RuledSurface (MbCurve3D &curve1, MbCurve3D &curve2, bool simplify, MbSurface *&result)
 Create a ruled surface. More...
 
MbResultType CornerSurface (MbCurve3D &curve1, MbCurve3D &curve2, MbCurve3D &curve3, MbSurface *&result)
 Create a triangular surface. More...
 
MbResultType CoverSurface (MbCurve3D &curve1, MbCurve3D &curve2, MbCurve3D &curve3, MbCurve3D &curve4, MbSurface *&result)
 Create a bilinear surface. More...
 
MbResultType LoftedSurface (const RPArray< MbCurve3D > &curveList, bool closed, const MbVector3D &begDirection, const MbVector3D &endDirection, MbSurface *&result)
 Create a surface by a set of curves. More...
 
MbResultType LoftedSurface (const RPArray< MbCurve3D > &curveList, MbCurve3D &spine, MbSurface *&result, bool isSimToEvol=true)
 Create a surface from a set of curves and a spine curve. More...
 
MbResultType MeshSurface (const RPArray< MbCurve3D > &uCurveList, const RPArray< MbCurve3D > &vCurveList, MbSurface *&result)
 Create a surface constructed by the grid curves. More...
 
MbResultType OffsetSurface (const MbSurface &surface, double distance, MbSurface *&result)
 Create an offset surface. More...
 
MbResultType OffsetSurface (const MbSurface &surface, double offsetUminVmin, double offsetUmaxVmin, double offsetUminVmax, double offsetUmaxVmax, MbeOffsetType type, MbSurface *&result)
 Create an offset surface. More...
 
MbResultType ExtendedSurface (MbSurface &surface, double uMin, double uMax, double vMin, double vMax, MbSurface *&result)
 Create an extended surface. More...
 
MbResultType DeformedSurface (const MbSurface &surface, size_t uCount, size_t vCount, size_t uDegree, size_t vDegree, double dist, MbSurface *&result)
 Create a deformed surface. More...
 
MbResultType BoundedSurface (MbSurface &surface, const RPArray< MbCurve > &boundList, MbSurface *&result)
 Create a surface with the given boundary. More...
 
MbResultType BoundedSurface (const MbPlacement3D &place, const MbRegion &region, MbSurface *&result)
 Create a surface with the given boundary. More...
 
MbResultType NurbsSurface (const MbSurface &surf, VERSION version, MbSurface *&result)
 Create a NURBS surface copy with two-dimensional boundaries. More...
 
MbResultType NurbsSurface (const MbSurface &surf, const MbNurbsParameters &uParam, const MbNurbsParameters &vParam, c3d::SurfaceSPtr &result)
 Create a NURBS surface copy by given parameters. More...
 
MbResultType SimplexSplineSurface (const SArray< MbCartPoint3D > &pList, MbSurface *&resSurface)
 Create a simplex spline surface. More...
 
MbResultType TriBezierSurface (ptrdiff_t k, const MbCartPoint3D &p1, const MbCartPoint3D &p2, const MbCartPoint3D &p3, MbSurface *&resSurface)
 Create a triangular Bezier surface. More...
 
MbResultType SimplexSurface (const MbSurface &surface, size_t degree, size_t uCount, size_t vCount, MbSurface *&result)
 Create a triangular B-spline surface. More...
 
MbResultType GridSurface (const MbGrid &grid, MbSurface *&result)
 Create a surface from a points grid. More...
 
MbResultType MiddlePlaces (const MbCurve3D &curve1, const MbCurve3D &curve2, std::vector< MbPlacement3D > &places)
 Create median planes. More...
 
MbResultType SectionSurface (const MbCurve3D &rc, const MbCurve3D &g1, const MbCurve3D &g2, const MbCurve3D *c0, size_t form, bool sense, double uBeg, double uEnd, MbFunction *func, MbCurve *patt, double accuracy, VERSION vers, MbSurface *&result)
 Construction of a swept section surface. More...
 
MbResultType CreateCoonsSurface (const MbSurfaceCurve &surfaceCurve0, const MbSurfaceCurve &surfaceCurve1, const MbSurfaceCurve &surfaceCurve2, const MbSurfaceCurve &surfaceCurve3, MbSurface *&result)
 Construction of a Coons surface. More...
 
MbResultType CreateSplinePatch (const c3d::ConstEdgesVector &edges, c3d::SurfacesVector &result)
 Construction of a surface-patch by the edges. More...
 
MbSurfaceCreateEvolutionSurface (const MbCurve3D &curve, const MbSpine &spine, bool samec, bool sames=false)
 Create an evolution surface. More...
 
MbSurfaceCreateEvolutionSurface (const MbCurve3D &curve, const MbCurve3D &spine, bool samec, bool sames)
 Create an evolution surface. More...
 
MbSurfaceCreatePipeSurface (const MbCurve3D &curve, const MbCurve3D &spine, const MbCurve3D &spineDirection, bool samec, bool sames, bool samed)
 Create an evolution surface. More...
 
MbSmoothSurfaceCreateKerbSurface (const MbSurface &surface1, SArray< MbCartPoint > &points1, const MbSurface &surface2, SArray< MbCartPoint > &points2, MbeSmoothForm form, double distance1, double distance2, double conic, const MbSurfaceIntersectionCurve &curve, SArray< double > &params, bool byFirstSurface, bool even, VERSION version)
 Create the fillet surface. More...
 

Common functions of surface

static MbSurfaceMbExplorationSurface::Create (const MbCurve3D &curve, const MbSpine &spine, bool samec, bool sames, MbFunction &_scaling, MbFunction &_winding)
 Create an evolution surface. More...
 

Detailed Description

Function Documentation

◆ RectifyFace()

MbResultType RectifyFace ( const MbFace face,
const RectifyValues  values,
MbSolid *&  result 
)

Construction of a face sweep on a plane.

Construction of a face sweep on a plane.

Parameters
[in]face- The initial face.
[in]values- The parameters: Local coordinate system for result surface, Data for step calculation during triangulation, the Poisson's ratio of face material.
[out]result- The built solid unbend face on plane.
Returns
Returns operation result code.
Warning
Under development.

◆ ElementarySurface()

MbResultType ElementarySurface ( const MbCartPoint3D point0,
const MbCartPoint3D point1,
const MbCartPoint3D point2,
MbeSpaceType  surfaceType,
MbSurface *&  result 
)

Create an elementary surface.

Create one of elementary surfaces from three points and a type:
surfaceType == st_Plane - a plane
surfaceType == st_ConeSurface - a conical surface
surfaceType == st_CylinderSurface - a cylindrical surface
surfaceType == st_SphereSurface - a spherical surface
surfaceType == st_TorusSurface - a torus surface

Parameters
[in]point0- The origin of the surface local coordinate system.
[in]point1- A point specifying the direction of X-axis of the local system and the surface radius.
[in]point2- A point specifying the direction of Y-axis of the local system.
[in]surfaceType- The surface type.
[out]result- The constructed surface.
Returns
Returns operation result code.

◆ SplineSurface() [1/2]

MbResultType SplineSurface ( const MbCartPoint3D pUMinVMin,
const MbCartPoint3D pUMaxVMin,
const MbCartPoint3D pUMaxVMax,
const MbCartPoint3D pUMinVMax,
size_t  uCount,
size_t  vCount,
size_t  uDegree,
size_t  vDegree,
MbSurface *&  result 
)

Create a planar NURBS - surface.

Create a planar NURBS - surface given the corner points.

Parameters
[in]pUMinVMin- A corner point of a surface.
[in]pUMaxVMin- A corner point of a surface.
[in]pUMaxVMax- A corner point of a surface.
[in]pUMinVMax- A corner point of a surface.
[in]uCount- A number of points by U direction.
[in]vCount- A number of points by V direction.
[in]uDegree- Splines degree by U.
[in]vDegree- Splines degree by V.
[out]result- The spline surface.
Returns
Returns operation result code.

◆ SplineSurface() [2/2]

MbResultType SplineSurface ( const SArray< MbCartPoint3D > &  pointList,
const SArray< double > &  weightList,
size_t  uCount,
size_t  vCount,
size_t  uDegree,
const SArray< double > &  uKnotList,
bool  uClosed,
size_t  vDegree,
const SArray< double > &  vKnotList,
bool  vClosed,
MbSurface *&  result 
)

Create a NURBS - surface.

Create a NURBS - surface given arrays of points and weights.
container 'weightList' can be empty.
container 'uKnotList' can be empty.
container 'vKnotList' can be empty.

Parameters
[in]pointList- An array of points.
[in]weightList- An array of weights.
[in]uCount- The size of point array by U.
[in]vCount- The size of point array by V.
[in]uDegree- Splines degree by U.
[in]uKnotList- A knot vector by U.
[in]uClosed- Closedness by U.
[in]vDegree- Splines degree by V.
[in]vKnotList- A knot vector by V.
[in]vClosed- Closedness by V.
[out]result- The spline surface.
Returns
Returns operation result code.

◆ ExtrusionSurface()

MbResultType ExtrusionSurface ( const MbCurve3D curve,
const MbVector3D direction,
bool  simplify,
MbSurface *&  result 
)

Create an extrusion surface.

Create a surface of a curve extrusion.

Parameters
[in]curve- The generating curve.
[in]direction- An extrusion vector.
[in]simplify- Simplify a surface if it's possible.
[out]result- An extrusion surface.
Returns
Returns operation result code.

◆ RevolutionSurface()

MbResultType RevolutionSurface ( const MbCurve3D curve,
const MbCartPoint3D origin,
const MbVector3D axis,
double  angle,
bool  simplify,
MbSurface *&  result 
)

Create a revolution surface.

Create a curve revolution surface.

Parameters
[in]curve- The generating curve.
[in]origin- The rotation axis origin.
[in]axis- The rotation axis direction.
[in]angle- A rotation angle.
[in]simplify- Simplify a surface if it's possible.
[out]result- The revolution surface.
Returns
Returns operation result code.

◆ ExpansionSurface()

MbResultType ExpansionSurface ( const MbCurve3D curve,
const MbCurve3D spine,
const MbCurve3D curve1,
MbSurface *&  result 
)

Create an expansion surface.

Create a surface of a curve sweeping.

Parameters
[in]curve- The generating curve.
[in]spine- The spine curve.
[out]result- The expansion surface.
Returns
Returns operation result code.

◆ EvolutionSurface()

MbResultType EvolutionSurface ( const MbCurve3D curve,
const MbCurve3D spine,
MbSurface *&  result 
)

Create an evolution surface.

Create an evolution surface from the generating curve and the guide curve.
If 'spine' has type st_ConeSpiral, the result of the construction is a spiral surface.

Parameters
[in]curve- The generating curve.
[in]spine- The spine curve.
[out]result- The evolution surface or a spiral surface.
Returns
Returns operation result code.

◆ SpiralSurface()

MbResultType SpiralSurface ( const MbCurve3D curve,
bool  sameCurve,
const MbCartPoint3D p0,
const MbCartPoint3D p1,
const MbCartPoint3D p2,
double  step,
MbSurface *&  result 
)

Create a spiral surface.

Create a spiral surface from a generating line and three points.

Parameters
[in]curve- The generating curve of a spiral.
[in]sameCurve- Use a copy of the generating curve if the flag "sameCurve" is false.
[in]p0- The origin of local coordinate system (LCS).
[in]p1- A point specifying Z-axis of LCS.
[in]p2- A point specifying X-axis of LCS.
[in]step- A pitch.
[out]result- A spiral surface.
Returns
Returns operation result code.

◆ SectorSurface()

MbResultType SectorSurface ( const MbCurve3D curve,
const MbCartPoint3D point,
MbSurface *&  result 
)

Create a sectorial surface.

Create a sectorial surface from a curve and a point.

Parameters
[in]curve- The generating curve.
[in]point- A point.
[out]result- The ruled surface in a form of a sector.
Returns
Returns operation result code.

◆ RuledSurface()

MbResultType RuledSurface ( MbCurve3D curve1,
MbCurve3D curve2,
bool  simplify,
MbSurface *&  result 
)

Create a ruled surface.

Create a ruled surface from two curves.

Parameters
[in]curve1- The first generating curve.
[in]curve2- The second generating curve.
[in]simplify- Simplify a surface if it's possible.
[out]result- The ruled surface.
Returns
Returns operation result code.

◆ CornerSurface()

MbResultType CornerSurface ( MbCurve3D curve1,
MbCurve3D curve2,
MbCurve3D curve3,
MbSurface *&  result 
)

Create a triangular surface.

Create a triangular surface from three curves.

Parameters
[in]curve1- The first curve.
[in]curve2- The second curve.
[in]curve3- The third curve.
[out]result- The triangular surface by three curves.
Returns
Returns operation result code.

◆ CoverSurface()

MbResultType CoverSurface ( MbCurve3D curve1,
MbCurve3D curve2,
MbCurve3D curve3,
MbCurve3D curve4,
MbSurface *&  result 
)

Create a bilinear surface.

Create a bilinear surface from four curves.

Parameters
[in]curve1- The first curve.
[in]curve2- The second curve.
[in]curve3- The third curve.
[in]curve4- The fourth curve.
[out]result- The bilinear surface from four curves.
Returns
Returns operation result code.

◆ LoftedSurface() [1/2]

MbResultType LoftedSurface ( const RPArray< MbCurve3D > &  curveList,
bool  closed,
const MbVector3D begDirection,
const MbVector3D endDirection,
MbSurface *&  result 
)

Create a surface by a set of curves.

Create a surface by a set of curves.
begDirection direction at the begining of the surface can be of zero length.
endDirection direction at the end of the surface can be of zero length.

Parameters
[in]curveList- A set of generating curves along U direction.
[in]closed- Closedness by V direction.
[in]begDirection- The vector of direction at the beginning of the surface.
[in]endDirection- The vector of direction at the end of the surface.
[out]result- The surface from the set of curves.
Returns
Returns operation result code.

◆ LoftedSurface() [2/2]

MbResultType LoftedSurface ( const RPArray< MbCurve3D > &  curveList,
MbCurve3D spine,
MbSurface *&  result,
bool  isSimToEvol = true 
)

Create a surface from a set of curves and a spine curve.

Create a surface from a set of curves and a spine curve.

Parameters
[in]curveList- A set of generating curves along U direction.
[in]spine- The spine curve.
[out]result- The surface from a set of curves and a spine curve.
Returns
Returns operation result code.

◆ MeshSurface()

MbResultType MeshSurface ( const RPArray< MbCurve3D > &  uCurveList,
const RPArray< MbCurve3D > &  vCurveList,
MbSurface *&  result 
)

Create a surface constructed by the grid curves.

Create a surface constructed by the grid curves given two sets of curves.

Parameters
[in]uCurveList- A curve set along U direction.
[in]vCurveList- A curve set along V direction.
[out]result- The surface constructed by the grid curves.
Returns
Returns operation result code.

◆ OffsetSurface() [1/2]

MbResultType OffsetSurface ( const MbSurface surface,
double  distance,
MbSurface *&  result 
)

Create an offset surface.

Create an offset surface to a given surface.

Parameters
[in]surface- The initial surface.
[in]distance- The offset distance (signed).
Returns
Returns operation result code.
Parameters
[out]result- The offset surface.

◆ OffsetSurface() [2/2]

MbResultType OffsetSurface ( const MbSurface surface,
double  offsetUminVmin,
double  offsetUmaxVmin,
double  offsetUminVmax,
double  offsetUmaxVmax,
MbeOffsetType  type,
MbSurface *&  result 
)

Create an offset surface.

Create an offset surface from the initial surface.

Parameters
[in]surface- The base surface.
[in]offsetUminVmin- Offset distance on point Umin Vmin of base surface.
[in]offsetUmaxVmin- Offset distance on point Umax Vmin of base surface.
[in]offsetUminVmax- Offset distance on point Umin Vmax of base surface.
[in]offsetUmaxVmax- Offset distance on point Umax Vmax of base surface.
[in]type- The offset type: constant, or linear, or cubic.
[out]result- The offset surface.
Returns
Returns operation result code.

◆ ExtendedSurface()

MbResultType ExtendedSurface ( MbSurface surface,
double  uMin,
double  uMax,
double  vMin,
double  vMax,
MbSurface *&  result 
)

Create an extended surface.

Create an extended surface from the initial surface.

Parameters
[in]surface- The initial surface.
[in]uMin- The minimal parameter value by U.
[in]uMax- The maximal parameter value by U.
[in]vMin- The minimal parameter value by V.
[in]vMax- The maximal parameter value by V.
[out]result- The extended surface.
Returns
Returns operation result code.

◆ DeformedSurface()

MbResultType DeformedSurface ( const MbSurface surface,
size_t  uCount,
size_t  vCount,
size_t  uDegree,
size_t  vDegree,
double  dist,
MbSurface *&  result 
)

Create a deformed surface.

Create a deformed surface from the initial surface.

Parameters
[in]surface- The initial surface.
[in]uCount- A number of points by U direction.
[in]vCount- A number of points by V direction.
[in]uDegree- Splines degree by U.
[in]vDegree- Splines degree by V.
[in]dist- Shift along the normal.
[out]result- The deformed surface.
Returns
Returns operation result code.

◆ BoundedSurface() [1/2]

MbResultType BoundedSurface ( MbSurface surface,
const RPArray< MbCurve > &  boundList,
MbSurface *&  result 
)

Create a surface with the given boundary.

Create a surface with the given boundary from an array of two-dimensional curves.
Container 'boundList' can be empty.

Parameters
[in]surface- The initial surface.
[in]boundList- An array of two-dimensional boundaries in the form of curves (the first curve is an outer contour).
[out]result- The surface bounded by the curves.
Returns
Returns operation result code.

◆ BoundedSurface() [2/2]

MbResultType BoundedSurface ( const MbPlacement3D place,
const MbRegion region,
MbSurface *&  result 
)

Create a surface with the given boundary.

Create a surface with the given boundary from an array of two-dimensional curves.

Parameters
[in]place- The local coordinate system of a plane.
[in]region- An array of two-dimensional boundaries in the form of region (the first contour is outer).
[out]result- The surface bounded by the curves.
Returns
Returns operation result code.

◆ NurbsSurface() [1/2]

MbResultType NurbsSurface ( const MbSurface surf,
VERSION  version,
MbSurface *&  result 
)

Create a NURBS surface copy with two-dimensional boundaries.

Create a NURBS surface copy with two-dimensional boundaries by projecting of the spatial boundaries
(the boundary space curves are considered to belong to the surface)

Parameters
[in]surf- The initial surface.
[in]version- The version.
[out]result- The spline surface (bounded by the curves).
Returns
Returns operation result code.

◆ NurbsSurface() [2/2]

MbResultType NurbsSurface ( const MbSurface surf,
const MbNurbsParameters uParam,
const MbNurbsParameters vParam,
c3d::SurfaceSPtr result 
)

Create a NURBS surface copy by given parameters.

Create a NURBS surface copy by given parameters.

Parameters
[in]surf- The initial surface.
[in]uParam- Parameters for the construction of a NURBS copy of the object.
[in]vParam- Parameters for the construction of a NURBS copy of the object.
[out]result- The spline surface.
Returns
Returns operation result code.

◆ SimplexSplineSurface()

MbResultType SimplexSplineSurface ( const SArray< MbCartPoint3D > &  pList,
MbSurface *&  resSurface 
)

Create a simplex spline surface.

Create a simplex spline surface from a point array.

Parameters
[in]pList- An array of points.
[out]resSurface- The simplex spline surface.
Returns
Returns operation result code.

◆ TriBezierSurface()

MbResultType TriBezierSurface ( ptrdiff_t  k,
const MbCartPoint3D p1,
const MbCartPoint3D p2,
const MbCartPoint3D p3,
MbSurface *&  resSurface 
)

Create a triangular Bezier surface.

Create a triangular Bezier surface from three points.

Parameters
[in]k- The surface order.
[in]p1- The first point.
[in]p2- The second point.
[in]p3- The third point.
[out]resSurface- The triangular Bezier surface.
Returns
Returns operation result code.

◆ SimplexSurface()

MbResultType SimplexSurface ( const MbSurface surface,
size_t  degree,
size_t  uCount,
size_t  vCount,
MbSurface *&  result 
)

Create a triangular B-spline surface.

Create a triangular B-spline surface from three points.

Parameters
[in]surface- The initial surface.
[in]degree- The surface order.
[in]uCount- The elements count along first direction.
[in]vCount- The elements count along second direction.
[out]result- The simplex surface.
Returns
Returns operation result code.

◆ GridSurface()

MbResultType GridSurface ( const MbGrid grid,
MbSurface *&  result 
)

Create a surface from a points grid.

Create a surface from a points grid and triangulation.
The triangles array should form a regular triangulation.

Parameters
[in]grid- A triangulation.
[out]result- The surface on a point set.
Returns
Returns operation result code.

◆ MiddlePlaces()

MbResultType MiddlePlaces ( const MbCurve3D curve1,
const MbCurve3D curve2,
std::vector< MbPlacement3D > &  places 
)

Create median planes.

Create median planes from two curves.

Parameters
[in]curve1- The first curve.
[in]curve2- The second curve.
[out]places- The set of coordinate systems which determine the planes.
Returns
Returns operation result code.
Warning
Under development.

◆ SectionSurface()

MbResultType SectionSurface ( const MbCurve3D rc,
const MbCurve3D g1,
const MbCurve3D g2,
const MbCurve3D c0,
size_t  form,
bool  sense,
double  uBeg,
double  uEnd,
MbFunction func,
MbCurve patt,
double  accuracy,
VERSION  vers,
MbSurface *&  result 
)

Construction of a swept section surface.

The swept (conic) section surface is formed by moving the flat conic section curve along the reference curve. In the process of movement, the shape of the flat curve changes in accordance with the discriminant of the conic section. The beginning of the flat curve is located on the first guide curve and the end is located on the second guide curve. The plane of the swept section preserves the orthogonality to the reference curve during movement.

Parameters
[in]rc- The reference curve (spine).
[in]g1- The first guide curve.
[in]g2- The second guide curve (g1==g2 the same first guide for cs_Round).
[in]c0- The additional guide curve (may be nullptr).
[in]form- The form of the surface section (0, 1, 2, 3).
[in]sense- The normal direction of guide curve surface (for guide1==guide2).
[in]uBeg- The minimum value of the first surface parameter.
[in]uEnd- The maximum value of the first surface parameter.
[in]func- Section control function.
[in]patt- Forming curve for form==cs_Shape.
[in]accuracy- The accuracy of building.
[in]vers- The surface version.
[out]result- The constructed surface.
Returns
Returns operation result code.
Warning
Under development.

◆ CreateCoonsSurface()

MbResultType CreateCoonsSurface ( const MbSurfaceCurve surfaceCurve0,
const MbSurfaceCurve surfaceCurve1,
const MbSurfaceCurve surfaceCurve2,
const MbSurfaceCurve surfaceCurve3,
MbSurface *&  result 
)

Construction of a Coons surface.

The construction of Coons surface, which will be tangent to four surfaces and coincide with four curves on this surfaces on it sides.

Parameters
[in]surfaceCurve0- The curve on surface0.
[in]surfaceCurve1- The curve on surface1.
[in]surfaceCurve2- The curve on surface2.
[in]surfaceCurve3- The curve on surface3.
[out]result- The constructed surface.
Returns
Returns operation result code.
Warning
Under development.

◆ CreateSplinePatch()

MbResultType CreateSplinePatch ( const c3d::ConstEdgesVector &  edges,
c3d::SurfacesVector &  result 
)

Construction of a surface-patch by the edges.

Construction of a surface-patch, smoothly joining with the surfaces of the edges.

Parameters
[in]edges- Edges to join the new surface.
[out]result- The constructed surfaces.
Returns
Returns operation result code.
Warning
Under development.

◆ CreateEvolutionSurface() [1/2]

MbSurface& CreateEvolutionSurface ( const MbCurve3D curve,
const MbSpine spine,
bool  samec,
bool  sames = false 
)

Create an evolution surface.

Create an evolution surface.

Parameters
[in]curve- Generating curve
[in]spine- Guide curve
[in]samec- Attribute of usage of original of generating curve, not a copy.
[in]sames- Attribute of usage of original of guide curve (spine), not a copy.
Returns
Return the created surface.

◆ CreateEvolutionSurface() [2/2]

MbSurface& CreateEvolutionSurface ( const MbCurve3D curve,
const MbCurve3D spine,
bool  samec,
bool  sames 
)

Create an evolution surface.

Create an evolution surface.

Parameters
[in]curve- Generating curve
[in]spine- Guide curve
[in]samec- Attribute of usage of original of generating curve, not a copy
[in]sames- Attribute of usage of original of guide curve, not a copy
Returns
Return the created surface.

◆ CreatePipeSurface()

MbSurface& CreatePipeSurface ( const MbCurve3D curve,
const MbCurve3D spine,
const MbCurve3D spineDirection,
bool  samec,
bool  sames,
bool  samed 
)

Create an evolution surface.

Create an evolution surface.

Parameters
[in]curve- Generating curve
[in]spine- Guide curve
[in]spineDirection- Guide curve for guide curve
[in]samec- Attribute of usage of original of generating curve, not a copy
[in]sames- Attribute of usage of original of guide curve, not a copy
[in]samed- Attribute of usage of original of spineDirection curve, not a copy
Returns
Return the created surface.

◆ Create()

static MbSurface* MbExplorationSurface::Create ( const MbCurve3D curve,
const MbSpine spine,
bool  samec,
bool  sames,
MbFunction _scaling,
MbFunction _winding 
)
static

Create an evolution surface.

Create an evolution surface.

Parameters
[in]curve- Generating curve.
[in]spine- Guide curve.
[in]samec- Attribute of usage of original of generating curve, not a copy.
[in]_scaling- The function of curve scaling.
[in]_winding- The function of curve rotation.
Returns
Return the created surface.

◆ CreateKerbSurface()

MbSmoothSurface* CreateKerbSurface ( const MbSurface surface1,
SArray< MbCartPoint > &  points1,
const MbSurface surface2,
SArray< MbCartPoint > &  points2,
MbeSmoothForm  form,
double  distance1,
double  distance2,
double  conic,
const MbSurfaceIntersectionCurve curve,
SArray< double > &  params,
bool  byFirstSurface,
bool  even,
VERSION  version 
)

Create the fillet surface.

Create the fillet surface with the edge.

Parameters
[in]surface1- The conjugate surface.
[in]points1- Points for curve on the conjugated surface.
[in]surface2- The conjugate surface.
[in]points2- Points for curve on the conjugated surface.
[in]form- The surface type
[in]distance1- Fillet radius with sign for surface of crve1 curve
[in]distance2- Fillet radius with sign for surface of crve2 curve
[in]conic- Coefficient of shape is changed from 0.05 to 0.95 (if 0.5 - circular arc)
[in]curve- The edge curve
[in]params- The parameters of new the surface by first direction (u)
[in]byFirstSurface- Is the first or second conjugate surface smooth with the new surface.
[in]even- Uniform parametrization by arc (v) or not
Returns
Return the created surface.