2-dimensional rectangle. More...
#include <kanzi/core/legacy/util/math/kzc_vector2.hpp>#include <kanzi/core/legacy/wrappers/kzs_math.hpp>#include <kanzi/core/legacy/kzs_types.hpp>Classes | |
| struct | KzcRectangle |
| Structure for rectangle. More... | |
Functions | |
| KZ_INLINE struct KzcRectangle | kzcRectangle (kzFloat x, kzFloat y, kzFloat width, kzFloat height) |
| Creates a rectangle from a point (x,y) and size (width,height). More... | |
| KZ_INLINE struct KzcRectangle | kzcRectangleFromPoints (kzFloat x1, kzFloat y1, kzFloat x2, kzFloat y2) |
| Creates a rectangle from two points defining arbitrary opposite corners. More... | |
| KZ_INLINE struct KzcRectangle | kzcRectangleFromVectors (const struct KzcVector2 *point1, const struct KzcVector2 *point2) |
| Creates a rectangle from two points defining arbitrary opposite corners. More... | |
| KZ_INLINE struct KzcRectangle | kzcCreateAxisAlignedBoundingRectangle (const struct KzcVector2 *point1, const struct KzcVector2 *point2, const struct KzcVector2 *point3, const struct KzcVector2 *point4) |
| Creates a bounding rectangle from four points describing arbitrary corner points. More... | |
| KZ_INLINE struct KzcRectangle | kzcRectangleFromVectorAndSize (const struct KzcVector2 *point, const struct KzcVector2 *size) |
| Creates a rectangle from a point vector and size vector. More... | |
| KZ_INLINE kzBool | kzcRectangleIsEmpty (const struct KzcRectangle *rectangle) |
| Checks if the rectangle is empty. More... | |
| KZ_INLINE kzBool | kzcRectangleContainsPoint (const struct KzcRectangle *rectangle, const struct KzcVector2 *point) |
| Checks if the given point is inside the given rectangle. More... | |
| KZ_INLINE kzBool | kzcRectangleContainsRectangle (const struct KzcRectangle *rectangle, const struct KzcRectangle *otherRectangle) |
| Checks if the given rectangle contains the given other rectangle completely. More... | |
| KZ_INLINE kzBool | kzcRectangleOverlaps (const struct KzcRectangle *rectangle1, const struct KzcRectangle *rectangle2) |
| Checks if the two given rectangles overlap at least partially. More... | |
| bool | operator== (KzcRectangle rectangle1, KzcRectangle rectangle2) |
| Test if rectangles are equal. More... | |
| KZ_INLINE kzBool | kzcRectangleIsEqual (const struct KzcRectangle *rectangle1, const struct KzcRectangle *rectangle2) |
| Checks if the two given rectangles are same. More... | |
| KZ_INLINE kzBool | kzcRectangleIsAlmostEqual (const struct KzcRectangle *rectangle1, const struct KzcRectangle *rectangle2) |
| Checks if the two given rectangles are approximately same. More... | |
| KZ_INLINE struct KzcRectangle | kzcRectangleUnion (const struct KzcRectangle *rectangle1, const struct KzcRectangle *rectangle2) |
| Calculates bound rectangle for union of two rectangles. More... | |
| KZ_INLINE kzBool | kzcRectangleGrow (const struct KzcRectangle *increment, struct KzcRectangle *destination) |
| Grows target rectangle as an union of another rectangle. More... | |
| KZ_INLINE struct KzcRectangle | kzcRectangleIntersection (const struct KzcRectangle *rectangle1, const struct KzcRectangle *rectangle2) |
| Calculates intersection of two rectangles. More... | |
| KZ_INLINE kzFloat | kzcRectangleGetArea (const struct KzcRectangle *rectangle) |
| Calculates the area of a rectangle. More... | |
Variables | |
| const struct KzcRectangle | KZC_RECTANGLE_EMPTY |
| Constant zero area rectangle in origin. More... | |
2-dimensional rectangle.
The rectangle sizes remain non-negative for all operations as long as the input sizes are non-negative.
Copyright 2008-2017 by Rightware. All rights reserved.
Creates a rectangle from a point (x,y) and size (width,height).
| KZ_INLINE struct KzcRectangle kzcRectangleFromPoints | ( | kzFloat | x1, |
| kzFloat | y1, | ||
| kzFloat | x2, | ||
| kzFloat | y2 | ||
| ) |
Creates a rectangle from two points defining arbitrary opposite corners.
| KZ_INLINE struct KzcRectangle kzcRectangleFromVectors | ( | const struct KzcVector2 * | point1, |
| const struct KzcVector2 * | point2 | ||
| ) |
Creates a rectangle from two points defining arbitrary opposite corners.
| KZ_INLINE struct KzcRectangle kzcCreateAxisAlignedBoundingRectangle | ( | const struct KzcVector2 * | point1, |
| const struct KzcVector2 * | point2, | ||
| const struct KzcVector2 * | point3, | ||
| const struct KzcVector2 * | point4 | ||
| ) |
Creates a bounding rectangle from four points describing arbitrary corner points.
| KZ_INLINE struct KzcRectangle kzcRectangleFromVectorAndSize | ( | const struct KzcVector2 * | point, |
| const struct KzcVector2 * | size | ||
| ) |
Creates a rectangle from a point vector and size vector.
| KZ_INLINE kzBool kzcRectangleIsEmpty | ( | const struct KzcRectangle * | rectangle | ) |
Checks if the rectangle is empty.
| KZ_INLINE kzBool kzcRectangleContainsPoint | ( | const struct KzcRectangle * | rectangle, |
| const struct KzcVector2 * | point | ||
| ) |
Checks if the given point is inside the given rectangle.
The rectangle is closed from left/right but open from right/bottom.
| KZ_INLINE kzBool kzcRectangleContainsRectangle | ( | const struct KzcRectangle * | rectangle, |
| const struct KzcRectangle * | otherRectangle | ||
| ) |
Checks if the given rectangle contains the given other rectangle completely.
| KZ_INLINE kzBool kzcRectangleOverlaps | ( | const struct KzcRectangle * | rectangle1, |
| const struct KzcRectangle * | rectangle2 | ||
| ) |
Checks if the two given rectangles overlap at least partially.
|
inline |
Test if rectangles are equal.
| rectangle1 | First rectangle. |
| rectangle2 | Second rectangle. |
| KZ_INLINE kzBool kzcRectangleIsEqual | ( | const struct KzcRectangle * | rectangle1, |
| const struct KzcRectangle * | rectangle2 | ||
| ) |
Checks if the two given rectangles are same.
| KZ_INLINE kzBool kzcRectangleIsAlmostEqual | ( | const struct KzcRectangle * | rectangle1, |
| const struct KzcRectangle * | rectangle2 | ||
| ) |
Checks if the two given rectangles are approximately same.
| KZ_INLINE struct KzcRectangle kzcRectangleUnion | ( | const struct KzcRectangle * | rectangle1, |
| const struct KzcRectangle * | rectangle2 | ||
| ) |
Calculates bound rectangle for union of two rectangles.
| KZ_INLINE kzBool kzcRectangleGrow | ( | const struct KzcRectangle * | increment, |
| struct KzcRectangle * | destination | ||
| ) |
Grows target rectangle as an union of another rectangle.
Return true if union is actually larger than the original.
| KZ_INLINE struct KzcRectangle kzcRectangleIntersection | ( | const struct KzcRectangle * | rectangle1, |
| const struct KzcRectangle * | rectangle2 | ||
| ) |
Calculates intersection of two rectangles.
| KZ_INLINE kzFloat kzcRectangleGetArea | ( | const struct KzcRectangle * | rectangle | ) |
Calculates the area of a rectangle.
| const struct KzcRectangle KZC_RECTANGLE_EMPTY |
Constant zero area rectangle in origin.