96#define RING_NUM_LOD (20)
97#define RING_LOWEST_LOD (10)
98#define RING_HIGHEST_LOD (50)
146 virtual void Scale(
float scalex,
float scaley,
float scalez);
156 virtual const char *
Get_Name(
void)
const;
157 virtual void Set_Name(
const char * name);
340 virtual const char *
Get_Name(
void)
const;
Color scale(const Color &a, const Color &b)
#define W3DMPO_GLUE(ARGCLASS)
PrototypeLoaderClass(void)
virtual void Set_Visible(int onoff)
virtual void Set_Hidden(int onoff)
virtual void Set_Force_Visible(int onoff)
virtual void Validate_Transform(void) const
virtual void Set_Animation_Hidden(int onoff)
virtual int Chunk_Type(void)
virtual PrototypeClass * Load_W3D(ChunkLoadClass &cload)
bool Save(ChunkSaveClass &csave)
virtual const char * Get_Name(void) const
bool Load(ChunkLoadClass &cload)
virtual RenderObjClass * Create(void)
~RingPrototypeClass(void)
virtual void DeleteSelf()
virtual int Get_Class_ID(void) const
ShaderClass & Get_Shader(void)
void Update_On_Visibilty(void)
virtual float Get_Post_Increment_Value(void) const
virtual RenderObjClass * Clone(void) const
virtual const char * Get_Name(void) const
~RingRenderObjClass(void)
virtual int Calculate_Cost_Value_Arrays(float screen_area, float *values, float *costs) const
Vector2 Get_Default_Outer_Scale(void) const
virtual int Class_ID(void) const
virtual void Set_Force_Visible(int onoff)
float Get_Animation_Duration(void) const
const AABoxClass & Get_Box(void)
RingScaleChannelClass & Get_Inner_Scale_Channel(void)
void Set_Texture_Tiling(int count)
void Set_Alpha_Channel(const RingAlphaChannelClass &data)
RingScaleChannelClass OuterScaleChannel
static void Generate_Shared_Mesh_Arrays(void)
virtual float Get_Value(void) const
virtual void Scale(float scale)
virtual void Set_Hidden(int onoff)
void Set_Outer_Scale(const Vector2 &scale)
void Set_Texture(TextureClass *tf)
virtual float Get_Cost(void) const
void Set_Flags(unsigned int flags)
void Set_Inner_Extent(const Vector2 &extent)
virtual void Get_Obj_Space_Bounding_Sphere(SphereClass &sphere) const
void calculate_value_array(float screen_area, float *values) const
const RingScaleChannelClass & Peek_Outer_Scale_Channel(void)
virtual void Render(RenderInfoClass &rinfo)
virtual void Increment_LOD(void)
const Vector2 & Get_Outer_Scale(void) const
RingColorChannelClass ColorChannel
void Set_Outer_Extent(const Vector2 &extent)
Vector3 Get_Default_Color(void) const
TextureClass * RingTexture
TextureClass * Peek_Texture(void)
void Restart_Animation(void)
const RingScaleChannelClass & Peek_Inner_Scale_Channel(void)
void Start_Animating(void)
void Stop_Animating(void)
void Set_Color(const Vector3 &color)
friend class RingPrototypeClass
char Name[2 *W3D_NAME_LEN]
const Vector2 & Get_Inner_Extent(void) const
virtual int Get_Num_Polys(void) const
void Set_Inner_Scale(const Vector2 &scale)
RingColorChannelClass & Get_Color_Channel(void)
virtual void Get_Obj_Space_Bounding_Box(AABoxClass &box) const
void Set_Local_Center_Extent(const Vector3 ¢er, const Vector3 &extent)
void Set_Local_Min_Max(const Vector3 &min, const Vector3 &max)
const Vector3 & Get_Color(void) const
virtual int Get_LOD_Level(void) const
RingRenderObjClass & operator=(const RingRenderObjClass &)
const RingAlphaChannelClass & Peek_Alpha_Channel(void)
RingScaleChannelClass & Get_Outer_Scale_Channel(void)
void Set_Outer_Scale_Channel(const RingScaleChannelClass &data)
virtual void Special_Render(SpecialRenderInfoClass &rinfo)
Vector2 Get_Default_Inner_Scale(void) const
virtual void Decrement_LOD(void)
float Get_Default_Alpha(void) const
void vis_render_ring(SpecialRenderInfoClass &rinfo, const Vector3 ¢er, const Vector3 &extent)
virtual void Set_Visible(int onoff)
void Set_Alpha(float alpha)
RingScaleChannelClass InnerScaleChannel
void Set_Flag(unsigned int flag, bool onoff)
VertexMaterialClass * RingMaterial
RingAlphaChannelClass & Get_Alpha_Channel(void)
void update_mesh_data(const Vector3 ¢er, const Vector3 &extent)
RingAlphaChannelClass AlphaChannel
virtual void Set_Name(const char *name)
virtual void Set_Position(const Vector3 &v)
void Set_Animation_Duration(float time)
void Set_Shader(ShaderClass &shader)
float Value[RING_NUM_LOD+2]
virtual void Set_LOD_Bias(float bias)
virtual void Set_Animation_Hidden(int onoff)
unsigned int Get_Flags(void)
virtual void Set_Transform(const Matrix3D &m)
const RingColorChannelClass & Peek_Color_Channel(void)
float Get_Alpha(void) const
virtual void Set_LOD_Level(int lod)
virtual int Get_LOD_Count(void) const
virtual void Prepare_LOD(CameraClass &camera)
const Vector2 & Get_Outer_Extent(void) const
virtual void update_cached_box(void)
const Vector2 & Get_Inner_Scale(void) const
void Set_Inner_Scale_Channel(const RingScaleChannelClass &data)
int Get_Texture_Tiling(void) const
void Set_Color_Channel(const RingColorChannelClass &data)
void render_ring(RenderInfoClass &rinfo, const Vector3 ¢er, const Vector3 &extent)
RingLoaderClass _RingLoader
LERPAnimationChannelClass< Vector2 > RingScaleChannelClass
LERPAnimationChannelClass< float > RingAlphaChannelClass
LERPAnimationChannelClass< Vector3 > RingColorChannelClass
W3dVectorStruct DefaultColor
char Name[2 *W3D_NAME_LEN]
Vector2 DefaultInnerScale
char TextureName[2 *W3D_NAME_LEN]
Vector2 DefaultOuterScale