index 999a693..de47550 100644 (file)
@@ -28,11 +28,11 @@ The Intersections component is used to compute intersections between 2D or 3D ge

The *Geom2dAPI_InterCurveCurve* class  allows the evaluation of the intersection points (*gp_Pnt2d*) between two  geometric curves (*Geom2d_Curve*) and the evaluation of the points  of self-intersection of a curve.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image003.png, "Intersection and self-intersection of curves"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image003.png,"Intersection and self-intersection of curves",420}

In both cases, the  algorithm requires a value for the tolerance (Standard_Real) for the confusion  between two points. The default tolerance value used in all constructors is *1.0e-6.*

-@figure{/user_guides/modeling_algos/images/modeling_algos_image004.png, "Intersection and tangent intersection"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image004.png,"Intersection and tangent intersection",420}

The algorithm returns a  point in the case of an intersection and a segment in the case of tangent  intersection.

@@ -211,7 +211,7 @@ The implemented algorithms are more complex than those provided by the Direct Co
The expression of a tangency problem generally leads to several results, according to the relative positions of the solution and the circles or straight lines in relation to which the tangency constraints are expressed. For example, consider the following
case of a circle of a given radius (a small one) which is tangential to two secant circles C1 and C2:

-@figure{/user_guides/modeling_algos/images/modeling_algos_image058.png,"Example of a Tangency Constraint"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image058.png,"Example of a Tangency Constraint",360}

This diagram clearly shows that there are 8 possible solutions.

@@ -264,18 +264,18 @@ The following analytic algorithms using value-handled entities for creation of 2
#### Exterior/Interior
It is not hard to define  the interior and exterior of a circle. As is shown in the following diagram,  the exterior is indicated by the sense of the binormal, that is to say the  right side according to the sense of traversing the circle. The left side is  therefore the interior (or &quot;material&quot;).

-@figure{/user_guides/modeling_algos/images/modeling_algos_image006.png, "Exterior/Interior of a Circle"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image006.png,"Exterior/Interior of a Circle",220}

By extension, the  interior of a line or any open curve is defined as the left side according to  the passing direction, as shown in the following diagram:

-@figure{/user_guides/modeling_algos/images/modeling_algos_image007.png, "Exterior/Interior of a Line and a Curve"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image007.png,"Exterior/Interior of a Line and a Curve",220}

#### Orientation of a Line
It is sometimes  necessary to define in advance the sense of travel along a line to be created.  This sense will be from first to second argument.

The following figure shows a line, which is  first tangent to circle C1 which is interior to the line, and then passes  through point P1.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image008.png, "An Oriented Line"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image008.png,"An Oriented Line",220}

#### Line tangent to two circles
@@ -284,7 +284,7 @@ The following four  diagrams illustrate four cases of using qualifiers in the cr

**Example 1 Case 1**

-@figure{/user_guides/modeling_algos/images/modeling_algos_image009.png, "Both circles outside"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image009.png,"Both circles outside",220}

Constraints:
Tangent and Exterior to  C1.
@@ -301,7 +301,7 @@ GccAna_Lin2d2Tan

**Example 1 Case 2**

-@figure{/user_guides/modeling_algos/images/modeling_algos_image010.png, "Both circles enclosed"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image010.png,"Both circles enclosed",220}

Constraints:
Tangent and Including  C1.
@@ -318,7 +318,7 @@ GccAna_Lin2d2Tan

**Example  1 Case 3**

-@figure{/user_guides/modeling_algos/images/modeling_algos_image011.png, "C1 enclosed, C2 outside"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image011.png,"C1 enclosed and C2 outside",220}

Constraints:
Tangent and Including C1.
@@ -334,7 +334,7 @@ GccAna_Lin2d2Tan

**Example 1 Case 4**

-@figure{/user_guides/modeling_algos/images/modeling_algos_image012.png, "C1 outside, C2 enclosed"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image012.png,"C1 outside and C2 enclosed",220}
Constraints:
Tangent and Exterior to  C1.
Tangent and Including  C2.
@@ -349,7 +349,7 @@ GccAna_Lin2d2Tan

**Example 1 Case 5**

-@figure{/user_guides/modeling_algos/images/modeling_algos_image013.png, "With no qualifiers specified"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image013.png,"Without qualifiers",220}

Constraints:
Tangent and Undefined  with respect to C1.
@@ -367,7 +367,7 @@ GccAna_Lin2d2Tan
The following four  diagrams show the four cases in using qualifiers in the creation of a circle.

**Example 2 Case 1**
-@figure{/user_guides/modeling_algos/images/modeling_algos_image014.png, "Both solutions outside"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image014.png,"Both solutions outside",220}

Constraints:
Tangent and Exterior to  C1.

**Example 2 Case 2**

-@figure{/user_guides/modeling_algos/images/modeling_algos_image015.png, "C2 encompasses C1"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image015.png,"C2 encompasses C1",220}

Constraints:
Tangent and Exterior to  C1.
~~~~~

**Example  2 Case 3**
-@figure{/user_guides/modeling_algos/images/modeling_algos_image016.png, "Solutions enclose C2"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image016.png,"Solutions enclose C2",220}

Constraints:
Tangent and Exterior to  C1.
~~~~~

**Example 2 Case 4**
-@figure{/user_guides/modeling_algos/images/modeling_algos_image017.png, "Solutions enclose C1"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image017.png,"Solutions enclose C1",220}

Constraints:
Tangent and Enclosing  C1.
@@ -558,7 +558,7 @@ This is done by the class *GeomFill_ConstrainedFilling*, which allows filling a

A case in point is the intersection of two fillets at a corner. If the radius of the fillet on one edge is different from that of the fillet on another, it becomes impossible to sew together all the edges of the resulting surfaces. This leaves a gap in the overall surface of the object which you are constructing.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image059.png,"Intersecting filleted edges with differing radiuses"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image059.png,"Intersecting filleted edges with differing radiuses",220}

These algorithms allow you to fill this gap from two, three or four curves. This can be done with or without constraints, and the resulting surface will be either a Bezier or a BSpline surface in one of a range of filling styles.

@@ -578,7 +578,7 @@ The enumerations *FillingStyle* specify the styles used to build the surface. Th
* *Coons* -- a rounded style with less depth than *Curved*
* *Curved* -- the style with the most rounded patches.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image018.png, "Intersecting filleted edges with different radii leave a gap, is filled by a surface"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image018.png,"Intersecting filleted edges with different radii leave a gap filled by a surface",274}

@subsubsection occt_modalg_2_5_5 Plate surfaces

@@ -590,7 +590,7 @@ curve constraints and the point constraint respectively. The resulting surface c
The surface is built using a variational spline algorithm. It uses the principle of deformation of a thin plate by localised mechanical forces. If not already given in the input, an initial surface is calculated. This corresponds to the plate prior
to deformation. Then, the algorithm is called to calculate the final surface. It looks for a solution satisfying constraints and minimizing energy input.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image061.png,"Surface generated from two curves and a point"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image061.png,"Surface generated from two curves and a point",360}

The package *GeomPlate*   provides the following services for creating surfaces respecting curve and  point constraints:

@@ -616,7 +616,7 @@ The class *Surface* allows describing the characteristics of plate surface objec

The class *MakeApprox* allows converting a *GeomPlate* surface into a *Geom_BSplineSurface*.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image060.png,"Surface generated from four curves and a point"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image060.png,"Surface generated from four curves and a point",360}

Let us create a Plate surface  and approximate it from a polyline as a curve constraint and a point constraint

@@ -685,7 +685,7 @@ Projections provide for computing the following:

*Geom2dAPI_ProjectPointOnCurve*  allows calculation of all normals projected from a point (*gp_Pnt2d*)  onto a geometric curve (*Geom2d_Curve*). The calculation may be restricted  to a given domain.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image020.png, "Normals from a point to a curve"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image020.png,"Normals from a point to a curve",320}

The  curve does not have to be a *Geom2d_TrimmedCurve*. The algorithm will function with any class inheriting *Geom2d_Curve*.

@@ -919,7 +919,7 @@ Extrema_ExtPC& TheExtrema = Projector.Extrema();

The class *GeomAPI_ProjectPointOnSurf*  allows calculation of all normals  projected from a point from *gp_Pnt* onto a geometric surface from *Geom_Surface*.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image021.png, "Projection of normals from a point to a surface"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image021.png,"Projection of normals from a point to a surface",360}

Note that the  surface does not have to be of *Geom_RectangularTrimmedSurface* type.
The algorithm  will function with any class inheriting *Geom_Surface*.
@@ -1070,8 +1070,8 @@ It is possible to create the planar faces from the arbitrary set of planar edges
This feature might be useful if you need for instance to restore the shape from the wireframe model:
<table align="center">
<tr>
-  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image062.png, "Wireframe model"}</td>
-  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image063.png, "Faces of the model"}</td>
+  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image062.png,"Wireframe model",160}</td>
+  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image063.png,"Faces of the model",160}</td>
</tr>
</table>

@@ -1109,8 +1109,8 @@ The wires located in the same plane and completely included into other wires wil

<table align="center">
<tr>
-  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image064.png, "Wireframe model"}</td>
-  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image065.png, "Two faces (red face has a hole)"}</td>
+  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image064.png,"Wireframe model",160}</td>
+  <td>@figure{/user_guides/modeling_algos/images/modeling_algos_image065.png,"Two faces (red face has a hole)",160}</td>
</tr>
</table>

@@ -1146,9 +1146,9 @@ The following methods allow building PCurves of edges on faces:
The following methods allow checking the validity of the shapes:
* *BOPTools_AlgoTools::IsMicroEdge* detects the small edges;
* *BOPTools_AlgoTools::ComputeTolerance* computes the correct tolerance of the edge on the face;
- * *BOPTools_AlgoTools::CorrectShapeTolerances* and *BOPTools_AlgoTools::CorrectTolerances* allows correcting the tolerances of the sub-shapes.
+ * *BOPTools_AlgoTools::CorrectShapeTolerances* and *BOPTools_AlgoTools::CorrectTolerances* allow correcting the tolerances of the sub-shapes.
* *BRepLib::FindValidRange* finds a range of 3d curve of the edge not covered by tolerance spheres of vertices.
-
@subsection occt_modalg_2_topo_tools_7 Taking a point inside the face

The following methods allow taking a point located inside the face:
@@ -1323,7 +1323,7 @@ TopoDS_Edge E = BRepBuilderAPI_MakeEdge(C,V1,V2,p1,p2);

where C is the domain of the edge; V1 is the first vertex oriented FORWARD; V2 is the second vertex oriented REVERSED; p1  and p2 are the parameters for the vertices V1 and V2 on the curve. The default  tolerance is associated with this edge.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image022.png, "Basic Edge Construction"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image022.png,"Basic Edge Construction",220}

The following rules  apply to the arguments:

@@ -1349,7 +1349,7 @@ The following rules  apply to the arguments:

The figure below  illustrates two special cases, a semi-infinite edge and an edge on a periodic  curve.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image023.png, "Infinite and Periodic Edges"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image023.png,"Infinite and Periodic Edges",220}

@subsubsection occt_modalg_3_2_2 Supplementary edge construction methods

@@ -1424,7 +1424,7 @@ The *Error* method  returns a term of the *BRepBuilderAPI_EdgeError* enumeration

The following example  creates a rectangle centered on the origin of dimensions H, L with fillets of radius R. The edges and the vertices are stored in the arrays *theEdges* and *theVertices*. We use class *Array1OfShape* (i.e. not arrays of edges or vertices).  See the image below.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image024.png, "Creating a Wire"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image024.png,"Creating a Wire",360}

~~~~~
#include <BRepBuilderAPI_MakeEdge.hxx>
@@ -1553,7 +1553,7 @@ Standard_Real umin,umax,vmin,vmax; // parameters
TopoDS_Face F =  BRepBuilderAPI_MakeFace(S,umin,umax,vmin,vmax);
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image025.png, "Basic Face Construction"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image025.png,"Basic Face Construction",360}

To make a face from the  natural boundary of a surface, the parameters are not required:

@@ -1771,7 +1771,7 @@ TopoDS_Solid theBox = BRepPrimAPI_MakeBox(10.,20.,30.);

The four methods to build a box are shown in the figure:

-@figure{/user_guides/modeling_algos/images/modeling_algos_image026.png, "Making Boxes"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image026.png,"Making Boxes",420}

@subsubsection occt_modalg_4_1_2 Wedge
*BRepPrimAPI_MakeWedge* class allows building a wedge, which is a slanted box, i.e. a  box with angles. The wedge is constructed in much the same way as a box i.e.  from three dimensions dx,dy,dz plus arguments or from an axis system, three  dimensions, and arguments.
@@ -1781,7 +1781,7 @@ The following figure  shows two ways to build wedges. One is to add a dimension
The first method is a  particular case of the second with *xmin = 0, xmax = ltx, zmin = 0, zmax = dz*.
To make a centered  pyramid you can use *xmin = xmax = dx / 2, zmin = zmax = dz / 2*.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image027.png, "Making Wedges"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image027.png,"Making Wedges",420}

@subsubsection occt_modalg_4_1_3 Rotation object
*BRepPrimAPI_MakeOneAxis* is a deferred class used as a root class for all classes constructing rotational primitives. Rotational primitives are  created by rotating a curve around an axis. They cover the cylinder, the cone,  the sphere, the torus, and the revolution, which provides all other curves.
@@ -1794,7 +1794,7 @@ The particular  constructions of these primitives are described, but they all ha

The result of the  OneAxis construction is a Solid, a Shell, or a Face. The face is the face  covering the rotational surface. Remember that you will not use the OneAxis  directly but one of the derived classes, which provide improved constructions.  The following figure illustrates the OneAxis arguments.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image028.png, "MakeOneAxis  arguments"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image028.png,"MakeOneAxis arguments",360}

@subsubsection occt_modalg_4_1_4 Cylinder
*BRepPrimAPI_MakeCylinder* class allows creating cylindrical primitives. A cylinder is created either in the  default coordinate system or in a given coordinate system *gp_Ax2*. There are  two constructions:
@@ -1813,7 +1813,7 @@ axes.Translate(gp_Vec(X,Y,Z));
TopoDS_Face F =
BRepPrimAPI_MakeCylinder(axes,R,DY,PI/2.);
~~~~~
-@figure{/user_guides/modeling_algos/images/modeling_algos_image029.png, "Cylinder"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image029.png,"Cylinder",360}

@subsubsection occt_modalg_4_1_5 Cone
*BRepPrimAPI_MakeCone* class allows creating conical primitives. Like a cylinder, a cone is created either in  the default coordinate system or in a given coordinate system (gp_Ax2). There  are two constructions:
@@ -1828,7 +1828,7 @@ Standard_Real R1 = 30, R2 = 10, H = 15;
TopoDS_Solid S = BRepPrimAPI_MakeCone(R1,R2,H);
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image030.png, "Cone"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image030.png,"Cone",360}

@subsubsection occt_modalg_4_1_6 Sphere
*BRepPrimAPI_MakeSphere* class allows creating spherical primitives. Like a cylinder, a  sphere is created either in the default coordinate system or in a given  coordinate system *gp_Ax2*. There are four constructions:
@@ -1851,7 +1851,7 @@ TopoDS_Solid S4 = BRepPrimAPI_MakeSphere(R,a1,a2,ang);

Note that we could  equally well choose to create Shells instead of Solids.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image031.png, "Examples of  Spheres"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image031.png,"Examples of  Spheres",420}

@subsubsection occt_modalg_4_1_7 Torus
@@ -1862,7 +1862,7 @@ Note that we could  equally well choose to create Shells instead of Solids.
* Two radii and two angles --  builds a wraparound torus segment between two radial planes. The angles a1, a2 must follow  the relation 0 < a2 - a1 < 2*PI.
* Two radii and three angles -- a combination of two previous methods builds a portion of torus segment.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image032.png, "Examples of Tori"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image032.png,"Examples of Tori",420}

The following code  builds four toroidal shells from two radii and three angles.

@@ -1902,7 +1902,7 @@ Sweeps are the objects  you obtain by sweeping a **profile** along a **path**. T

It is forbidden to sweep  Solids and Composite Solids. A Compound generates a Compound with the sweep of  all its elements.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image033.png, "Generating a  sweep"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image033.png,"Generating a  sweep",360}

*BRepPrimAPI_MakeSweep class* is a deferred class used as a root of the the following sweep classes:
* *BRepPrimAPI_MakePrism* -- produces a linear sweep
@@ -1932,7 +1932,7 @@ TopoDS_Solid P3 =  BRepPrimAPI_MakePrism(F,direc,Standard_False);
// semi-infinite
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image034.png, "Finite, infinite, and semi-infinite prisms"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image034.png,"Finite, infinite, and semi-infinite prisms",420}

@subsubsection occt_modalg_4_2_3 Rotational Sweep
*BRepPrimAPI_MakeRevol* class allows creating a rotational sweep from a shape, an axis  (gp_Ax1), and an angle. The angle has a default value of 2*PI which means a  closed revolution.
@@ -1948,7 +1948,7 @@ TopoDS_Solid R1 = BRepPrimAPI_MakeRevol(F,axis);
TopoDS_Solid R2 = BRepPrimAPI_MakeRevol(F,axis,ang);
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image035.png, "Full and partial  rotation"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image035.png,"Full and partial  rotation",420}

@section occt_modalg_5 Boolean  Operations

@@ -1960,7 +1960,7 @@ Boolean operations are  used to create new shapes from the combinations of two s
| Common |  all points in S1 and S2 |
| Cut S1 by S2| all points in S1 and not in S2 |

-@figure{/user_guides/modeling_algos/images/modeling_algos_image036.png, "Boolean Operations"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image036.png,"Boolean Operations",420}

From the viewpoint of Topology these are topological operations followed by blending (putting fillets onto edges created after the topological operation).

@@ -2011,7 +2011,7 @@ TopoDS_Shape S = BRepAlgoAPI_Cut(A,B);

*BRepAlgoAPI_Section* performs the section, described as a *TopoDS_Compound* made of *TopoDS_Edge*.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image037.png, "Section  operation"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image037.png,"Section  operation",220}

~~~~~
TopoDS_Shape A = ...,  TopoDS_ShapeB = ...;
@@ -2039,7 +2039,7 @@ To produce a fillet, it is necessary to define the filleted shape at the constru

A fillet description contains an edge and a  radius. The edge must be shared by two faces. The fillet is automatically extended to all edges in a smooth continuity with the original  edge. It is not an error to add a fillet twice,  the last description holds.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image038.png, "Filleting two edges using radii r1 and  r2."}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image038.png,"Filleting two edges using radii r1 and  r2.",360}

In the following example  a filleted box with dimensions a,b,c and radius r is created.

@@ -2073,7 +2073,7 @@ TopoDS_Shape FilletedBox(const Standard_Real a,
}
~~~~~

@@ -2101,7 +2101,7 @@ void CSampleTopologicalOperationsDoc::OnEvolvedblend1()
}
~~~~~

@subsection occt_modalg_6_1_2 Chamfer

@@ -2116,7 +2116,7 @@ Add(dist,  E, F)
Add(d1,  d2, E, F) with d1 on the face F.
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image041.png, "Chamfer"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image041.png,"Chamfer",360}

@subsection occt_modalg_6_1_3 Fillet on a planar face

@@ -2239,7 +2239,7 @@ if (SolidMaker.IsDone())
Result = SolidMaker.Shape();
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image042.png, "Shelling"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image042.png,"Shelling",420}

Also it is possible to create solid between shell, offset shell. This functionality can be called using *BRepOffsetAPI_MakeThickSolid::MakeThickSolidBySimple* method. The code below shows usage example:

@@ -2300,7 +2300,7 @@ else {
}
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image043.png, "DraftAngle"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image043.png,"DraftAngle",420}

@subsection occt_modalg_7_4 Pipe  Constructor

@@ -2314,7 +2314,7 @@ TopoDS_Shape Profile = ...;
TopoDS_Shape Pipe =  BRepOffsetAPI_MakePipe(Spine,Profile);
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image044.png, "Example of a Pipe"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image044.png,"Example of a Pipe",320}

@subsection occt_modalg_7_5 Evolved Solid

@@ -2345,7 +2345,7 @@ BRepOffsetAPI_MakeEvolved(Spine,Profile);

Sewing allows creation of connected topology (shells and wires) from a set of separate topological elements (faces and edges). For example, Sewing can be used to create of shell from a compound of separate faces.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image045.png, "Shapes with partially shared edges"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image045.png,"Shapes with partially shared edges",320}

It is important to distinguish between sewing and other procedures, which modify the geometry, such as filling holes or gaps, gluing, bending curves and surfaces, etc.

@@ -2531,9 +2531,9 @@ if (thePrism.IsDone()) {
}
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image047.png, "Fusion with MakePrism"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image047.png,"Fusion with MakePrism",320}

-@figure{/user_guides/modeling_algos/images/modeling_algos_image048.png, "Creating a  prism between two faces with Perform(From, Until)"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image048.png,"Creating a prism between two faces with Perform()",320}

@subsubsection occt_modalg_9_1_2 Draft Prism

@@ -2586,7 +2586,7 @@ MKDP.Perform(200);
TopoDS_Shape res1 = MKDP.Shape();
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image049.png, "A tapered prism"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image049.png,"A tapered prism",320}

@subsubsection occt_modalg_9_1_3 Revolution

@@ -2696,7 +2696,7 @@ MKPipe.Perform();
TopoDS_Shape res1 = MKPipe.Shape();
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image050.png, "Pipe depression"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image050.png,"Pipe depression",240}

@subsection occt_modalg_9_2 Mechanical Features

@@ -2756,7 +2756,7 @@ aform.Perform();
TopoDS_Shape res = aform.Shape();
~~~~~

-@figure{/user_guides/modeling_algos/images/modeling_algos_image051.png, "Creating a rib"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image051.png,"Creating a rib",240}

@subsubsection occt_modalg_9_2_3 Gluer

@@ -2840,13 +2840,13 @@ However, there some restrictions in HLR use:
* Infinite faces or lines are not processed.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image052.png, "Sharp, smooth and sewn edges  in a simple screw shape"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image052.png,"Sharp, smooth and sewn edges  in a simple screw shape",320}

-@figure{/user_guides/modeling_algos/images/modeling_algos_image053.png, "Outline edges  and isoparameters in the same shape"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image053.png,"Outline edges  and isoparameters in the same shape",320}

-@figure{/user_guides/modeling_algos/images/modeling_algos_image054.png, "A simple screw shape seen with shading"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image054.png,"A simple screw shape seen with shading",320}

-@figure{/user_guides/modeling_algos/images/modeling_algos_image055.png, "An extraction  showing hidden sharp edges"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image055.png,"An extraction  showing hidden sharp edges",320}

The following services are related to Hidden Lines Removal :
@@ -3017,11 +3017,11 @@ At the first step all edges from a face are discretized according to the specifi

At the second step, the faces are tessellated. Linear deflection limits the distance between a curve and its tessellation, whereas angular deflection limits the angle between subsequent segments in a polyline.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image056.png, "Deflection parameters of BRepMesh_IncrementalMesh algorithm"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image056.png,"Deflection parameters of BRepMesh_IncrementalMesh algorithm",420}

Linear deflection limits the distance between triangles and the face interior.

-@figure{/user_guides/modeling_algos/images/modeling_algos_image057.png, "Linear deflection"}
+@figure{/user_guides/modeling_algos/images/modeling_algos_image057.png,"Linear deflection",420}

Note that if a given value of linear deflection is less than shape tolerance then the algorithm will skip this value and will take into account the shape tolerance.

@@ -3034,3 +3034,4 @@ However, an application that imports models created in other applications may no
Meshing covers a shape with a triangular mesh. Other than hidden line removal, you can use meshing to transfer the shape to another tool: a manufacturing tool, a shading algorithm, a finite element algorithm, or a collision algorithm.

You can obtain information on the shape by first exploring it. To access triangulation of a face in the shape later, use *BRepTool::Triangulation*. To access a polygon, which is the approximation of an edge of the face, use *BRepTool::PolygonOnTriangulation*.
+