本文整理汇总了C++中ParamDictionary类的典型用法代码示例。如果您正苦于以下问题:C++ ParamDictionary类的具体用法?C++ ParamDictionary怎么用?C++ ParamDictionary使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ParamDictionary类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mAnimationName
//-----------------------------------------------------------------------
MeshAnimationAffector::MeshAnimationAffector(ParticleSystem* psys)
:ParticleAffector(psys),
mAnimationName(""),
mAnimationLoop(false),
mAnimationSpeedFactor(1.0f)
{
mType = "MeshAnimationAffector";
// Init parameters
if (createParamDictionary("MeshAnimationAffector"))
{
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("animation_name",
"the name of the animation.", PT_STRING),
&msAnimationNameCmd);
dict->addParameter(ParameterDef("animation_loop",
"set the looping of the animation.", PT_BOOL),
&msAnimationLoopCmd);
dict->addParameter(ParameterDef("animation_speed",
"set the speed factor of the animation.", PT_REAL),
&msAnimationSpeedFactorCmd);
}
}
示例2: HighLevelGpuProgram
//-----------------------------------------------------------------------
D3D10HLSLProgram::D3D10HLSLProgram(ResourceManager* creator, const String& name,
ResourceHandle handle, const String& group, bool isManual,
ManualResourceLoader* loader, D3D10Device & device)
: HighLevelGpuProgram(creator, name, handle, group, isManual, loader)
, mpMicroCode(NULL), mErrorsInCompile(false), mConstantBuffer(NULL), mDevice(device),
mpIShaderReflection(NULL), mShaderReflectionConstantBuffer(NULL), mpVertexShader(NULL)//, mpConstTable(NULL)
{
if ("Hatch_ps_hlsl" == name)
{
mpMicroCode = NULL;
}
ZeroMemory(&mConstantBufferDesc, sizeof(mConstantBufferDesc)) ;
ZeroMemory(&mShaderDesc, sizeof(mShaderDesc)) ;
if (createParamDictionary("D3D10HLSLProgram"))
{
setupBaseParamDictionary();
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("entry_point",
"The entry point for the HLSL program.",
PT_STRING),&msCmdEntryPoint);
dict->addParameter(ParameterDef("target",
"Name of the assembler target to compile down to.",
PT_STRING),&msCmdTarget);
dict->addParameter(ParameterDef("preprocessor_defines",
"Preprocessor defines use to compile the program.",
PT_STRING),&msCmdPreprocessorDefines);
dict->addParameter(ParameterDef("column_major_matrices",
"Whether matrix packing in column-major order.",
PT_BOOL),&msCmdColumnMajorMatrices);
}
}
示例3: ParticleAffector
//-----------------------------------------------------------------------
RotationAffector::RotationAffector(ParticleSystem* psys) :
ParticleAffector(psys),
mRotationSpeedRangeStart(0),
mRotationSpeedRangeEnd(0),
mRotationRangeStart(0),
mRotationRangeEnd(0)
{
mType = "Rotator";
// Init parameters
if (createParamDictionary("RotationAffector"))
{
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("rotation_speed_range_start",
"The start of a range of rotation speed to be assigned to emitted particles.", PT_REAL),
&msRotationSpeedRangeStartCmd);
dict->addParameter(ParameterDef("rotation_speed_range_end",
"The end of a range of rotation speed to be assigned to emitted particles.", PT_REAL),
&msRotationSpeedRangeEndCmd);
dict->addParameter(ParameterDef("rotation_range_start",
"The start of a range of rotation angles to be assigned to emitted particles.", PT_REAL),
&msRotationRangeStartCmd);
dict->addParameter(ParameterDef("rotation_range_end",
"The end of a range of rotation angles to be assigned to emitted particles.", PT_REAL),
&msRotationRangeEndCmd);
}
}
示例4: FromXml
//-----------------------------------------------------------------
//-----------------------------------------------------------------
ParamDictionary FromXml(const XML::Node* in_element)
{
ParamDictionary result;
for(auto param = Core::XMLUtils::GetFirstChildElement(in_element); param != nullptr; param = Core::XMLUtils::GetNextSiblingElement(param))
{
std::string key;
std::string value;
for(auto attrib = Core::XMLUtils::GetFirstAttribute(param); attrib != nullptr; attrib = Core::XMLUtils::GetNextAttribute(attrib))
{
if (XMLUtils::GetName(attrib) == "key")
{
key = Core::XMLUtils::GetValue(attrib);
}
else if (XMLUtils::GetName(attrib) == "value")
{
value = attrib->value();
}
}
if(key.length() > 0 && value.length() > 0)
{
result.SetValue(key, value);
}
}
return result;
}
示例5: mMaterialName
//-----------------------------------------------------------------------
MeshParticleRenderer::MeshParticleRenderer() :
mMaterialName(""),
mMeshName(""),
mWorldSpace(false),
mParticleSystemNode(NULL),
mMeshRotation(false),
mMeshSizeChanged(false),
mDefaultWidth(1.0f),
mDefaultHeight(1.0f),
mMeshOrientationType(MOT_ORIENTED_ORIGIN),
mNextPoolIndex(0)
{
if (createParamDictionary("MeshParticleRenderer"))
{
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("mesh_name",
"the name of the mesh.",
PT_STRING),
&msMeshNameCmd);
dict->addParameter(ParameterDef("orientation_type",
"the orientation type of mesh particle,"
"'oriented_origin' means particles are oriened origin direction,"
"'oriented_self' means particles are oriented around their own direction.",
PT_STRING),
&msOrientationTypeCmd);
}
_freeParticleMeshVisualDatas();
}
示例6: ParticleAffector
//-----------------------------------------------------------------------
FireExtinguisherAffector::FireExtinguisherAffector(ParticleSystem* psys)
: ParticleAffector(psys)
{
mType = "FireExtinguisher";
// defaults
mEffectiveness = 1.0;
mEfaf = 0;
// Set up parameters
if (createParamDictionary("FireExtinguisherAffector"))
{
addBaseParameters();
// Add extra paramaters
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("effectiveness",
"How effective is your fire extinguisher? Anything higher than one is more effective than water while everything lower than one is less effective than water.",
PT_REAL), &msEffectivenessCmd);
}
// get fire affector factory
ParticleSystemManager::ParticleAffectorFactoryIterator pafi = ParticleSystemManager::getSingleton().getAffectorFactoryIterator();
ParticleAffectorFactory *paf;
while(pafi.hasMoreElements())
{
paf = pafi.getNext();
if ( paf->getName() == "ExtinguishableFire" )
{
mEfaf = (ExtinguishableFireAffectorFactory *)paf;
break;
}
}
if (!mEfaf) LOG("ERROR: Couldn't find an ExtinguishableFireAffectorFactory instance. Was it registered in the content manager?");
}
示例7: setSize
//-----------------------------------------------------------------------
bool AreaEmitter::initDefaults(const String& t)
{
// called by the constructor as initDefaults("Type")
// Defaults
mDirection = Vector3::UNIT_Z;
mUp = Vector3::UNIT_Y;
setSize(100,100,100);
mType = t;
// Set up parameters
if (createParamDictionary(mType + "Emitter"))
{
addBaseParameters();
ParamDictionary* dict = getParamDictionary();
// Custom params
dict->addParameter(ParameterDef("width",
"Width of the shape in world coordinates.",
PT_REAL),&msWidthCmd);
dict->addParameter(ParameterDef("height",
"Height of the shape in world coordinates.",
PT_REAL),&msHeightCmd);
dict->addParameter(ParameterDef("depth",
"Depth of the shape in world coordinates.",
PT_REAL),&msDepthCmd);
return true;
}
return false;
}
示例8: ParticleAffector
//-----------------------------------------------------------------------
DeflectorPlaneAffector::DeflectorPlaneAffector(ParticleSystem* psys)
: ParticleAffector(psys)
{
mType = "DeflectorPlane";
// defaults
mPlanePoint = Vector3::ZERO;
mPlaneNormal = Vector3::UNIT_Y;
mBounce = 1.0;
// Set up parameters
if (createParamDictionary("DeflectorPlaneAffector"))
{
addBaseParameters();
// Add extra paramaters
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("plane_point",
"A point on the deflector plane. Together with the normal vector it defines the plane.",
PT_VECTOR3), &msPlanePointCmd);
dict->addParameter(ParameterDef("plane_normal",
"The normal vector of the deflector plane. Together with the point it defines the plane.",
PT_VECTOR3), &msPlaneNormalCmd);
dict->addParameter(ParameterDef("bounce",
"The amount of bouncing when a particle is deflected. 0 means no deflection and 1 stands for 100 percent reflection.",
PT_REAL), &msBounceCmd);
}
}
示例9: ParticleAffector
//-----------------------------------------------------------------------
ColourFaderAffector::ColourFaderAffector(ParticleSystem* psys) : ParticleAffector(psys)
{
mRedAdj = mGreenAdj = mBlueAdj = mAlphaAdj = 0;
mType = "ColourFader";
// Init parameters
if (createParamDictionary("ColourFaderAffector"))
{
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("red",
"The amount by which to adjust the red component of particles per second.",
PT_REAL), &msRedCmd);
dict->addParameter(ParameterDef("green",
"The amount by which to adjust the green component of particles per second.",
PT_REAL), &msGreenCmd);
dict->addParameter(ParameterDef("blue",
"The amount by which to adjust the blue component of particles per second.",
PT_REAL), &msBlueCmd);
dict->addParameter(ParameterDef("alpha",
"The amount by which to adjust the alpha component of particles per second.",
PT_REAL), &msAlphaCmd);
}
}
示例10: HighLevelGpuProgram
//-----------------------------------------------------------------------
CgProgram::CgProgram(ResourceManager* creator, const String& name,
ResourceHandle handle, const String& group, bool isManual,
ManualResourceLoader* loader, CGcontext context)
: HighLevelGpuProgram(creator, name, handle, group, isManual, loader),
mCgContext(context),
mSelectedCgProfile(CG_PROFILE_UNKNOWN), mCgArguments(0), mParametersMapSizeAsBuffer(0)
{
if (createParamDictionary("CgProgram"))
{
setupBaseParamDictionary();
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("entry_point",
"The entry point for the Cg program.",
PT_STRING),&msCmdEntryPoint);
dict->addParameter(ParameterDef("profiles",
"Space-separated list of Cg profiles supported by this profile.",
PT_STRING),&msCmdProfiles);
dict->addParameter(ParameterDef("compile_arguments",
"A string of compilation arguments to pass to the Cg compiler.",
PT_STRING),&msCmdArgs);
}
}
示例11: HighLevelGpuProgram
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
GLSLESProgram::GLSLESProgram(ResourceManager* creator,
const String& name, ResourceHandle handle,
const String& group, bool isManual, ManualResourceLoader* loader)
: HighLevelGpuProgram(creator, name, handle, group, isManual, loader)
, mGLShaderHandle(0)
, mGLProgramHandle(0)
, mCompiled(0)
#if !OGRE_NO_GLES2_GLSL_OPTIMISER
, mIsOptimised(false)
, mOptimiserEnabled(false)
#endif
{
if (createParamDictionary("GLSLESProgram"))
{
setupBaseParamDictionary();
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("preprocessor_defines",
"Preprocessor defines use to compile the program.",
PT_STRING),&msCmdPreprocessorDefines);
#if !OGRE_NO_GLES2_GLSL_OPTIMISER
dict->addParameter(ParameterDef("use_optimiser",
"Should the GLSL optimiser be used. Default is false.",
PT_BOOL),&msCmdOptimisation);
#endif
}
// Manually assign language now since we use it immediately
mSyntaxCode = "glsles";
}
示例12: ParticleAffector
//-----------------------------------------------------------------------
ColourInterpolatorAffector::ColourInterpolatorAffector(ParticleSystem* psys)
: ParticleAffector(psys)
{
for (int i=0;i<MAX_STAGES;i++)
{
// set default colour to transparent grey, transparent since we might not want to display the particle here
// grey because when a colour component is 0.5f the maximum difference to another colour component is 0.5f
mColourAdj[i] = ColourValue(0.5f, 0.5f, 0.5f, 0.0f);
mTimeAdj[i] = 1.0f;
}
mType = "ColourInterpolator";
// Init parameters
if (createParamDictionary("ColourInterpolatorAffector"))
{
ParamDictionary* dict = getParamDictionary();
for (int i=0;i<MAX_STAGES;i++)
{
msColourCmd[i].mIndex = i;
msTimeCmd[i].mIndex = i;
StringUtil::StrStreamType stage;
stage << i;
String colour_title = String("colour") + stage.str();
String time_title = String("time") + stage.str();
String colour_descr = String("Stage ") + stage.str() + String(" colour.");
String time_descr = String("Stage ") + stage.str() + String(" time.");
dict->addParameter(ParameterDef(colour_title, colour_descr, PT_COLOURVALUE), &msColourCmd[i]);
dict->addParameter(ParameterDef(time_title, time_descr, PT_REAL), &msTimeCmd[i]);
}
}
}
示例13: ParticleAffector
//-----------------------------------------------------------------------
DirectionRandomiserAffector::DirectionRandomiserAffector(ParticleSystem* psys)
: ParticleAffector(psys)
{
mType = "DirectionRandomiser";
// defaults
mRandomness = 1.0;
mScope = 1.0;
mKeepVelocity = false;
// Set up parameters
if (createParamDictionary("DirectionRandomiserAffector"))
{
addBaseParameters();
// Add extra paramaters
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("randomness",
"The amount of randomness (chaos) to apply to the particle movement.",
PT_REAL), &msRandomnessCmd);
dict->addParameter(ParameterDef("scope",
"The percentage of particles which is affected.",
PT_REAL), &msScopeCmd);
dict->addParameter(ParameterDef("keep_velocity",
"Detemines whether the velocity of the particles is changed.",
PT_BOOL), &msKeepVelocityCmd);
}
}
示例14: addBaseParameters
//-----------------------------------------------------------------------
LinearForceAffector::LinearForceAffector(ParticleSystem* psys)
:ParticleAffector(psys)
{
mType = "LinearForce";
// Default to gravity-like
mForceApplication = FA_ADD;
mForceVector.x = mForceVector.z = 0;
mForceVector.y = -100;
// Set up parameters
if (createParamDictionary("LinearForceAffector"))
{
addBaseParameters();
// Add extra paramaters
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("force_vector",
"The vector representing the force to apply.",
PT_VECTOR3),&msForceVectorCmd);
dict->addParameter(ParameterDef("force_application",
"How to apply the force vector to particles.",
PT_STRING),&msForceAppCmd);
}
}
示例15: OGRE_EXCEPT
void ExternalTextureSource::addBaseParams()
{
if( mDictionaryName == "NotAssigned" )
OGRE_EXCEPT(Exception::ERR_FILE_NOT_FOUND,
"Plugin " + mPlugInName +
" needs to override default mDictionaryName",
"ExternalTextureSource::addBaseParams");
//Create Dictionary Here
if (createParamDictionary( mDictionaryName ))
{
ParamDictionary* dict = getParamDictionary();
dict->addParameter(ParameterDef("filename",
"A source for the texture effect (only certain plugins require this)"
, PT_STRING),
&ExternalTextureSource::msCmdInputFile);
dict->addParameter(ParameterDef("frames_per_second",
"How fast should playback be (only certain plugins use this)"
, PT_INT),
&ExternalTextureSource::msCmdFramesPerSecond);
dict->addParameter(ParameterDef("play_mode",
"How the playback starts(only certain plugins use this)"
, PT_STRING),
&ExternalTextureSource::msCmdPlayMode);
dict->addParameter(ParameterDef("set_T_P_S",
"Set the technique, pass, and state level of this texture_unit (eg. 0 0 0 )"
, PT_STRING),
&ExternalTextureSource::msCmdTecPassState);
}
}