78 int key_count =
m_Data.Count ();
84 if (time <
m_Data[key_count - 1].Get_Time ()) {
92 KeyClass *key2 = &
m_Data[key_count - 1];
97 for (
int keyidx =
m_LastIndex; keyidx < (key_count - 1); keyidx ++) {
99 if (time <
m_Data[keyidx+1].Get_Time ()) {
108 float percent = (time - key1->Get_Time ()) / (key2->Get_Time () - key1->Get_Time ());
165 void Generate (
float radius,
int slices,
int stacks);
171 void Set_DCG (
bool is_additive,
int index,
float value);
203SphereMeshClass::Set_DCG (
bool is_additive,
int index,
float value)
206 dcg[index].X =
value;
207 dcg[index].Y =
value;
208 dcg[index].Z =
value;
214 dcg[index].W =
value;
221#define SPHERE_NUM_LOD (10)
222#define SPHERE_LOWEST_LOD (7)
223#define SPHERE_HIGHEST_LOD (17)
273 virtual void Scale(
float scalex,
float scaley,
float scalez);
283 virtual const char *
Get_Name(
void)
const;
284 virtual void Set_Name(
const char * name);
450 virtual const char *
Get_Name(
void)
const;
Color scale(const Color &a, const Color &b)
#define W3DMPO_GLUE(ARGCLASS)
AlphaVectorStruct Evaluate(float time)
PrimitiveAnimationChannelClass(void)
SimpleDynVecClass< KeyClass > m_Data
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 PrototypeClass * Load_W3D(ChunkLoadClass &cload)
virtual int Chunk_Type(void)
void Generate(float radius, int slices, int stacks)
friend class SphereRenderObjClass
void Set_Alpha_Vector(const AlphaVectorStruct &v, bool inverse, bool is_additive, bool force=false)
~SpherePrototypeClass(void)
virtual RenderObjClass * Create(void)
SpherePrototypeClass(void)
virtual void DeleteSelf()
virtual int Get_Class_ID(void) const
bool Load(ChunkLoadClass &cload)
bool Save(ChunkSaveClass &csave)
virtual const char * Get_Name(void) const
void Set_Alpha(float alpha)
SphereRenderObjClass & operator=(const SphereRenderObjClass &)
virtual void Set_LOD_Bias(float bias)
void Set_Animation_Duration(float time)
virtual void Scale(float scale)
virtual void Get_Obj_Space_Bounding_Sphere(SphereClass &sphere) const
virtual void Set_Visible(int onoff)
TextureClass * SphereTexture
virtual int Get_Num_Polys(void) const
virtual int Get_LOD_Level(void) const
SphereColorChannelClass & Get_Color_Channel(void)
virtual int Class_ID(void) const
AlphaVectorStruct Get_Default_Vector(void) const
Vector3 Get_Default_Color(void) const
SphereVectorChannelClass & Get_Vector_Channel(void)
virtual float Get_Post_Increment_Value(void) const
const SphereVectorChannelClass & Peek_Vector_Channel(void)
AlphaVectorStruct CurrentVector
TextureClass * Peek_Texture(void)
float Value[SPHERE_NUM_LOD+2]
void Set_Scale(const Vector3 &scale)
void Set_Alpha_Channel(const SphereAlphaChannelClass &data)
void Set_Scale_Channel(const SphereScaleChannelClass &data)
float Get_Default_Alpha(void) const
virtual void Set_LOD_Level(int lod)
SphereAlphaChannelClass AlphaChannel
SphereScaleChannelClass ScaleChannel
void Start_Animating(void)
friend class SpherePrototypeClass
virtual const char * Get_Name(void) const
SphereColorChannelClass ColorChannel
void Set_Vector(const AlphaVectorStruct &v)
void Set_Vector_Channel(const SphereVectorChannelClass &data)
static void Generate_Shared_Mesh_Arrays(const AlphaVectorStruct &alphavector)
void Set_Flag(unsigned int flag, bool onoff)
void Set_Flags(unsigned int flags)
virtual void Special_Render(SpecialRenderInfoClass &rinfo)
virtual void Render(RenderInfoClass &rinfo)
void update_mesh_data(const Vector3 ¢er, const Vector3 &extent)
SphereScaleChannelClass & Get_Scale_Channel(void)
virtual void Update_Cached_Bounding_Volumes(void) const
virtual void Decrement_LOD(void)
virtual int Get_LOD_Count(void) const
const SphereColorChannelClass & Peek_Color_Channel(void)
virtual void Set_Hidden(int onoff)
SphereAlphaChannelClass & Get_Alpha_Channel(void)
void Set_Local_Min_Max(const Vector3 &min, const Vector3 &max)
float Get_Alpha(void) const
virtual void Get_Obj_Space_Bounding_Box(AABoxClass &aabox) const
void Update_On_Visibilty(void)
virtual void Set_Position(const Vector3 &v)
virtual void Set_Animation_Hidden(int onoff)
float Get_Animation_Duration(void) const
virtual void update_cached_box(void)
SphereVectorChannelClass VectorChannel
void Set_Local_Center_Extent(const Vector3 ¢er, const Vector3 &extent)
virtual void Set_Transform(const Matrix3D &m)
~SphereRenderObjClass(void)
char Name[2 *W3D_NAME_LEN]
void Restart_Animation(void)
const SphereScaleChannelClass & Peek_Scale_Channel(void)
void calculate_value_array(float screen_area, float *values) const
const SphereAlphaChannelClass & Peek_Alpha_Channel(void)
VertexMaterialClass * SphereMaterial
const AlphaVectorStruct & Get_Vector(void) const
void Set_Texture(TextureClass *tf)
void Set_Shader(ShaderClass &shader)
ShaderClass & Get_Shader(void)
virtual int Calculate_Cost_Value_Arrays(float screen_area, float *values, float *costs) const
virtual float Get_Cost(void) const
const Vector3 & Get_Color(void) const
virtual void Set_Force_Visible(int onoff)
const Vector3 & Get_Scale(void) const
void vis_render_sphere(SpecialRenderInfoClass &rinfo, const Vector3 ¢er, const Vector3 &extent)
unsigned int Get_Flags(void)
virtual float Get_Value(void) const
void Set_Color_Channel(const SphereColorChannelClass &data)
virtual void Increment_LOD(void)
const AABoxClass & Get_Box(void)
SphereRenderObjClass(void)
void Stop_Animating(void)
void Set_Color(const Vector3 &color)
void Set_Extent(const Vector3 &extent)
virtual void Prepare_LOD(CameraClass &camera)
virtual RenderObjClass * Clone(void) const
Vector3 Get_Default_Scale(void) const
virtual void Set_Name(const char *name)
void __cdecl Fast_Slerp(Quaternion &res, const Quaternion &p, const Quaternion &q, float alpha)
SphereLoaderClass _SphereLoader
LERPAnimationChannelClass< float > SphereAlphaChannelClass
AlphaVectorChannel SphereVectorChannelClass
LERPAnimationChannelClass< Vector3 > SphereScaleChannelClass
LERPAnimationChannelClass< Vector3 > SphereColorChannelClass
AlphaVectorStruct(const AlphaVectorStruct &src)
bool operator!=(const AlphaVectorStruct &src)
const AlphaVectorStruct & operator=(const AlphaVectorStruct &src)
bool operator==(const AlphaVectorStruct &src)
AlphaVectorStruct DefaultVector
char Name[2 *W3D_NAME_LEN]
W3dVectorStruct DefaultScale
W3dVectorStruct DefaultColor
char TextureName[2 *W3D_NAME_LEN]