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<U32>& indicesp);
00063 
00064         /*virtual*/ BOOL    isActive() const; // Whether this object needs to do an idleUpdate.
00065         BOOL isParticle();
00066         F32 getPartSize(S32 idx);
00067 
00068         /*virtual*/ void updateTextures(LLAgent &agent);
00069         /*virtual*/ void setPixelAreaAndAngle(LLAgent &agent); // generate accurate apparent angle and area
00070         
00071         void updateFaceSize(S32 idx) { }
00072         BOOL idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time);
00073 
00074         virtual U32 getPartitionType() const;
00075 
00076         void setCloudGroup(LLCloudGroup *cgp)           { mCloudGroupp = cgp; }
00077 protected:
00078         virtual ~LLVOClouds();
00079 
00080         LLCloudGroup *mCloudGroupp;
00081 };
00082 
00083 extern LLUUID gCloudTextureID;
00084 
00085 #endif // LL_VO_CLOUDS_H

Generated on Thu Jul 1 06:09:36 2010 for Second Life Viewer by  doxygen 1.4.7