Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Hatch_Hatcher Class Reference

The Hatcher is an algorithm to compute cross
hatchings in a 2d plane. It is mainly dedicated to
display purpose.

Computing cross hatchings is a 3 steps process :

More...

#include <Hatch_Hatcher.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC Hatch_Hatcher (const Standard_Real Tol, const Standard_Boolean Oriented=Standard_True)
 Returns a empty hatcher. <Tol> is the tolerance
for intersections.

void Tolerance (const Standard_Real Tol)
Standard_Real Tolerance () const
void AddLine (const gp_Lin2d &L, const Hatch_LineForm T=Hatch_ANYLINE)
 Add a line <L> to be trimmed. <T> the type is
only kept from information. It is not used in the
computation.


void AddLine (const gp_Dir2d &D, const Standard_Real Dist)
 Add an infinite line on direction <D> at distance
<Dist> from the origin to be trimmed. <Dist> may
be negative.

If O is the origin of the 2D plane, and V the
vector perpendicular to D (in the direct direction).

A point P is on the line if :
OP dot V = Dist
The parameter of P on the line is
OP dot D


void AddXLine (const Standard_Real X)
 Add an infinite line parallel to the Y-axis at
abciss <X>.


void AddYLine (const Standard_Real Y)
 Add an infinite line parallel to the X-axis at
ordinate <Y>.


void Trim (const gp_Lin2d &L, const Standard_Integer Index=0)
 Trims the lines at intersections with <L>.


void Trim (const gp_Lin2d &L, const Standard_Real Start, const Standard_Real End, const Standard_Integer Index=0)
 Trims the lines at intersections with <L> in the
parameter range <Start>, <End>


void Trim (const gp_Pnt2d &P1, const gp_Pnt2d &P2, const Standard_Integer Index=0)
 Trims the line at intersection with the oriented
segment P1,P2.


Standard_Integer NbIntervals () const
 Returns the total number of intervals on all the
lines.

Standard_Integer NbLines () const
 Returns the number of lines.

const gp_Lin2dLine (const Standard_Integer I) const
 Returns the line of index .

Hatch_LineForm LineForm (const Standard_Integer I) const
 Returns the type of the line of index .

Standard_Boolean IsXLine (const Standard_Integer I) const
 Returns True if the line of index has a
constant X value.

Standard_Boolean IsYLine (const Standard_Integer I) const
 Returns True if the line of index has a
constant Y value.

Standard_Real Coordinate (const Standard_Integer I) const
 Returns the X or Y coordinate of the line of index
if it is a X or a Y line.

Standard_Integer NbIntervals (const Standard_Integer I) const
 Returns the number of intervals on line of index .

Standard_Real Start (const Standard_Integer I, const Standard_Integer J) const
 Returns the first parameter of interval <J> on
line .

void StartIndex (const Standard_Integer I, const Standard_Integer J, Standard_Integer &Index, Standard_Real &Par2) const
 Returns the first Index and Par2 of interval <J> on
line .

Standard_Real End (const Standard_Integer I, const Standard_Integer J) const
 Returns the last parameter of interval <J> on
line .

void EndIndex (const Standard_Integer I, const Standard_Integer J, Standard_Integer &Index, Standard_Real &Par2) const
 Returns the last Index and Par2 of interval <J> on
line .


Detailed Description

     1.  The users stores in the   Hatcher a set  of 2d <br>
     lines to   be  trimmed. Methods   in  the  "Lines" <br>
     category. <br>


  1. The user trims the lines with a boundary. The
    inside of a boundary is on the left side. Methods
    in the "Trimming" category.

  2. The user reads back the trimmed lines. Methods
    in the "Results" category.

    The result is a set of parameter intervals on the
    line. The first parameter of an Interval may be
    RealFirst() and the last may be RealLast().

    A line can be a line parallel to the axis (X or Y
    line or a 2D line.

    The Hatcher has two modes :


Constructor & Destructor Documentation


Member Function Documentation


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