Open CASCADE Technology 7.8.2.dev
ShapeAnalysis Class Reference

This package is intended to analyze geometrical objects and topological shapes. Analysis domain includes both exploring geometrical and topological properties of shapes and checking their conformance to Open CASCADE requirements. The directions of analysis provided by tools of this package are: computing quantities of subshapes, computing parameters of points on curve and surface, computing surface singularities, checking edge and wire consistency, checking edges order in the wire, checking face bounds orientation, checking small faces, analyzing shape tolerances, analyzing of free bounds of the shape. More...

#include <ShapeAnalysis.hxx>

Static Public Member Functions

static TopoDS_Wire OuterWire (const TopoDS_Face &theFace)
 Returns positively oriented wire in the face. If there is no such wire - returns the last wire of the face.
 
static Standard_Real TotCross2D (const Handle< ShapeExtend_WireData > &sewd, const TopoDS_Face &aFace)
 Returns a total area of 2d wire.
 
static Standard_Real ContourArea (const TopoDS_Wire &theWire)
 Returns a total area of 3d wire.
 
static Standard_Boolean IsOuterBound (const TopoDS_Face &face)
 Returns True if <F> has outer bound.
 
static Standard_Real AdjustByPeriod (const Standard_Real Val, const Standard_Real ToVal, const Standard_Real Period)
 Returns a shift required to move point <Val> to the range [ToVal-Period/2,ToVal+Period/2]. This shift will be the divisible by Period. Intended for adjusting parameters on periodic surfaces.
 
static Standard_Real AdjustToPeriod (const Standard_Real Val, const Standard_Real ValMin, const Standard_Real ValMax)
 Returns a shift required to move point <Val> to the range [ValMin,ValMax]. This shift will be the divisible by Period with Period = ValMax - ValMin. Intended for adjusting parameters on periodic surfaces.
 
static void FindBounds (const TopoDS_Shape &shape, TopoDS_Vertex &V1, TopoDS_Vertex &V2)
 Finds the start and end vertices of the shape Shape can be of the following type: vertex: V1 and V2 are the same and equal to <shape>, edge : V1 is start and V2 is end vertex (see ShapeAnalysis_Edge methods FirstVertex and LastVertex), wire : V1 is start vertex of the first edge, V2 is end vertex of the last edge (also see ShapeAnalysis_Edge). If wire contains no edges V1 and V2 are nullified If none of the above V1 and V2 are nullified.
 
static void GetFaceUVBounds (const TopoDS_Face &F, Standard_Real &Umin, Standard_Real &Umax, Standard_Real &Vmin, Standard_Real &Vmax)
 Computes exact UV bounds of all wires on the face.
 

Detailed Description

This package is intended to analyze geometrical objects and topological shapes. Analysis domain includes both exploring geometrical and topological properties of shapes and checking their conformance to Open CASCADE requirements. The directions of analysis provided by tools of this package are: computing quantities of subshapes, computing parameters of points on curve and surface, computing surface singularities, checking edge and wire consistency, checking edges order in the wire, checking face bounds orientation, checking small faces, analyzing shape tolerances, analyzing of free bounds of the shape.

Member Function Documentation

◆ AdjustByPeriod()

static Standard_Real ShapeAnalysis::AdjustByPeriod ( const Standard_Real Val,
const Standard_Real ToVal,
const Standard_Real Period )
static

Returns a shift required to move point <Val> to the range [ToVal-Period/2,ToVal+Period/2]. This shift will be the divisible by Period. Intended for adjusting parameters on periodic surfaces.

◆ AdjustToPeriod()

static Standard_Real ShapeAnalysis::AdjustToPeriod ( const Standard_Real Val,
const Standard_Real ValMin,
const Standard_Real ValMax )
static

Returns a shift required to move point <Val> to the range [ValMin,ValMax]. This shift will be the divisible by Period with Period = ValMax - ValMin. Intended for adjusting parameters on periodic surfaces.

◆ ContourArea()

static Standard_Real ShapeAnalysis::ContourArea ( const TopoDS_Wire & theWire)
static

Returns a total area of 3d wire.

◆ FindBounds()

static void ShapeAnalysis::FindBounds ( const TopoDS_Shape & shape,
TopoDS_Vertex & V1,
TopoDS_Vertex & V2 )
static

Finds the start and end vertices of the shape Shape can be of the following type: vertex: V1 and V2 are the same and equal to <shape>, edge : V1 is start and V2 is end vertex (see ShapeAnalysis_Edge methods FirstVertex and LastVertex), wire : V1 is start vertex of the first edge, V2 is end vertex of the last edge (also see ShapeAnalysis_Edge). If wire contains no edges V1 and V2 are nullified If none of the above V1 and V2 are nullified.

◆ GetFaceUVBounds()

static void ShapeAnalysis::GetFaceUVBounds ( const TopoDS_Face & F,
Standard_Real & Umin,
Standard_Real & Umax,
Standard_Real & Vmin,
Standard_Real & Vmax )
static

Computes exact UV bounds of all wires on the face.

◆ IsOuterBound()

static Standard_Boolean ShapeAnalysis::IsOuterBound ( const TopoDS_Face & face)
static

Returns True if <F> has outer bound.

◆ OuterWire()

static TopoDS_Wire ShapeAnalysis::OuterWire ( const TopoDS_Face & theFace)
static

Returns positively oriented wire in the face. If there is no such wire - returns the last wire of the face.

◆ TotCross2D()

static Standard_Real ShapeAnalysis::TotCross2D ( const Handle< ShapeExtend_WireData > & sewd,
const TopoDS_Face & aFace )
static

Returns a total area of 2d wire.


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