81class RenderObjProxyClass;
86#pragma warning(disable : 4100)
88#ifdef DEFINE_W3DANIMMODE_NAMES
89static const char* TheAnimModeNames[] =
250 virtual const char *
Get_Name(
void)
const {
return "UNNAMED"; }
282 virtual void Remove(
void);
288#define GET_CONTAINER_INLINE
289#ifdef GET_CONTAINER_INLINE
348 float percentage) { }
453 virtual void Scale(
float scalex,
float scaley,
float scalez) { };
597 while (angle > 359) angle -= 360;
598 while (angle < 0) angle += 360;
Color scale(const Color &a, const Color &b)
MultiListObjectClass(void)
virtual void Post_Render(RenderObjClass *robj, RenderInfoClass &rinfo)=0
virtual bool Pre_Render(RenderObjClass *robj, RenderInfoClass &rinfo)=0
virtual ~RenderHookClass(void)
virtual float Get_Screen_Size(CameraClass &camera)
const unsigned int Get_ObjectColor(void) const
virtual void Create_Decal(DecalGeneratorClass *generator)
virtual void Set_User_Data(void *value, bool recursive=false)
virtual int Is_Hidden(void) const
@ USER_DATA_MATERIAL_OVERRIDE
virtual int Is_Animation_Hidden(void) const
virtual void Decrement_LOD(void)
virtual bool Intersect_Sphere_Quick(IntersectionClass *Intersection, IntersectionResultClass *Final_Result)
@ IS_NOT_ANIMATION_HIDDEN
@ SUBOBJ_TRANSFORMS_DIRTY
virtual RenderObjClass * Get_Sub_Object_On_Bone(int index, int boneindex) const
void Set_Ignore_LOD_Cost(bool onoff)
Vector3 Get_Position(void) const
virtual void Set_Animation(HAnimComboClass *anim_combo)
virtual void Capture_Bone(int bindex)
virtual void Set_Transform(const Matrix3D &m)
virtual void Get_Obj_Space_Bounding_Sphere(SphereClass &sphere) const
const float Get_ObjectScale(void) const
virtual int Get_Num_Sub_Objects_On_Bone(int boneindex) const
virtual int Is_Visible(void) const
virtual int Is_Translucent(void) const
void Validate_Cached_Bounding_Volumes(void) const
virtual int Is_Not_Hidden_At_All(void)
bool Is_Ignoring_LOD_Cost(void)
virtual void Set_Translucent(int onoff)
@ ANIM_MODE_LOOP_PINGPONG
@ ANIM_MODE_LOOP_BACKWARDS
@ ANIM_MODE_ONCE_BACKWARDS
virtual float Get_Post_Increment_Value(void) const
virtual void Get_Snap_Point(int index, Vector3 *set)
int Is_Sub_Objects_Match_LOD_Enabled(void)
virtual void On_Frame_Update()
virtual int Is_Additive(void) const
virtual int Get_LOD_Count(void) const
virtual void Increment_LOD(void)
virtual void Set_Visible(int onoff)
virtual void Set_Position(const Vector3 &v)
virtual int Get_LOD_Level(void) const
virtual const Matrix3D & Get_Bone_Transform(const char *bonename)
virtual void Update_Obj_Space_Bounding_Volumes(void)
virtual const SphereClass & Get_Bounding_Sphere(void) const
AABoxClass CachedBoundingBox
friend class RenderObjProxyClass
virtual bool Build_Dependency_List(DynamicVectorClass< StringClass > &file_list, bool recursive=true)
virtual void Notify_Added(SceneClass *scene)
virtual int Remove_Sub_Objects_From_Bone(int boneindex)
virtual void Update_Sub_Object_Transforms(void)
virtual void Delete_Decal(uint32 decal_id)
void Unset_Is_Self_Shadowed()
virtual SceneClass * Get_Scene(void)
RenderObjClass * Container
virtual int Get_Num_Snap_Points(void)
virtual void Get_Obj_Space_Bounding_Box(AABoxClass &box) const
virtual void Update_Cached_Bounding_Volumes(void) const
virtual void Set_Name(const char *name)
void Invalidate_Cached_Bounding_Volumes(void) const
virtual void Set_Base_Model_Name(const char *name)
virtual int Is_Really_Visible(void)
virtual void Set_Collision_Type(int type)
virtual void Set_Animation(HAnimClass *motion, float frame, int anim_mode=ANIM_MODE_MANUAL)
virtual float Get_Cost(void) const
virtual const AABoxClass & Get_Bounding_Box(void) const
virtual ~RenderObjClass(void)
virtual bool Intersect_Sphere(IntersectionClass *Intersection, IntersectionResultClass *Final_Result)
virtual void Update_Sub_Object_Bits(void)
RenderObjClass & operator=(const RenderObjClass &)
virtual int Get_Sub_Object_Bone_Index(int LodIndex, int ModelIndex) const
void Set_Sub_Object_Transforms_Dirty(bool onoff)
virtual const HTreeClass * Get_HTree(void) const
virtual bool Is_Bone_Captured(int bindex) const
virtual bool Intersect_OBBox(OBBoxIntersectionTestClass &boxtest)
virtual void Set_Sort_Level(int level)
virtual const char * Get_Base_Model_Name(void) const
virtual int Add_Sub_Object_To_Bone(RenderObjClass *subobj, int bone_index)
virtual const PersistFactoryClass & Get_Factory(void) const
virtual void Scale(float scalex, float scaley, float scalez)
void Set_Sub_Objects_Match_LOD(int onoff)
virtual int Get_Num_Bones(void)
static const float AT_MAX_LOD
virtual int Class_ID(void) const
void Set_Is_Self_Shadowed()
RenderHookClass * Get_Render_Hook(void)
virtual void Set_Hidden(int onoff)
virtual const char * Get_Bone_Name(int bone_index)
RenderHookClass * RenderHook
virtual void Set_Force_Visible(int onoff)
int Is_Self_Shadowed() const
virtual void Scale(float scale)
virtual void Set_Alpha(int onoff)
virtual RenderObjClass * Clone(void) const =0
virtual const Matrix3D & Get_Bone_Transform(int boneindex)
virtual bool Is_In_Scene(void)
bool Are_Sub_Object_Transforms_Dirty(void)
virtual bool Save(ChunkSaveClass &csave)
virtual void Set_LOD_Bias(float bias)
virtual void Add_Dependencies_To_List(DynamicVectorClass< StringClass > &file_list, bool textures_only=false)
virtual void Notify_Removed(SceneClass *scene)
virtual void Set_Container(RenderObjClass *con)
virtual RenderObjClass * Get_Current_LOD(void)
virtual void Set_Animation(void)
virtual const char * Get_Name(void) const
const Matrix3D & Get_Transform(void) const
virtual void Validate_Transform(void) const
virtual int Calculate_Cost_Value_Arrays(float screen_area, float *values, float *costs) const
virtual void Recalculate_Static_LOD_Factors(void)
virtual void Restart(void)
virtual float Get_Native_Screen_Size(void) const
virtual bool Load(ChunkLoadClass &cload)
virtual int Get_Num_Sub_Objects(void) const
virtual void Set_LOD_Level(int lod)
virtual SceneClass * Peek_Scene(void)
bool Is_Transform_Identity_No_Validity_Check() const
virtual MaterialInfoClass * Get_Material_Info(void)
virtual bool Cast_AABox(AABoxCollisionTestClass &boxtest)
virtual bool Build_Texture_List(DynamicVectorClass< StringClass > &texture_file_list, bool recursive=true)
virtual int Is_Alpha(void) const
virtual RenderObjClass * Get_Sub_Object_By_Name(const char *name, int *index=NULL) const
virtual void Release_Bone(int bindex)
virtual void Remove(void)
virtual bool Cast_Ray(RayCollisionTestClass &raytest)
virtual HAnimClass * Peek_Animation(void)
virtual void Prepare_LOD(CameraClass &camera)
virtual bool Cast_OBBox(OBBoxCollisionTestClass &boxtest)
virtual int Is_Force_Visible(void) const
bool Bounding_Volumes_Valid(void) const
RenderObjClass * Get_Container(void) const
@ CLASSID_SCREENPOINTGROUP
@ CLASSID_WORLDPOINTGROUP
@ CLASSID_PARTICLEEMITTER
void Set_ObjectColor(unsigned int color)
virtual int Get_Bone_Index(const char *bonename)
virtual void Set_Native_Screen_Size(float screensize)
virtual void Control_Bone(int bindex, const Matrix3D &objtm, bool world_space_translation=false)
virtual void * Get_User_Data()
virtual RenderObjClass * Get_Sub_Object(int index) const
virtual int Add_Sub_Object(RenderObjClass *subobj)
virtual void Set_ObjectScale(float scale)
bool Is_Transform_Identity() const
virtual int Get_Collision_Type(void) const
virtual void Add(SceneClass *scene)
virtual int Get_Num_Polys(void) const
virtual bool Intersect(IntersectionClass *Intersection, IntersectionResultClass *Final_Result)
virtual bool Is_Complete(void)
virtual void Set_Animation_Hidden(int onoff)
virtual int Get_Sort_Level(void) const
virtual int Remove_Sub_Object(RenderObjClass *robj)
virtual void Set_Additive(int onoff)
SphereClass CachedBoundingSphere
virtual void Special_Render(SpecialRenderInfoClass &rinfo)
virtual bool Intersect_AABox(AABoxIntersectionTestClass &boxtest)
void Set_Render_Hook(RenderHookClass *hook)
virtual int Get_Sub_Object_Bone_Index(RenderObjClass *subobj) const
const Matrix3D & Get_Transform_No_Validity_Check(void) const
static const float AT_MIN_LOD
virtual float Get_Value(void) const
virtual void Set_Animation(HAnimClass *motion0, float frame0, HAnimClass *motion1, float frame1, float percentage)
virtual void Render(RenderInfoClass &rinfo)=0
WWINLINE float Bound_Degrees(float angle)