diff options
Diffstat (limited to 'include/basegfx/range/b3drange.hxx')
-rw-r--r-- | include/basegfx/range/b3drange.hxx | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/include/basegfx/range/b3drange.hxx b/include/basegfx/range/b3drange.hxx index 351dea847b00..3ce69253cb32 100644 --- a/include/basegfx/range/b3drange.hxx +++ b/include/basegfx/range/b3drange.hxx @@ -102,6 +102,13 @@ namespace basegfx || maRangeZ != rRange.maRangeZ); } + bool equal(const B3DRange& rRange) const + { + return (maRangeX.equal(rRange.maRangeX) + && maRangeY.equal(rRange.maRangeY) + && maRangeZ.equal(rRange.maRangeZ)); + } + double getMinX() const { return maRangeX.getMinimum(); @@ -147,6 +154,24 @@ namespace basegfx return maRangeZ.getRange(); } + B3DPoint getMinimum() const + { + return B3DPoint( + maRangeX.getMinimum(), + maRangeY.getMinimum(), + maRangeZ.getMinimum() + ); + } + + B3DPoint getMaximum() const + { + return B3DPoint( + maRangeX.getMaximum(), + maRangeY.getMaximum(), + maRangeZ.getMaximum() + ); + } + B3DVector getRange() const { return B3DVector( @@ -165,6 +190,39 @@ namespace basegfx ); } + double getCenterX() const + { + return maRangeX.getCenter(); + } + + double getCenterY() const + { + return maRangeY.getCenter(); + } + + double getCenterZ() const + { + return maRangeZ.getCenter(); + } + + bool isInside(const B3DTuple& rTuple) const + { + return ( + maRangeX.isInside(rTuple.getX()) + && maRangeY.isInside(rTuple.getY()) + && maRangeZ.isInside(rTuple.getZ()) + ); + } + + bool isInside(const B3DRange& rRange) const + { + return ( + maRangeX.isInside(rRange.maRangeX) + && maRangeY.isInside(rRange.maRangeY) + && maRangeZ.isInside(rRange.maRangeZ) + ); + } + bool overlaps(const B3DRange& rRange) const { return ( @@ -188,6 +246,13 @@ namespace basegfx maRangeZ.expand(rRange.maRangeZ); } + void intersect(const B3DRange& rRange) + { + maRangeX.intersect(rRange.maRangeX); + maRangeY.intersect(rRange.maRangeY); + maRangeZ.intersect(rRange.maRangeZ); + } + void grow(double fValue) { maRangeX.grow(fValue); |