Open CASCADE Technology 7.8.2.dev
ShapeAnalysis_FreeBoundsProperties Class Reference

This class is intended to calculate shape free bounds properties. This class provides the following functionalities: More...

#include <ShapeAnalysis_FreeBoundsProperties.hxx>

Public Member Functions

 ShapeAnalysis_FreeBoundsProperties ()
 Empty constructor.
 
 ShapeAnalysis_FreeBoundsProperties (const TopoDS_Shape &shape, const Standard_Real tolerance, const Standard_Boolean splitclosed=Standard_False, const Standard_Boolean splitopen=Standard_False)
 Creates the object and calls corresponding Init. <shape> should be a compound of faces.
 
 ShapeAnalysis_FreeBoundsProperties (const TopoDS_Shape &shape, const Standard_Boolean splitclosed=Standard_False, const Standard_Boolean splitopen=Standard_False)
 Creates the object and calls corresponding Init. <shape> should be a compound of shells.
 
void Init (const TopoDS_Shape &shape, const Standard_Real tolerance, const Standard_Boolean splitclosed=Standard_False, const Standard_Boolean splitopen=Standard_False)
 Initializes the object with given parameters. <shape> should be a compound of faces.
 
void Init (const TopoDS_Shape &shape, const Standard_Boolean splitclosed=Standard_False, const Standard_Boolean splitopen=Standard_False)
 Initializes the object with given parameters. <shape> should be a compound of shells.
 
Standard_Boolean Perform ()
 Builds and analyzes free bounds of the shape. First calls ShapeAnalysis_FreeBounds for building free bounds. Then on each free bound computes its properties:
 
Standard_Boolean IsLoaded () const
 Returns True if shape is loaded.
 
TopoDS_Shape Shape () const
 Returns shape.
 
Standard_Real Tolerance () const
 Returns tolerance.
 
Standard_Integer NbFreeBounds () const
 Returns number of free bounds.
 
Standard_Integer NbClosedFreeBounds () const
 Returns number of closed free bounds.
 
Standard_Integer NbOpenFreeBounds () const
 Returns number of open free bounds.
 
Handle< ShapeAnalysis_HSequenceOfFreeBounds > ClosedFreeBounds () const
 Returns all closed free bounds.
 
Handle< ShapeAnalysis_HSequenceOfFreeBounds > OpenFreeBounds () const
 Returns all open free bounds.
 
Handle< ShapeAnalysis_FreeBoundDataClosedFreeBound (const Standard_Integer index) const
 Returns properties of closed free bound specified by its rank number.
 
Handle< ShapeAnalysis_FreeBoundDataOpenFreeBound (const Standard_Integer index) const
 Returns properties of open free bound specified by its rank number.
 
Standard_Boolean DispatchBounds ()
 
Standard_Boolean CheckContours (const Standard_Real prec=0.0)
 
Standard_Boolean CheckNotches (const Standard_Real prec=0.0)
 
Standard_Boolean CheckNotches (Handle< ShapeAnalysis_FreeBoundData > &fbData, const Standard_Real prec=0.0)
 
Standard_Boolean CheckNotches (const TopoDS_Wire &freebound, const Standard_Integer num, TopoDS_Wire &notch, Standard_Real &distMax, const Standard_Real prec=0.0)
 
Standard_Boolean FillProperties (Handle< ShapeAnalysis_FreeBoundData > &fbData, const Standard_Real prec=0.0)
 

Detailed Description

This class is intended to calculate shape free bounds properties. This class provides the following functionalities:

  • calculates area of the contour,
  • calculates perimeter of the contour,
  • calculates ratio of average length to average width of the contour,
  • estimates average width of contour,
  • finds the notches (narrow 'V'-like sub-contour) on the contour.

For getting free bounds this class uses ShapeAnalysis_FreeBounds class.

For description of parameters used for initializing this class refer to CDL of ShapeAnalysis_FreeBounds.

Properties of each contour are stored in the data structure ShapeAnalysis_FreeBoundData.

Constructor & Destructor Documentation

◆ ShapeAnalysis_FreeBoundsProperties() [1/3]

ShapeAnalysis_FreeBoundsProperties::ShapeAnalysis_FreeBoundsProperties ( )

Empty constructor.

◆ ShapeAnalysis_FreeBoundsProperties() [2/3]

ShapeAnalysis_FreeBoundsProperties::ShapeAnalysis_FreeBoundsProperties ( const TopoDS_Shape & shape,
const Standard_Real tolerance,
const Standard_Boolean splitclosed = Standard_False,
const Standard_Boolean splitopen = Standard_False )

Creates the object and calls corresponding Init. <shape> should be a compound of faces.

◆ ShapeAnalysis_FreeBoundsProperties() [3/3]

ShapeAnalysis_FreeBoundsProperties::ShapeAnalysis_FreeBoundsProperties ( const TopoDS_Shape & shape,
const Standard_Boolean splitclosed = Standard_False,
const Standard_Boolean splitopen = Standard_False )

Creates the object and calls corresponding Init. <shape> should be a compound of shells.

Member Function Documentation

◆ CheckContours()

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::CheckContours ( const Standard_Real prec = 0.0)

◆ CheckNotches() [1/3]

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::CheckNotches ( const Standard_Real prec = 0.0)

◆ CheckNotches() [2/3]

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::CheckNotches ( const TopoDS_Wire & freebound,
const Standard_Integer num,
TopoDS_Wire & notch,
Standard_Real & distMax,
const Standard_Real prec = 0.0 )

◆ CheckNotches() [3/3]

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::CheckNotches ( Handle< ShapeAnalysis_FreeBoundData > & fbData,
const Standard_Real prec = 0.0 )

◆ ClosedFreeBound()

Handle< ShapeAnalysis_FreeBoundData > ShapeAnalysis_FreeBoundsProperties::ClosedFreeBound ( const Standard_Integer index) const

Returns properties of closed free bound specified by its rank number.

◆ ClosedFreeBounds()

Handle< ShapeAnalysis_HSequenceOfFreeBounds > ShapeAnalysis_FreeBoundsProperties::ClosedFreeBounds ( ) const

Returns all closed free bounds.

◆ DispatchBounds()

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::DispatchBounds ( )

◆ FillProperties()

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::FillProperties ( Handle< ShapeAnalysis_FreeBoundData > & fbData,
const Standard_Real prec = 0.0 )

◆ Init() [1/2]

void ShapeAnalysis_FreeBoundsProperties::Init ( const TopoDS_Shape & shape,
const Standard_Boolean splitclosed = Standard_False,
const Standard_Boolean splitopen = Standard_False )

Initializes the object with given parameters. <shape> should be a compound of shells.

◆ Init() [2/2]

void ShapeAnalysis_FreeBoundsProperties::Init ( const TopoDS_Shape & shape,
const Standard_Real tolerance,
const Standard_Boolean splitclosed = Standard_False,
const Standard_Boolean splitopen = Standard_False )

Initializes the object with given parameters. <shape> should be a compound of faces.

◆ IsLoaded()

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::IsLoaded ( ) const

Returns True if shape is loaded.

◆ NbClosedFreeBounds()

Standard_Integer ShapeAnalysis_FreeBoundsProperties::NbClosedFreeBounds ( ) const

Returns number of closed free bounds.

◆ NbFreeBounds()

Standard_Integer ShapeAnalysis_FreeBoundsProperties::NbFreeBounds ( ) const

Returns number of free bounds.

◆ NbOpenFreeBounds()

Standard_Integer ShapeAnalysis_FreeBoundsProperties::NbOpenFreeBounds ( ) const

Returns number of open free bounds.

◆ OpenFreeBound()

Handle< ShapeAnalysis_FreeBoundData > ShapeAnalysis_FreeBoundsProperties::OpenFreeBound ( const Standard_Integer index) const

Returns properties of open free bound specified by its rank number.

◆ OpenFreeBounds()

Handle< ShapeAnalysis_HSequenceOfFreeBounds > ShapeAnalysis_FreeBoundsProperties::OpenFreeBounds ( ) const

Returns all open free bounds.

◆ Perform()

Standard_Boolean ShapeAnalysis_FreeBoundsProperties::Perform ( )

Builds and analyzes free bounds of the shape. First calls ShapeAnalysis_FreeBounds for building free bounds. Then on each free bound computes its properties:

  • area of the contour,
  • perimeter of the contour,
  • ratio of average length to average width of the contour,
  • average width of contour,
  • notches on the contour and for each notch
  • maximum width of the notch.

◆ Shape()

TopoDS_Shape ShapeAnalysis_FreeBoundsProperties::Shape ( ) const

Returns shape.

◆ Tolerance()

Standard_Real ShapeAnalysis_FreeBoundsProperties::Tolerance ( ) const

Returns tolerance.


The documentation for this class was generated from the following file: