DiscussionsIssue archiveOCCT:Foundation Classes

Archived issue #0013963

Some improvements in Bnd and gp classes

Open CASCADEOCCT:Foundation Classesclosed0 public notes

Search issues

Description

This IMP is extraction of improvements in Bnd, gp, and Precision packages
initially included in OCC13258, but not related to 64-bit issues.

The improvements are:

- Bnd_B2x/Bnd_B3x: added methods IsOut for circle/sphere and for other box with
transformed position

- gp_GTrsf: corrected method SetAffinity

- Precision: simplification of inline methods (Confusion() etc.)

Additional information

Documentation remark, added by Author 2006-11-22 16:47:47:

New features:
New methods added in Bnd_B*x classes.

Generic bounding box class Bnd_B2x (hence the classes Bnd_B2f and Bnd_B2d) now
provides two new intersections:
  - with another box transformed with a given transformation:
        IsOut (const Bnd_B2x& theOtherBox, const gp_Trsf2d& theTrsf);
  - with a circle:
        IsOut (const gp_XY& theCenter, const Standard_Real theRadius);

Generic bounding box class Bnd_B3x (hence the classes Bnd_B3f and Bnd_3d) now
provides two new intersections:
  - with another box transformed with a given transformation:
        IsOut (const Bnd_B3x& theOtherBox, const gp_Trsf& theTrsf);
  - with a sphere:
        IsOut (const gp_XY& theCenter, const Standard_Real theRadius);

All these methods return a boolean that is True when there is no intersection.

Improvements:
Method gp_GTrsf::SetAffinity() corrected to create a transformation
that now produces the correct result, according to the description in
gp_GTrsf.cdl: "Transformation of any point P into a point P' such that if H is
the orthogonal projection of P on the plane A2, the vectors HP and HP'
satisfy: HP' = Ratio * HP".

Public activity

No public notes

Participants are labeled by their role within this record.