0027232: Configuration - fix mblen missing building issue on Android
[occt.git] / src / BRepFill / BRepFill.hxx
CommitLineData
42cf5bc1 1// Created on: 1994-03-03
2// Created by: Joelle CHAUVET
3// Copyright (c) 1994-1999 Matra Datavision
4// Copyright (c) 1999-2014 OPEN CASCADE SAS
5//
6// This file is part of Open CASCADE Technology software library.
7//
8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
13//
14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
16
17#ifndef _BRepFill_HeaderFile
18#define _BRepFill_HeaderFile
19
20#include <Standard.hxx>
21#include <Standard_DefineAlloc.hxx>
22#include <Standard_Handle.hxx>
23
24#include <Standard_Boolean.hxx>
25#include <Standard_Real.hxx>
26#include <TColStd_Array1OfReal.hxx>
27class TopoDS_Face;
28class TopoDS_Edge;
29class TopoDS_Shell;
30class TopoDS_Wire;
31class TopoDS_Shape;
32class gp_Ax3;
33class gp_Pnt;
34class gp_Vec;
35class BRepFill_Generator;
36class BRepFill_SectionLaw;
37class BRepFill_ShapeLaw;
38class BRepFill_NSections;
39class BRepFill_Draft;
40class BRepFill_LocationLaw;
41class BRepFill_DraftLaw;
42class BRepFill_Edge3DLaw;
43class BRepFill_EdgeOnSurfLaw;
44class BRepFill_ACRLaw;
45class BRepFill_Pipe;
46class BRepFill_PipeShell;
47class BRepFill_Evolved;
48class BRepFill_Sweep;
49class BRepFill_CompatibleWires;
50class BRepFill_OffsetWire;
51class BRepFill_OffsetAncestors;
52class BRepFill_ApproxSeewing;
53class BRepFill_ComputeCLine;
54class BRepFill_TrimSurfaceTool;
55class BRepFill_TrimEdgeTool;
56class BRepFill_SectionPlacement;
57class BRepFill_Section;
58class BRepFill_TrimShellCorner;
59class BRepFill_CurveConstraint;
60class BRepFill_Filling;
61class BRepFill_FaceAndOrder;
62class BRepFill_EdgeFaceAndOrder;
63
64
65
66class BRepFill
67{
68public:
69
70 DEFINE_STANDARD_ALLOC
71
72
73 //! Computes a ruled surface between two edges.
74 Standard_EXPORT static TopoDS_Face Face (const TopoDS_Edge& Edge1, const TopoDS_Edge& Edge2);
75
76 //! Computes a ruled surface between two wires.
77 //! The wires must have the same number of edges.
78 Standard_EXPORT static TopoDS_Shell Shell (const TopoDS_Wire& Wire1, const TopoDS_Wire& Wire2);
79
80 //! Computes <AxeProf> as Follow. <Location> is
81 //! the Position of the nearest vertex V of <Profile>
82 //! to <Spine>.<XDirection> is confused with the tangent
83 //! to <Spine> at the projected point of V on the Spine.
84 //! <Direction> is normal to <Spine>.
85 //! <Spine> is a plane wire or a plane face.
86 Standard_EXPORT static void Axe (const TopoDS_Shape& Spine, const TopoDS_Wire& Profile, gp_Ax3& AxeProf, Standard_Boolean& ProfOnSpine, const Standard_Real Tol);
87
88 //! Compute ACR on a wire
89 Standard_EXPORT static void ComputeACR (const TopoDS_Wire& wire, TColStd_Array1OfReal& ACR);
90
91 //! Insert ACR on a wire
92 Standard_EXPORT static TopoDS_Wire InsertACR (const TopoDS_Wire& wire, const TColStd_Array1OfReal& ACRcuts, const Standard_Real prec);
93
94
95
96
97protected:
98
99
100
101
102
103private:
104
105
106 //! Computes origins and orientation on a closed wire
107 Standard_EXPORT static void SearchOrigin (TopoDS_Wire& W, const gp_Pnt& P, const gp_Vec& V, const Standard_Real Tol);
108
109
110
111friend class BRepFill_Generator;
112friend class BRepFill_SectionLaw;
113friend class BRepFill_ShapeLaw;
114friend class BRepFill_NSections;
115friend class BRepFill_Draft;
116friend class BRepFill_LocationLaw;
117friend class BRepFill_DraftLaw;
118friend class BRepFill_Edge3DLaw;
119friend class BRepFill_EdgeOnSurfLaw;
120friend class BRepFill_ACRLaw;
121friend class BRepFill_Pipe;
122friend class BRepFill_PipeShell;
123friend class BRepFill_Evolved;
124friend class BRepFill_Sweep;
125friend class BRepFill_CompatibleWires;
126friend class BRepFill_OffsetWire;
127friend class BRepFill_OffsetAncestors;
128friend class BRepFill_ApproxSeewing;
129friend class BRepFill_ComputeCLine;
130friend class BRepFill_TrimSurfaceTool;
131friend class BRepFill_TrimEdgeTool;
132friend class BRepFill_SectionPlacement;
133friend class BRepFill_Section;
134friend class BRepFill_TrimShellCorner;
135friend class BRepFill_CurveConstraint;
136friend class BRepFill_Filling;
137friend class BRepFill_FaceAndOrder;
138friend class BRepFill_EdgeFaceAndOrder;
139
140};
141
142
143
144
145
146
147
148#endif // _BRepFill_HeaderFile