Urho3D
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Urho3D::Polyhedron Class Reference

A convex volume built from polygon faces. More...

#include </home/runner/work/urho3d-doxygen.github.io/urho3d-doxygen.github.io/urho3d_repo/Source/Urho3D/Math/Polyhedron.h>

Public Member Functions

 Polyhedron () noexcept=default
 Construct empty.
 
 ~Polyhedron () noexcept=default
 Destruct.
 
 Polyhedron (const Polyhedron &polyhedron)
 Copy-construct from another polyhedron.
 
 Polyhedron (const Vector< Vector< Vector3 > > &faces)
 Construct from a list of faces.
 
 Polyhedron (const BoundingBox &box)
 Construct from a bounding box.
 
 Polyhedron (const Frustum &frustum)
 Construct from a frustum.
 
Polyhedronoperator= (const Polyhedron &rhs)
 Assign from another polyhedron.
 
void Define (const BoundingBox &box)
 Define from a bounding box.
 
void Define (const Frustum &frustum)
 Define from a frustum.
 
void AddFace (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2)
 Add a triangle face.
 
void AddFace (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
 Add a quadrilateral face.
 
void AddFace (const Vector< Vector3 > &face)
 Add an arbitrary face.
 
void Clip (const Plane &plane)
 Clip with a plane.
 
void Clip (const BoundingBox &box)
 Clip with a bounding box.
 
void Clip (const Frustum &frustum)
 Clip with a frustum.
 
void Clear ()
 Clear all faces.
 
void Transform (const Matrix3 &transform)
 Transform with a 3x3 matrix.
 
void Transform (const Matrix3x4 &transform)
 Transform with a 3x4 matrix.
 
Polyhedron Transformed (const Matrix3 &transform) const
 Return transformed with a 3x3 matrix.
 
Polyhedron Transformed (const Matrix3x4 &transform) const
 Return transformed with a 3x4 matrix.
 
bool Empty () const
 Return whether is empty.
 

Public Attributes

Vector< Vector< Vector3 > > faces_
 Polygon faces.
 

Private Member Functions

void SetFace (i32 index, const Vector3 &v0, const Vector3 &v1, const Vector3 &v2)
 Set a triangle face by index.
 
void SetFace (i32 index, const Vector3 &v0, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
 Set a quadrilateral face by index.
 

Private Attributes

Vector< Vector3clippedVertices_
 Internal vector for clipped vertices.
 
Vector< Vector3outFace_
 Internal vector for the new face being constructed.
 

Detailed Description

A convex volume built from polygon faces.


The documentation for this class was generated from the following files: