Open CASCADE Technology  7.7.0.dev
Static Public Member Functions

HLRAlgo Class Reference

In order to have the precision required in industrial design, drawings need to offer the possibility of removing lines, which are hidden in a given projection. To do this, the Hidden Line Removal component provides two algorithms: HLRBRep_Algo and HLRBRep_PolyAlgo. These algorithms remove or indicate lines hidden by surfaces. For a given projection, they calculate a set of lines characteristic of the object being represented. They are also used in conjunction with extraction utilities, which reconstruct a new, simplified shape from a selection of calculation results. This new shape is made up of edges, which represent the lines of the visualized shape in a plane. This plane is the projection plane. HLRBRep_Algo takes into account the shape itself. HLRBRep_PolyAlgo works with a polyhedral simplification of the shape. When you use HLRBRep_Algo, you obtain an exact result, whereas, when you use HLRBRep_PolyAlgo, you reduce computation time but obtain polygonal segments. More...

#include <HLRAlgo.hxx>

Static Public Member Functions

static void UpdateMinMax (const Standard_Real x, const Standard_Real y, const Standard_Real z, Standard_Real Min[16], Standard_Real Max[16])
 Iterator on the visible or hidden parts of an EdgeStatus. More...
 
static void EnlargeMinMax (const Standard_Real tol, Standard_Real Min[16], Standard_Real Max[16])
 
static void InitMinMax (const Standard_Real Big, Standard_Real Min[16], Standard_Real Max[16])
 
static void EncodeMinMax (HLRAlgo_EdgesBlock::MinMaxIndices &Min, HLRAlgo_EdgesBlock::MinMaxIndices &Max, HLRAlgo_EdgesBlock::MinMaxIndices &MinMax)
 
static Standard_Real SizeBox (HLRAlgo_EdgesBlock::MinMaxIndices &Min, HLRAlgo_EdgesBlock::MinMaxIndices &Max)
 
static void DecodeMinMax (const HLRAlgo_EdgesBlock::MinMaxIndices &MinMax, HLRAlgo_EdgesBlock::MinMaxIndices &Min, HLRAlgo_EdgesBlock::MinMaxIndices &Max)
 
static void CopyMinMax (HLRAlgo_EdgesBlock::MinMaxIndices &IMin, HLRAlgo_EdgesBlock::MinMaxIndices &IMax, HLRAlgo_EdgesBlock::MinMaxIndices &OMin, HLRAlgo_EdgesBlock::MinMaxIndices &OMax)
 
static void AddMinMax (HLRAlgo_EdgesBlock::MinMaxIndices &IMin, HLRAlgo_EdgesBlock::MinMaxIndices &IMax, HLRAlgo_EdgesBlock::MinMaxIndices &OMin, HLRAlgo_EdgesBlock::MinMaxIndices &OMax)
 

Detailed Description

In order to have the precision required in industrial design, drawings need to offer the possibility of removing lines, which are hidden in a given projection. To do this, the Hidden Line Removal component provides two algorithms: HLRBRep_Algo and HLRBRep_PolyAlgo. These algorithms remove or indicate lines hidden by surfaces. For a given projection, they calculate a set of lines characteristic of the object being represented. They are also used in conjunction with extraction utilities, which reconstruct a new, simplified shape from a selection of calculation results. This new shape is made up of edges, which represent the lines of the visualized shape in a plane. This plane is the projection plane. HLRBRep_Algo takes into account the shape itself. HLRBRep_PolyAlgo works with a polyhedral simplification of the shape. When you use HLRBRep_Algo, you obtain an exact result, whereas, when you use HLRBRep_PolyAlgo, you reduce computation time but obtain polygonal segments.

Member Function Documentation

◆ AddMinMax()

static void HLRAlgo::AddMinMax ( HLRAlgo_EdgesBlock::MinMaxIndices IMin,
HLRAlgo_EdgesBlock::MinMaxIndices IMax,
HLRAlgo_EdgesBlock::MinMaxIndices OMin,
HLRAlgo_EdgesBlock::MinMaxIndices OMax 
)
static

◆ CopyMinMax()

static void HLRAlgo::CopyMinMax ( HLRAlgo_EdgesBlock::MinMaxIndices IMin,
HLRAlgo_EdgesBlock::MinMaxIndices IMax,
HLRAlgo_EdgesBlock::MinMaxIndices OMin,
HLRAlgo_EdgesBlock::MinMaxIndices OMax 
)
inlinestatic

◆ DecodeMinMax()

static void HLRAlgo::DecodeMinMax ( const HLRAlgo_EdgesBlock::MinMaxIndices MinMax,
HLRAlgo_EdgesBlock::MinMaxIndices Min,
HLRAlgo_EdgesBlock::MinMaxIndices Max 
)
static

◆ EncodeMinMax()

static void HLRAlgo::EncodeMinMax ( HLRAlgo_EdgesBlock::MinMaxIndices Min,
HLRAlgo_EdgesBlock::MinMaxIndices Max,
HLRAlgo_EdgesBlock::MinMaxIndices MinMax 
)
static

◆ EnlargeMinMax()

static void HLRAlgo::EnlargeMinMax ( const Standard_Real  tol,
Standard_Real  Min[16],
Standard_Real  Max[16] 
)
static

◆ InitMinMax()

static void HLRAlgo::InitMinMax ( const Standard_Real  Big,
Standard_Real  Min[16],
Standard_Real  Max[16] 
)
static

◆ SizeBox()

static Standard_Real HLRAlgo::SizeBox ( HLRAlgo_EdgesBlock::MinMaxIndices Min,
HLRAlgo_EdgesBlock::MinMaxIndices Max 
)
static

◆ UpdateMinMax()

static void HLRAlgo::UpdateMinMax ( const Standard_Real  x,
const Standard_Real  y,
const Standard_Real  z,
Standard_Real  Min[16],
Standard_Real  Max[16] 
)
static

Iterator on the visible or hidden parts of an EdgeStatus.


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