MCPcopy Create free account
hub / github.com/OGRECave/ogre / getTranslator

Method getTranslator

OgreMain/src/OgreScriptTranslator.cpp:5216–5264  ·  view source on GitHub ↗

-------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

5214 }
5215 //-------------------------------------------------------------------------
5216 ScriptTranslator *BuiltinScriptTranslatorManager::getTranslator(const AbstractNodePtr &node)
5217 {
5218 ScriptTranslator *translator = 0;
5219
5220 if(node->type == ANT_OBJECT)
5221 {
5222 ObjectAbstractNode *obj = static_cast<ObjectAbstractNode*>(node.get());
5223 ObjectAbstractNode *parent = obj->parent ? static_cast<ObjectAbstractNode*>(obj->parent) : 0;
5224 if(obj->id == ID_MATERIAL)
5225 translator = &mMaterialTranslator;
5226 else if(obj->id == ID_TECHNIQUE && parent && parent->id == ID_MATERIAL)
5227 translator = &mTechniqueTranslator;
5228 else if(obj->id == ID_PASS && parent && parent->id == ID_TECHNIQUE)
5229 translator = &mPassTranslator;
5230 else if(obj->id == ID_TEXTURE_UNIT && parent && parent->id == ID_PASS)
5231 translator = &mTextureUnitTranslator;
5232 else if(obj->id == ID_TEXTURE_SOURCE && parent && parent->id == ID_TEXTURE_UNIT)
5233 translator = &mTextureSourceTranslator;
5234 else if(obj->id == ID_FRAGMENT_PROGRAM ||
5235 obj->id == ID_VERTEX_PROGRAM ||
5236 obj->id == ID_GEOMETRY_PROGRAM ||
5237 obj->id == ID_TESSELLATION_HULL_PROGRAM ||
5238 obj->id == ID_TESSELLATION_DOMAIN_PROGRAM ||
5239 obj->id == ID_COMPUTE_PROGRAM ||
5240 obj->id == ID_MESH_PROGRAM ||
5241 obj->id == ID_TASK_PROGRAM)
5242 translator = &mGpuProgramTranslator;
5243 else if(obj->id == ID_SHARED_PARAMS)
5244 translator = &mSharedParamsTranslator;
5245 else if(obj->id == ID_PARTICLE_SYSTEM)
5246 translator = &mParticleSystemTranslator;
5247 else if(obj->id == ID_EMITTER)
5248 translator = &mParticleEmitterTranslator;
5249 else if(obj->id == ID_AFFECTOR)
5250 translator = &mParticleAffectorTranslator;
5251 else if(obj->id == ID_COMPOSITOR)
5252 translator = &mCompositorTranslator;
5253 else if(obj->id == ID_TECHNIQUE && parent && parent->id == ID_COMPOSITOR)
5254 translator = &mCompositionTechniqueTranslator;
5255 else if((obj->id == ID_TARGET || obj->id == ID_TARGET_OUTPUT) && parent && parent->id == ID_TECHNIQUE)
5256 translator = &mCompositionTargetPassTranslator;
5257 else if(obj->id == ID_PASS && parent && (parent->id == ID_TARGET || parent->id == ID_TARGET_OUTPUT))
5258 translator = &mCompositionPassTranslator;
5259 else if(obj->id == ID_SAMPLER)
5260 translator = &mSamplerTranslator;
5261 }
5262
5263 return translator;
5264 }
5265}

Callers 1

processNodeMethod · 0.45

Calls 1

getMethod · 0.45

Tested by

no test coverage detected