Visualization Library 2.0.0
A lightweight C++ OpenGL middleware for 2D/3D graphics
|
[Download] [Tutorials] [All Classes] [Grouped Classes] |
The Plane class defines a plane using a normal and an origin. More...
#include <Plane.hpp>
Public Member Functions | |
Plane (real o=0.0f, vec3 n=vec3(0, 0, 0)) | |
Plane (const vec3 &o, const vec3 &n) | |
real | distance (const vec3 &v) const |
int | classify (const AABB &) const |
returns 0 if the AABB intersects the plane, 1 if it's in the positive side, -1 if it's in the negative side. More... | |
bool | isOutside (const AABB &) const |
const vec3 & | normal () const |
real | origin () const |
void | setNormal (const vec3 &normal) |
void | setOrigin (real origin) |
Public Member Functions inherited from vl::Object | |
Object () | |
Constructor. More... | |
Object (const Object &other) | |
Copy constructor: copies the name, ref count mutex and user data. More... | |
Object & | operator= (const Object &other) |
Copy operator: copies the object's name, ref count mutex and user data. More... | |
const std::string & | objectName () const |
The name of the object, by default set to the object's class name. More... | |
void | setObjectName (const char *name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setObjectName (const std::string &name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setRefCountMutex (IMutex *mutex) |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
IMutex * | refCountMutex () |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
const IMutex * | refCountMutex () const |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
int | referenceCount () const |
Returns the number of references of an object. More... | |
void | incReference () const |
Increments the reference count of an object. More... | |
void | decReference () |
Decrements the reference count of an object and deletes it if both automaticDelete() is true the count reaches 0. More... | |
void | setAutomaticDelete (bool autodel_on) |
If set to true the Object is deleted when its reference count reaches 0. More... | |
bool | automaticDelete () const |
If set to true the Object is deleted when its reference count reaches 0. More... | |
template<class T > | |
T * | as () |
Casts an Object to the specified class. More... | |
template<class T > | |
const T * | as () const |
Casts an Object to the specified class. More... | |
Protected Attributes | |
vec3 | mNormal |
real | mOrigin |
Protected Attributes inherited from vl::Object | |
std::string | mObjectName |
IMutex * | mRefCountMutex |
int | mReferenceCount |
bool | mAutomaticDelete |
Additional Inherited Members | |
Protected Member Functions inherited from vl::Object | |
virtual | ~Object () |
The Plane class defines a plane using a normal and an origin.
Definition at line 59 of file Plane.hpp.
References vl::distance(), and vl::dot().
int Plane::classify | ( | const AABB & | aabb | ) | const |
returns 0 if the AABB intersects the plane, 1 if it's in the positive side, -1 if it's in the negative side.
Definition at line 54 of file Plane.cpp.
References distance(), vl::AABB::maxCorner(), vl::AABB::minCorner(), vl::Vector3< T_Scalar >::x(), vl::Vector3< T_Scalar >::y(), and vl::Vector3< T_Scalar >::z().
Referenced by vl::ActorKdTree::insertActor(), and vl::ActorKdTree::rebuildKdTree().
real Plane::distance | ( | const vec3 & | v | ) | const |
Definition at line 40 of file Plane.cpp.
References vl::dot(), mNormal, and mOrigin.
Referenced by classify(), vl::Frustum::cull(), and isOutside().
bool Plane::isOutside | ( | const AABB & | aabb | ) | const |
Definition at line 45 of file Plane.cpp.
References distance(), vl::AABB::maxCorner(), vl::AABB::minCorner(), mNormal, vl::Vector3< T_Scalar >::x(), vl::Vector3< T_Scalar >::y(), and vl::Vector3< T_Scalar >::z().
Referenced by vl::Frustum::cull().
|
inline |
Definition at line 74 of file Plane.hpp.
Referenced by vl::Camera::adjustView(), vl::ClipPlane::apply(), and vlX::VLXClassWrapper_ClipPlane::exportClipPlane().
|
inline |
Definition at line 76 of file Plane.hpp.
Referenced by vl::Camera::adjustView(), vl::ClipPlane::apply(), and vlX::VLXClassWrapper_ClipPlane::exportClipPlane().
|
inline |
Definition at line 78 of file Plane.hpp.
Referenced by vl::ClipPlane::ClipPlane(), and vlX::VLXClassWrapper_ClipPlane::importClipPlane().
|
inline |
Definition at line 80 of file Plane.hpp.
Referenced by vl::ClipPlane::ClipPlane(), and vlX::VLXClassWrapper_ClipPlane::importClipPlane().
|
protected |
Definition at line 83 of file Plane.hpp.
Referenced by distance(), and isOutside().
|
protected |
Definition at line 84 of file Plane.hpp.
Referenced by distance().
Visualization Library 2.0.0 Reference Documentation
Updated on Wed Dec 23 2020 12:44:10.
© Copyright Michele Bosi. All rights reserved.