diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2008-08-19 23:05:12 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2008-08-19 23:05:12 +0000 |
commit | e3cb27fb9db2a4c14e3e60c148347444ce81c24e (patch) | |
tree | 00b034dc1e045d8e9dba03d22f15938affd496df /basegfx | |
parent | 655b97d5079dbb26692a5aac67111f06fa8616ec (diff) |
INTEGRATION: CWS aw033 (1.6.2); FILE MERGED
2008/05/27 14:08:46 aw 1.6.2.5: #i39532# changes DEV300 m12 resync corrections
2008/05/14 14:41:21 aw 1.6.2.4: RESYNC: (1.8-1.9); FILE MERGED
2006/09/26 14:51:59 aw 1.6.2.3: RESYNC: (1.7-1.8); FILE MERGED
2006/05/12 14:36:48 aw 1.6.2.2: RESYNC: (1.6-1.7); FILE MERGED
2006/05/12 11:36:08 aw 1.6.2.1: code changes for primitive support
Diffstat (limited to 'basegfx')
-rw-r--r-- | basegfx/source/range/b3drange.cxx | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/basegfx/source/range/b3drange.cxx b/basegfx/source/range/b3drange.cxx index 88baec1e4a6d..6de46e981509 100644 --- a/basegfx/source/range/b3drange.cxx +++ b/basegfx/source/range/b3drange.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: b3drange.cxx,v $ - * $Revision: 1.9 $ + * $Revision: 1.10 $ * * This file is part of OpenOffice.org. * @@ -33,6 +33,7 @@ #include <basegfx/range/b3drange.hxx> #include <basegfx/range/b3irange.hxx> #include <basegfx/numeric/ftools.hxx> +#include <basegfx/matrix/b3dhommatrix.hxx> namespace basegfx { @@ -53,6 +54,23 @@ namespace basegfx } } + void B3DRange::transform(const B3DHomMatrix& rMatrix) + { + if(!isEmpty() && !rMatrix.isIdentity()) + { + const B3DRange aSource(*this); + reset(); + expand(rMatrix * B3DPoint(aSource.getMinX(), aSource.getMinY(), aSource.getMinZ())); + expand(rMatrix * B3DPoint(aSource.getMaxX(), aSource.getMinY(), aSource.getMinZ())); + expand(rMatrix * B3DPoint(aSource.getMinX(), aSource.getMaxY(), aSource.getMinZ())); + expand(rMatrix * B3DPoint(aSource.getMaxX(), aSource.getMaxY(), aSource.getMinZ())); + expand(rMatrix * B3DPoint(aSource.getMinX(), aSource.getMinY(), aSource.getMaxZ())); + expand(rMatrix * B3DPoint(aSource.getMaxX(), aSource.getMinY(), aSource.getMaxZ())); + expand(rMatrix * B3DPoint(aSource.getMinX(), aSource.getMaxY(), aSource.getMaxZ())); + expand(rMatrix * B3DPoint(aSource.getMaxX(), aSource.getMaxY(), aSource.getMaxZ())); + } + } + B3IRange fround(const B3DRange& rRange ) { return rRange.isEmpty() ? |