PageRenderTime 34ms CodeModel.GetById 17ms app.highlight 12ms RepoModel.GetById 1ms app.codeStats 0ms

/src/contrib/geom-6.3.1.8/inc/GEOMAlgo_BuilderFace.hxx

https://gitlab.com/tylerluo/pythonocc
C++ Header | 127 lines | 43 code | 36 blank | 48 comment | 1 complexity | 28e7f6f045b7d807d5cd36eaff0a60b9 MD5 | raw file
  1//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
  2//
  3//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
  4//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
  5//
  6//  This library is free software; you can redistribute it and/or
  7//  modify it under the terms of the GNU Lesser General Public
  8//  License as published by the Free Software Foundation; either
  9//  version 2.1 of the License.
 10//
 11//  This library is distributed in the hope that it will be useful,
 12//  but WITHOUT ANY WARRANTY; without even the implied warranty of
 13//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14//  Lesser General Public License for more details.
 15//
 16//  You should have received a copy of the GNU Lesser General Public
 17//  License along with this library; if not, write to the Free Software
 18//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 19//
 20//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 21//
 22#ifndef _GEOMAlgo_BuilderFace_HeaderFile
 23#define _GEOMAlgo_BuilderFace_HeaderFile
 24
 25#ifndef _TopoDS_Face_HeaderFile
 26#include <TopoDS_Face.hxx>
 27#endif
 28#ifndef _GEOMAlgo_BuilderArea_HeaderFile
 29#include <GEOMAlgo_BuilderArea.hxx>
 30#endif
 31class TopoDS_Face;
 32
 33
 34#ifndef _Standard_HeaderFile
 35#include <Standard.hxx>
 36#endif
 37#ifndef _Standard_Macro_HeaderFile
 38#include <Standard_Macro.hxx>
 39#endif
 40
 41//! The algorithm to build faces from set of edges <br>
 42class GEOMAlgo_BuilderFace  : public GEOMAlgo_BuilderArea {
 43
 44public:
 45
 46    void* operator new(size_t,void* anAddress) 
 47      {
 48        return anAddress;
 49      }
 50    void* operator new(size_t size) 
 51      { 
 52        return Standard::Allocate(size); 
 53      }
 54    void  operator delete(void *anAddress) 
 55      { 
 56        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
 57      }
 58 // Methods PUBLIC
 59 // 
 60
 61//!  Empty  constructor <br>
 62Standard_EXPORT GEOMAlgo_BuilderFace();
 63Standard_EXPORT virtual ~GEOMAlgo_BuilderFace();
 64
 65//! Sets the face generatix <br>
 66Standard_EXPORT   void SetFace(const TopoDS_Face& theFace) ;
 67
 68//! Returns the face generatix <br>
 69Standard_EXPORT  const TopoDS_Face& Face() const;
 70
 71//!  Performs the algorithm <br>
 72Standard_EXPORT virtual  void Perform() ;
 73
 74
 75
 76
 77
 78protected:
 79
 80 // Methods PROTECTED
 81 // 
 82
 83//!  Collect the edges that <br>
 84//!           a) are internal <br>
 85//!           b) are the same and have different orientation <br>
 86Standard_EXPORT virtual  void PerformShapesToAvoid() ;
 87
 88//! Build draft wires <br>
 89//!          a)myLoops - draft wires that consist of <br>
 90//!                       boundary edges <br>
 91//!          b)myLoopsInternal - draft wires that contains <br>
 92//!                               inner edges <br>
 93Standard_EXPORT virtual  void PerformLoops() ;
 94
 95//! Build draft faces that contains boundary edges <br>
 96Standard_EXPORT virtual  void PerformAreas() ;
 97
 98//! Build finalized faces with internals <br>
 99Standard_EXPORT virtual  void PerformInternalShapes() ;
100
101
102 // Fields PROTECTED
103 //
104TopoDS_Face myFace;
105
106
107private: 
108
109 // Methods PRIVATE
110 // 
111
112
113 // Fields PRIVATE
114 //
115
116
117};
118
119
120
121
122
123// other Inline functions and methods (like "C++: function call" methods)
124//
125
126
127#endif