82 FLAG_STOP_WHEN_HIDDEN = 0x00000001,
89 SoundRenderObjClass (
void);
90 SoundRenderObjClass (
const SoundRenderObjClass &src);
91 virtual ~SoundRenderObjClass (
void);
96 const SoundRenderObjClass &operator= (
const SoundRenderObjClass &src);
105 RenderObjClass * Clone (
void)
const {
return W3DNEW SoundRenderObjClass (*
this); }
107 const char * Get_Name (
void)
const {
return Name; }
108 void Set_Name (
const char *name) { Name = name; }
109 void Render (RenderInfoClass &rinfo) { }
110 void On_Frame_Update (
void);
111 void Set_Hidden (
int onoff);
112 void Set_Visible (
int onoff);
113 void Set_Animation_Hidden (
int onoff);
114 void Set_Force_Visible (
int onoff);
115 void Notify_Added (SceneClass *scene);
116 void Notify_Removed (SceneClass *scene);
117 void Set_Transform(
const Matrix3D &m);
118 void Set_Position(
const Vector3 &v);
123 virtual void Set_Sound (AudibleSoundDefinitionClass *definition);
124 virtual AudibleSoundClass * Get_Sound (
void)
const;
125 virtual AudibleSoundClass * Peek_Sound (
void)
const {
return Sound; }
130 uint32 Get_Flags (
void)
const {
return Flags; }
131 void Set_Flags (
uint32 flags) { Flags = flags; }
141 virtual void Update_On_Visibilty (
void);
150 AudibleSoundClass * Sound;
167 SoundRenderObjDefClass (
void);
168 SoundRenderObjDefClass (SoundRenderObjClass &render_obj);
169 SoundRenderObjDefClass (
const SoundRenderObjDefClass &src);
170 virtual ~SoundRenderObjDefClass (
void);
175 const SoundRenderObjDefClass &operator= (
const SoundRenderObjDefClass &src);
180 RenderObjClass * Create (
void);
183 const char * Get_Name (
void)
const {
return Name; }
184 void Set_Name (
const char *name) { Name = name; }
185 SoundRenderObjDefClass * Clone (
void)
const {
return NEW_REF( SoundRenderObjDefClass, (*
this,
"SoundRenderObjDefClass::Clone") ); }
190 void Initialize (SoundRenderObjClass &render_obj);
217 AudibleSoundDefinitionClass Definition;
218 SoundRenderObjClass::FLAGS Flags;
235 SoundRenderObjPrototypeClass (SoundRenderObjDefClass *def)
236 : Definition (
NULL) { Set_Definition (def); }
241 const char *
Get_Name(
void)
const {
return Definition->Get_Name (); }
243 RenderObjClass *
Create (
void) {
return Definition->Create (); }
246 SoundRenderObjDefClass * Peek_Definition (
void)
const {
return Definition; }
247 void Set_Definition (SoundRenderObjDefClass *def) {
REF_PTR_SET (Definition, def); }
250 virtual ~SoundRenderObjPrototypeClass (
void) {
REF_PTR_RELEASE (Definition); }
257 SoundRenderObjDefClass * Definition;
270 virtual PrototypeClass *
Load_W3D (ChunkLoadClass &cload);
277extern SoundRenderObjLoaderClass _SoundRenderObjLoader;
#define W3DMPO_GLUE(ARGCLASS)
virtual RenderObjClass * Create(void)=0
virtual const char * Get_Name(void) const =0
virtual void DeleteSelf()=0
virtual int Get_Class_ID(void) const =0
virtual PrototypeClass * Load_W3D(ChunkLoadClass &cload)=0
virtual int Chunk_Type(void)=0
#define REF_PTR_RELEASE(x)
#define REF_PTR_SET(dst, src)