File: BRepFeat_MakeLinearForm.hxx

package info (click to toggle)
oce 0.18.2-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 301,460 kB
  • sloc: cpp: 1,190,610; ansic: 67,225; sh: 11,667; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 344; xml: 292; perl: 37
file content (135 lines) | stat: -rw-r--r-- 4,652 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BRepFeat_MakeLinearForm_HeaderFile
#define _BRepFeat_MakeLinearForm_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Handle_Geom_Curve.hxx>
#include <gp_Vec.hxx>
#include <Handle_Geom_Plane.hxx>
#include <Standard_Real.hxx>
#include <TopTools_DataMapOfShapeListOfShape.hxx>
#include <TopTools_ListOfShape.hxx>
#include <BRepFeat_RibSlot.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
class Geom_Curve;
class Geom_Plane;
class Standard_ConstructionError;
class TopoDS_Shape;
class TopoDS_Wire;
class gp_Vec;
class TopoDS_Edge;
class TopoDS_Face;
class TopTools_ListOfShape;
class gp_Pnt;


//! Builds a rib or a groove along a developable, planar surface.
//! The semantics of mechanical features is built around
//! giving thickness to a contour. This thickness can either
//! be symmetrical - on one side of the contour - or
//! dissymmetrical - on both sides. As in the semantics of
//! form features, the thickness is defined by construction of
//! shapes in specific contexts.
//! The development contexts differ, however, in case of
//! mechanical features. Here they include extrusion:
//! -   to a limiting face of the basis shape
//! -   to or from a limiting plane
//! -   to a height.
class BRepFeat_MakeLinearForm  : public BRepFeat_RibSlot
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! initializes the linear form class
    BRepFeat_MakeLinearForm();
  
  //! contour W, a shape Sbase and a
  //! plane P are initialized to serve as the basic
  //! elements in the construction of the rib or groove.
  //! Direction and Direction1 give The vectors for
  //! defining the direction(s) in which thickness will be built up.
  //! Fuse offers a choice between:
  //! -   removing matter with a Boolean cut using the
  //! setting 0 in case of the groove
  //! -   adding matter with Boolean fusion using the
  //! setting 1 in case of the rib.
    BRepFeat_MakeLinearForm(const TopoDS_Shape& Sbase, const TopoDS_Wire& W, const Handle(Geom_Plane)& P, const gp_Vec& Direction, const gp_Vec& Direction1, const Standard_Integer Fuse, const Standard_Boolean Modify);
  
  //! Initializes this construction algorithm.
  //! A contour W, a shape Sbase and a plane P are
  //! initialized to serve as the basic elements in the
  //! construction of the rib or groove. The vectors for
  //! defining the direction(s) in which thickness will be built
  //! up are given by Direction and Direction1.
  //! Fuse offers a choice between:
  //! -   removing matter with a Boolean cut using the setting
  //! 0 in case of the groove
  //! -   adding matter with Boolean fusion using the setting 1
  //! in case of the rib.
  Standard_EXPORT   void Init (const TopoDS_Shape& Sbase, const TopoDS_Wire& W, const Handle(Geom_Plane)& P, const gp_Vec& Direction, const gp_Vec& Direction1, const Standard_Integer Fuse, const Standard_Boolean Modify) ;
  
  //! Indicates that the edge <E> will slide on the face
  //! <OnFace>.
  //! Raises ConstructionError if the  face does not belong to the
  //! basis shape, or the edge to the prismed shape.
  Standard_EXPORT   void Add (const TopoDS_Edge& E, const TopoDS_Face& OnFace) ;
  
  //! Performs a prism from the wire to the plane along the
  //! basis shape Sbase. Reconstructs the feature topologically.
  Standard_EXPORT   void Perform() ;
  
  //! Limits construction of the linear form feature by using
  //! one of the following three semantics:
  //! -   from a limiting plane
  //! -   to a limiting plane
  //! -   from one limiting plane to another.
  //! The setting is provided by a flag, flag, which can be set
  //! to from and/or until. The third semantic possibility above
  //! is selected by showing both from and until at the same time.
  Standard_EXPORT   void TransformShapeFU (const Standard_Integer flag) ;
  
  Standard_EXPORT   Standard_Boolean Propagate (TopTools_ListOfShape& L, const TopoDS_Face& F, const gp_Pnt& FPoint, const gp_Pnt& LPoint, Standard_Boolean& falseside) ;




protected:





private:



  Handle(Geom_Curve) myCrv;
  gp_Vec myDir;
  gp_Vec myDir1;
  Handle(Geom_Plane) myPln;
  Standard_Real myBnd;
  TopTools_DataMapOfShapeListOfShape mySlface;
  TopTools_ListOfShape myListOfEdges;
  Standard_Real myTol;


};


#include <BRepFeat_MakeLinearForm.lxx>





#endif // _BRepFeat_MakeLinearForm_HeaderFile