Stellarium  0.18.3
Public Types | Public Member Functions | Data Fields
Frustum Class Reference

Public Types

enum  Corner {
  NBL = 0, NBR, NTR, NTL,
  FBL, FBR, FTR, FTL,
  CORNERCOUNT
}
 
enum  FrustumPlane {
  NEARP = 0, FARP, LEFT, RIGHT,
  BOTTOM, TOP, PLANECOUNT
}
 
enum  { OUTSIDE, INTERSECT, INSIDE }
 

Public Member Functions

void setCamInternals (float fov, float aspect, float zNear, float zFar)
 
void calcFrustum (Vec3d p, Vec3d l, Vec3d u)
 
const Vec3f & getCorner (Corner corner) const
 
const Plane & getPlane (FrustumPlane plane) const
 
int pointInFrustum (const Vec3f &p)
 
int boxInFrustum (const AABBox &bbox)
 
void drawFrustum () const
 
void saveDrawingCorners ()
 
void resetCorners ()
 

Data Fields

float fov
 
float aspect
 
float zNear
 
float zFar
 
Mat4d m
 
AABBox bbox
 
std::vector< Vec3f > drawCorners
 
AABBox drawBbox
 
std::vector< Vec3f > corners
 
std::vector< Plane * > planes