1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-16 10:54:53 +03:00
occt/src/HLRBRep/HLRBRep_FaceData.hxx
kgv dde6883382 0027772: Foundation Classes - define Standard_Boolean using C++ type "bool" instead of "unsigned int"
Code has been updated to remove no-op casts and implicit casts to Standard_Boolean.

Places of inproper use of Standard_Boolean instead of Standard_Integer
have been corrected:
- Bnd_Box, Bnd_Box2d
  Bit flags are now defined as private enum
- HLRAlgo_BiPoint, HLRAlgo_EdgesBlock, HLRBRep_EdgeData, HLRBRep_FaceData
  Bit flags are now defined as enum
- HLRAlgo_EdgeStatus, HLRBRep_BiPnt2D, HLRBRep_BiPoint
  Bit flags are now defined as bool fields
- HLRAlgo_PolyData
  Bit flags are now defined as Standard_Integer
- OSD_DirectoryIterator, OSD_FileIterator
  Boolean flag is now defined as Standard_Boolean
- ShapeAnalysis_Surface::SurfaceNewton()
  now returns Standard_Integer (values 0, 1 or 3)
- ChFi2d_FilletAlgo
  now uses TColStd_SequenceOfBoolean instead of TColStd_SequenceOfInteger
  for storing boolean flags

Method IFSelect_Dispatch::PacketsCount() has been dropped from interface.

ShapeFix_Solid::Status() has been fixed to decode requested status
instead of returning integer value.

TopOpeBRepBuild_Builder1 now defines map storing Standard_Boolean values
instead of Standard_Integer.

Persistence for Standard_Boolean type has been corrected
to keep backward compatibility:
- BinMDataStd, BinTools, FSD_BinaryFile

Broken Draw Harness commands vdisplaymode and verasemode have been removed.

BRepMesh_FastDiscretFace::initDataStructure() - workaround old gcc limitations

BRepMesh_IncrementalMesh::clear() - avoid ambiguity
2016-08-26 10:16:17 +03:00

157 lines
4.0 KiB
C++

// Created on: 1997-04-17
// Created by: Christophe MARION
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _HLRBRep_FaceData_HeaderFile
#define _HLRBRep_FaceData_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <HLRBRep_Surface.hxx>
#include <Standard_Real.hxx>
#include <Standard_ShortReal.hxx>
#include <TopAbs_Orientation.hxx>
#include <Standard_Integer.hxx>
class HLRAlgo_WiresBlock;
class TopoDS_Face;
class HLRBRep_Surface;
class HLRBRep_FaceData
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT HLRBRep_FaceData();
//! <Or> is the orientation of the face. <Cl> is true
//! if the face belongs to a closed volume. <NW> is
//! the number of wires ( or block of edges ) of the
//! face.
Standard_EXPORT void Set (const TopoDS_Face& FG, const TopAbs_Orientation Or, const Standard_Boolean Cl, const Standard_Integer NW);
//! Set <NE> the number of edges of the wire number
//! <WI>.
Standard_EXPORT void SetWire (const Standard_Integer WI, const Standard_Integer NE);
//! Set the edge number <EWI> of the wire <WI>.
Standard_EXPORT void SetWEdge (const Standard_Integer WI, const Standard_Integer EWI, const Standard_Integer EI, const TopAbs_Orientation Or, const Standard_Boolean OutL, const Standard_Boolean Inte, const Standard_Boolean Dble, const Standard_Boolean IsoL);
Standard_Boolean Selected() const;
void Selected (const Standard_Boolean B);
Standard_Boolean Back() const;
void Back (const Standard_Boolean B);
Standard_Boolean Side() const;
void Side (const Standard_Boolean B);
Standard_Boolean Closed() const;
void Closed (const Standard_Boolean B);
Standard_Boolean Hiding() const;
void Hiding (const Standard_Boolean B);
Standard_Boolean Simple() const;
void Simple (const Standard_Boolean B);
Standard_Boolean Cut() const;
void Cut (const Standard_Boolean B);
Standard_Boolean WithOutL() const;
void WithOutL (const Standard_Boolean B);
Standard_Boolean Plane() const;
void Plane (const Standard_Boolean B);
Standard_Boolean Cylinder() const;
void Cylinder (const Standard_Boolean B);
Standard_Boolean Cone() const;
void Cone (const Standard_Boolean B);
Standard_Boolean Sphere() const;
void Sphere (const Standard_Boolean B);
Standard_Boolean Torus() const;
void Torus (const Standard_Boolean B);
Standard_Real Size() const;
void Size (const Standard_Real S);
TopAbs_Orientation Orientation() const;
void Orientation (const TopAbs_Orientation O);
Handle(HLRAlgo_WiresBlock)& Wires();
HLRBRep_Surface& Geometry();
Standard_ShortReal Tolerance() const;
protected:
enum EMaskFlags
{
EMaskOrient = 15,
FMaskSelected = 16,
FMaskBack = 32,
FMaskSide = 64,
FMaskClosed = 128,
FMaskHiding = 256,
FMaskSimple = 512,
FMaskCut = 1024,
FMaskWithOutL = 2048,
FMaskPlane = 4096,
FMaskCylinder = 8192,
FMaskCone = 16384,
FMaskSphere = 32768,
FMaskTorus = 65536
};
private:
Standard_Integer myFlags;
Handle(HLRAlgo_WiresBlock) myWires;
HLRBRep_Surface myGeometry;
Standard_Real mySize;
Standard_ShortReal myTolerance;
};
#include <HLRBRep_FaceData.lxx>
#endif // _HLRBRep_FaceData_HeaderFile