aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmath/llcamera.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llmath/llcamera.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/linden/indra/llmath/llcamera.h b/linden/indra/llmath/llcamera.h
index 85b93df..8d3ad08 100644
--- a/linden/indra/llmath/llcamera.h
+++ b/linden/indra/llmath/llcamera.h
@@ -84,6 +84,17 @@ public:
84 PLANE_TOP_MASK = (1<<PLANE_TOP), 84 PLANE_TOP_MASK = (1<<PLANE_TOP),
85 PLANE_ALL_MASK = 0xf 85 PLANE_ALL_MASK = 0xf
86 }; 86 };
87
88 enum
89 {
90 AGENT_PLANE_LEFT = 0,
91 AGENT_PLANE_RIGHT,
92 AGENT_PLANE_NEAR,
93 AGENT_PLANE_BOTTOM,
94 AGENT_PLANE_TOP,
95 AGENT_PLANE_FAR,
96 };
97
87 enum { 98 enum {
88 HORIZ_PLANE_LEFT = 0, 99 HORIZ_PLANE_LEFT = 0,
89 HORIZ_PLANE_RIGHT = 1, 100 HORIZ_PLANE_RIGHT = 1,
@@ -123,7 +134,8 @@ private:
123public: 134public:
124 LLVector3 mAgentFrustum[8]; //8 corners of 6-plane frustum 135 LLVector3 mAgentFrustum[8]; //8 corners of 6-plane frustum
125 F32 mFrustumCornerDist; //distance to corner of frustum against far clip plane 136 F32 mFrustumCornerDist; //distance to corner of frustum against far clip plane
126 137 LLPlane getAgentPlane(U32 idx) { return mAgentPlanes[idx].p; }
138
127public: 139public:
128 LLCamera(); 140 LLCamera();
129 LLCamera(F32 vertical_fov_rads, F32 aspect_ratio, S32 view_height_in_pixels, F32 near_plane, F32 far_plane); 141 LLCamera(F32 vertical_fov_rads, F32 aspect_ratio, S32 view_height_in_pixels, F32 near_plane, F32 far_plane);
@@ -170,6 +182,8 @@ public:
170 // Return number of bytes copied. 182 // Return number of bytes copied.
171 size_t readFrustumFromBuffer(const char *buffer); 183 size_t readFrustumFromBuffer(const char *buffer);
172 void calcAgentFrustumPlanes(LLVector3* frust); 184 void calcAgentFrustumPlanes(LLVector3* frust);
185 void ignoreAgentFrustumPlane(S32 idx);
186
173 // Returns 1 if partly in, 2 if fully in. 187 // Returns 1 if partly in, 2 if fully in.
174 // NOTE: 'center' is in absolute frame. 188 // NOTE: 'center' is in absolute frame.
175 S32 sphereInFrustumOld(const LLVector3 &center, const F32 radius) const; 189 S32 sphereInFrustumOld(const LLVector3 &center, const F32 radius) const;