5 #ifndef NAZARA_BOUNDINGVOLUME_HPP 6 #define NAZARA_BOUNDINGVOLUME_HPP 8 #include <Nazara/Core/String.hpp> 9 #include <Nazara/Math/Box.hpp> 10 #include <Nazara/Math/Enums.hpp> 11 #include <Nazara/Math/Matrix4.hpp> 12 #include <Nazara/Math/OrientedBox.hpp> 13 #include <Nazara/Math/Vector3.hpp> 17 struct SerializationContext;
80 std::ostream& operator<<(std::ostream& out, const Nz::BoundingVolume<T>& volume);
82 #include <Nazara/Math/BoundingVolume.inl> 84 #endif // NAZARA_BOUNDINGVOLUME_HPP TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
BoundingVolume operator*(T scalar) const
Multiplies the lengths of the obb with the scalar.
Definition: BoundingVolume.inl:423
Math class that represents an oriented three dimensional box.
Definition: OrientedBox.hpp:20
bool operator!=(const BoundingVolume &volume) const
Compares the bounding volume to other one.
Definition: BoundingVolume.inl:473
bool Unserialize(SerializationContext &context, bool *value)
Unserializes a boolean.
Definition: Algorithm.inl:279
bool IsInfinite() const
Checks whether the volume is infinite.
Definition: BoundingVolume.inl:190
Core class that represents a string.
Definition: String.hpp:22
static BoundingVolume Lerp(const BoundingVolume &from, const BoundingVolume &to, T interpolation)
Interpolates the bounding volume to other one with a factor of interpolation.
Definition: BoundingVolume.inl:510
Math class that represents a bounding volume, a combination of a box and an oriented box...
Definition: BoundingVolume.hpp:20
BoundingVolume & MakeNull()
Makes the bounding volume null.
Definition: BoundingVolume.inl:229
BoundingVolume & operator*=(T scalar)
Multiplies the lengths of this bounding volume with the scalar.
Definition: BoundingVolume.inl:439
Structure containing a serialization/unserialization context states.
Definition: SerializationContext.hpp:18
bool operator==(const BoundingVolume &volume) const
Compares the bounding volume to other one.
Definition: BoundingVolume.inl:454
BoundingVolume & Set(Extend Extend)
Sets the extend of the bounding volume from Extend.
Definition: BoundingVolume.inl:246
bool Serialize(SerializationContext &context, bool value)
Serializes a boolean.
Definition: Algorithm.inl:214
BoundingVolume & ExtendTo(const BoundingVolume &volume)
Extends the bounding volume to contain another bounding volume.
Definition: BoundingVolume.inl:137
BoundingVolume()
Constructs a BoundingVolume object by default.
Definition: BoundingVolume.inl:33
static BoundingVolume Infinite()
Shorthand for the bounding volume (Extend_Infinite)
Definition: BoundingVolume.inl:486
bool IsFinite() const
Checks whether the volume is finite.
Definition: BoundingVolume.inl:179
Math class that represents a transformation of the four dimensional vector space with the notion of p...
Definition: Matrix4.hpp:26
static BoundingVolume Null()
Shorthand for the bounding volume (Extend_Null)
Definition: BoundingVolume.inl:588
String ToString() const
Gives a string representation.
Definition: BoundingVolume.inl:364
Math class that represents an element of the three dimensional vector space.
Definition: Matrix4.hpp:22
BoundingVolume & MakeInfinite()
Makes the bounding volume infinite.
Definition: BoundingVolume.inl:214
bool IsNull() const
Checks whether the volume is null.
Definition: BoundingVolume.inl:201
void Update(const Matrix4< T > &transformMatrix)
Updates the obb and the aabb of the bounding volume.
Definition: BoundingVolume.inl:390
Math class that represents a three dimensional box.
Definition: Box.hpp:22