ランタイム
IEmitter.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Sound/IDevice.h"
7 
8 namespace Mix{ namespace Sound{
9 
13  {
14  protected:
16  virtual ~IEmitter( void ){}
17 
18  public:
21  virtual const Mix::Vector3& GetLocalFront( void ) const = 0;
24  virtual const Mix::Vector3& GetLocalUp( void ) const = 0;
25 
28  virtual const Mix::Vector3& GetWorldFront( void ) const = 0;
31  virtual const Mix::Vector3& GetWorldUp( void ) const = 0;
32 
35  virtual const Mix::Matrix4x4& GetWorldMatrix( void ) const = 0;
38  virtual void SetWorldMatrix( const Mix::Matrix4x4& mat ) = 0;
39 
42  virtual const Mix::Vector3& GetVelocity( void ) const = 0;
46  virtual void SetVelocity( const Mix::Vector3& velocity ) = 0;
47 
50  virtual UInt32 GetChannelCount( void ) const = 0;
51 
54  virtual Float32 GetChannelRadius( void ) const = 0;
58  virtual void SetChannelRadius( Float32 radius ) = 0;
59 
63  virtual Float32 GetChannelAzimuth( UInt32 channel ) const = 0;
68  virtual void SetChannelAzimuth( UInt32 channel, Float32 azimuth ) = 0;
69 
72  virtual Float32 GetDopplerScaler( void ) const = 0;
75  virtual void SetDopplerScaler( Float32 scaler ) = 0;
76 
79  virtual void Update( void ) = 0;
80 
83  virtual Boolean IsCloneable( void ) const = 0;
86  virtual Boolean Clone( Mix::Sound::IEmitter** ppEmitter ) = 0;
87  };
88 
89 }}
virtual const Mix::Vector3 & GetLocalFront(void) const =0
ローカルの前方ベクトルを取得します
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
virtual Float32 GetChannelRadius(void) const =0
チャンネルの半径を取得します
virtual void SetDopplerScaler(Float32 scaler)=0
ドップラー効果のスケーラーを設定します
virtual Float32 GetDopplerScaler(void) const =0
ドップラー効果のスケーラーを取得します
デバイスインターフェース
Definition: IDevice.h:12
virtual Boolean IsCloneable(void) const =0
複製できるかどうかを取得します
virtual const Mix::Vector3 & GetWorldFront(void) const =0
ワールドの前方ベクトルを取得します
4x4行列クラス
Definition: Matrix4x4.h:12
unsigned int UInt32
符号無し32ビット整数
Definition: Common.h:68
virtual void SetWorldMatrix(const Mix::Matrix4x4 &mat)=0
ワールド行列を設定します
virtual void SetChannelAzimuth(UInt32 channel, Float32 azimuth)=0
チャンネルの方位各を設定します
virtual UInt32 GetChannelCount(void) const =0
チャンネル数を取得します
ミックス
Definition: AtomicValue.h:6
エミッターインターフェース
Definition: IEmitter.h:12
virtual void SetVelocity(const Mix::Vector3 &velocity)=0
毎秒の移動速度を設定します
float Float32
32ビット浮動小数点
Definition: Common.h:83
virtual Boolean Clone(Mix::Sound::IEmitter **ppEmitter)=0
自身を複製します
virtual const Mix::Vector3 & GetWorldUp(void) const =0
ワールドの上方ベクトルを取得します
virtual void SetChannelRadius(Float32 radius)=0
チャンネルの半径を設定します
virtual const Mix::Vector3 & GetLocalUp(void) const =0
ローカルの上方ベクトルを取得します
virtual const Mix::Vector3 & GetVelocity(void) const =0
毎秒の移動速度を取得します
virtual void Update(void)=0
更新します
virtual const Mix::Matrix4x4 & GetWorldMatrix(void) const =0
ワールド行列を取得します
virtual Float32 GetChannelAzimuth(UInt32 channel) const =0
チャンネルの方位各を取得します
デバイスインターフェースインクルードファイル
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
virtual ~IEmitter(void)
デストラクタ
Definition: IEmitter.h:16