38 CParameter(
const string& sName):m_sName(sName), m_type(PARAM_UNKNOWN){};
47 const string& GetTypeAsString();
58 bool SetValueByString(
const char*
value,
int nType = -1);
61 string GetValueByString();
64 const string&
GetName()
const {
return m_sName;};
66 void SetName(
const string& sName) {m_sName = sName;};
75 void SetRawData(
const char* data,
int nSize){m_data.resize(nSize); memcpy(&(m_data[0]), data, nSize);};
77 operator int() {
return *((
int*)GetRawData());};
79 operator DWORD() {
return *((DWORD*)GetRawData());};
80 operator float() {
return *((
float*)GetRawData());};
85 operator LPTextureEntity() {
return *((LPTextureEntity*)GetRawData());};
88 CParameter& operator =(
const int& r) { m_type=PARAM_INT; m_data.resize(
sizeof(
int)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
89 CParameter& operator =(
const bool& r) { m_type=PARAM_BOOLEAN;m_data.resize(
sizeof(BOOL)); BOOL p = r; memcpy(GetRawData(), &p, (
int)m_data.size());
return *
this;};
90 CParameter& operator =(
const float& r) { m_type=PARAM_FLOAT;m_data.resize(
sizeof(
float)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
92 CParameter& operator =(
const Vector2& r) { m_type=PARAM_VECTOR2;m_data.resize(
sizeof(
Vector2)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
93 CParameter& operator =(
const Vector3& r) { m_type=PARAM_VECTOR3;m_data.resize(
sizeof(
Vector3)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
94 CParameter& operator =(
const Vector4& r) { m_type=PARAM_VECTOR4;m_data.resize(
sizeof(
Vector4)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
95 CParameter& operator =(
const Matrix4& r) { m_type=PARAM_MATRIX;m_data.resize(
sizeof(
Matrix4)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
96 CParameter& operator =(
const LPTextureEntity& r) { m_type=PARAM_TEXTURE_ENTITY;m_data.resize(
sizeof(LPTextureEntity)); memcpy(GetRawData(), &r, (
int)m_data.size());
return *
this;};
111 typedef map <string, CParameter>::iterator ParamIterator;
112 map <string, CParameter> m_params;
114 ParamIterator BeginIter() {
return m_params.begin();};
115 ParamIterator EndIter() {
return m_params.end();};
116 bool IsEmpty() {
return m_params.empty();};
122 map <string, CParameter>::iterator it = m_params.find(sName);
123 if(it!=m_params.end())
141 map <string, CParameter>::iterator it = m_params.find(sName);
142 if(it!=m_params.end())
144 return &(it->second);
156 void SetParamByStringValue(
const char* sParamName,
const char* sValue_);
180 bool m_bLastZEnabled;
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition: TextureEntity.h:29
void SetRawData(const char *data, int nSize)
set raw data bytes
Definition: ParameterBlock.h:75
4-dimensional homogeneous vector.
Definition: ParaVector4.h:10
apply object-level params and restore to default value.
Definition: ParameterBlock.h:169
different physics engine has different winding order.
Definition: EventBinding.h:32
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
char * GetRawData()
raw data bytes
Definition: ParameterBlock.h:69
Standard 2-dimensional vector.
Definition: ParaVector2.h:16
const string & GetName() const
get parameter name.
Definition: ParameterBlock.h:64
void SetParameter(const string &sName, const t &value)
if there is already a parameter with the same name, it will be overridden.
Definition: ParameterBlock.h:120
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: ParaMatrix4.h:23
PARAMETER_TYPE
current type of the parameter
Definition: ParameterBlock.h:23
Definition: enum_maker.hpp:46
Definition: effect_file.h:323
a name, value pair.
Definition: ParameterBlock.h:17
int GetRawDataLength()
raw data bytes
Definition: ParameterBlock.h:72
void SetName(const string &sName)
set parameter name.
Definition: ParameterBlock.h:66
string m_sName
string name of the parameter
Definition: ParameterBlock.h:39
CParameter * GetParameter(const string &sName)
get parameter by its name, NULL will be returned if parameter is not found.
Definition: ParameterBlock.h:139
a list of CParameter{name, value} pairs of anything.
Definition: ParameterBlock.h:108