diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmath/llcamera.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/linden/indra/llmath/llcamera.h b/linden/indra/llmath/llcamera.h index 23ee115..0c81067 100644 --- a/linden/indra/llmath/llcamera.h +++ b/linden/indra/llmath/llcamera.h | |||
@@ -93,6 +93,17 @@ public: | |||
93 | PLANE_TOP_MASK = (1<<PLANE_TOP), | 93 | PLANE_TOP_MASK = (1<<PLANE_TOP), |
94 | PLANE_ALL_MASK = 0xf | 94 | PLANE_ALL_MASK = 0xf |
95 | }; | 95 | }; |
96 | |||
97 | enum | ||
98 | { | ||
99 | AGENT_PLANE_LEFT = 0, | ||
100 | AGENT_PLANE_RIGHT, | ||
101 | AGENT_PLANE_NEAR, | ||
102 | AGENT_PLANE_BOTTOM, | ||
103 | AGENT_PLANE_TOP, | ||
104 | AGENT_PLANE_FAR, | ||
105 | }; | ||
106 | |||
96 | enum { | 107 | enum { |
97 | HORIZ_PLANE_LEFT = 0, | 108 | HORIZ_PLANE_LEFT = 0, |
98 | HORIZ_PLANE_RIGHT = 1, | 109 | HORIZ_PLANE_RIGHT = 1, |
@@ -132,7 +143,8 @@ private: | |||
132 | public: | 143 | public: |
133 | LLVector3 mAgentFrustum[8]; //8 corners of 6-plane frustum | 144 | LLVector3 mAgentFrustum[8]; //8 corners of 6-plane frustum |
134 | F32 mFrustumCornerDist; //distance to corner of frustum against far clip plane | 145 | F32 mFrustumCornerDist; //distance to corner of frustum against far clip plane |
135 | 146 | LLPlane getAgentPlane(U32 idx) { return mAgentPlanes[idx].p; } | |
147 | |||
136 | public: | 148 | public: |
137 | LLCamera(); | 149 | LLCamera(); |
138 | LLCamera(F32 vertical_fov_rads, F32 aspect_ratio, S32 view_height_in_pixels, F32 near_plane, F32 far_plane); | 150 | LLCamera(F32 vertical_fov_rads, F32 aspect_ratio, S32 view_height_in_pixels, F32 near_plane, F32 far_plane); |
@@ -179,6 +191,8 @@ public: | |||
179 | // Return number of bytes copied. | 191 | // Return number of bytes copied. |
180 | size_t readFrustumFromBuffer(const char *buffer); | 192 | size_t readFrustumFromBuffer(const char *buffer); |
181 | void calcAgentFrustumPlanes(LLVector3* frust); | 193 | void calcAgentFrustumPlanes(LLVector3* frust); |
194 | void ignoreAgentFrustumPlane(S32 idx); | ||
195 | |||
182 | // Returns 1 if partly in, 2 if fully in. | 196 | // Returns 1 if partly in, 2 if fully in. |
183 | // NOTE: 'center' is in absolute frame. | 197 | // NOTE: 'center' is in absolute frame. |
184 | S32 sphereInFrustumOld(const LLVector3 ¢er, const F32 radius) const; | 198 | S32 sphereInFrustumOld(const LLVector3 ¢er, const F32 radius) const; |