Open CASCADE Technology 7.8.2.dev
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.
 
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()

◆ CopyMinMax()

◆ 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: