summaryrefslogtreecommitdiff
path: root/include/basegfx/range/b3drange.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/basegfx/range/b3drange.hxx')
-rw-r--r--include/basegfx/range/b3drange.hxx65
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);