llvoclouds.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLVOCLOUDS_H
00033 #define LL_LLVOCLOUDS_H
00034 
00035 #include "llviewerobject.h"
00036 #include "lltable.h"
00037 #include "v4coloru.h"
00038 
00039 class LLViewerImage;
00040 class LLViewerCloudGroup;
00041 
00042 class LLCloudGroup;
00043 
00044 
00045 class LLVOClouds : public LLAlphaObject
00046 {
00047 public:
00048         LLVOClouds(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp );
00049 
00050         // Initialize data that's only inited once per class.
00051         static void initClass();
00052 
00053         void updateDrawable(BOOL force_damped); 
00054 
00055         /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline);
00056         /*virtual*/ BOOL        updateGeometry(LLDrawable *drawable);
00057         /*virtual*/ void                getGeometry(S32 te, 
00058                                                         LLStrider<LLVector3>& verticesp, 
00059                                                         LLStrider<LLVector3>& normalsp, 
00060                                                         LLStrider<LLVector2>& texcoordsp, 
00061                                                         LLStrider<LLColor4U>& colorsp, 
00062                                                         LLStrider<U16>& indicesp);
00063 
00064         /*virtual*/ BOOL    isActive() const; // Whether this object needs to do an idleUpdate.
00065         F32 getPartSize(S32 idx);
00066 
00067         /*virtual*/ void updateTextures(LLAgent &agent);
00068         /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent); // generate accurate apparent angle and area
00069         
00070         void updateFaceSize(S32 idx) { }
00071         BOOL idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time);
00072 
00073         virtual U32 getPartitionType() const;
00074 
00075         void setCloudGroup(LLCloudGroup *cgp)           { mCloudGroupp = cgp; }
00076 protected:
00077         virtual ~LLVOClouds();
00078 
00079         LLCloudGroup *mCloudGroupp;
00080 };
00081 
00082 extern LLUUID gCloudTextureID;
00083 
00084 #endif // LL_VO_CLOUDS_H

Generated on Fri May 16 08:34:21 2008 for SecondLife by  doxygen 1.5.5