TDME2 1.9.121
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PrototypeDisplaySubView.cpp
Go to the documentation of this file.
2
3#include <string>
4#include <vector>
5
6#include <tdme/tdme.h>
14
16
17using std::string;
18using std::vector;
19
27
28PrototypeDisplaySubView::PrototypeDisplaySubView(Engine* engine, PrototypeDisplaySubController* prototypeDisplaySubController)
29{
30 this->engine = engine;
31 this->prototypeDisplaySubController = prototypeDisplaySubController;
32}
33
35}
36
38 auto object = dynamic_cast<Object3D*>(engine->getEntity("model"));
39 if (object == nullptr || prototype == nullptr) return;
40 auto shaderParametersDefault = Engine::getShaderParameterDefaults(prototype->getShader());
41 auto distanceShaderParametersDefault = Engine::getShaderParameterDefaults(prototype->getDistanceShader());
42 for (auto& parameterIt: shaderParametersDefault) {
43 auto& parameterName = parameterIt.first;
44 auto parameterValue = prototype->getShaderParameters().getShaderParameter(parameterName);
45 object->setShaderParameter(parameterName, parameterValue);
46 }
47 for (auto& parameterIt: distanceShaderParametersDefault) {
48 auto& parameterName = parameterIt.first;
49 auto parameterValue = prototype->getDistanceShaderParameters().getShaderParameter(parameterName);
50 object->setDistanceShaderParameter(parameterName, parameterValue);
51 }
52}
53
54
56{
57 if (prototype != nullptr) {
58 auto model = engine->getEntity("model");
59 if (model != nullptr) model->setContributesShadows(displayShadowing == true && prototype->isContributesShadows() == true);
60 if (model != nullptr) model->setReceivesShadows(displayShadowing == true && prototype->isReceivesShadows() == true);
61 auto ground = engine->getEntity("ground");
62 if (ground != nullptr) ground->setEnabled(displayGroundPlate);
63 if (ground != nullptr) ground->setContributesShadows(false);
64 if (ground != nullptr) ground->setReceivesShadows(displayShadowing);
65 }
66}
Engine main class.
Definition: Engine.h:122
Entity * getEntity(const string &id)
Returns a entity by given id.
Definition: Engine.h:981
TDME2 engine entity shader parameters.
const ShaderParameter getShaderParameter(const string &parameterName) const
Returns shader parameter for given parameter name, if the value does not exist, the default will be r...
TDME engine entity.
Definition: Entity.h:31
virtual void setContributesShadows(bool contributesShadows)=0
Enable/disable contributes shadows.
virtual void setEnabled(bool enabled)=0
Enable/disable rendering.
Object 3D to be used with engine class.
Definition: Object3D.h:60
Shader parameter model class.
Prototype definition.
Definition: Prototype.h:49
const string & getShader()
Get shader.
Definition: Prototype.h:398
const string & getDistanceShader()
Get distance shader.
Definition: Prototype.h:415
const EntityShaderParameters & getDistanceShaderParameters()
Get distance shader parameters.
Definition: Prototype.h:464
const EntityShaderParameters & getShaderParameters()
Get shader parameters.
Definition: Prototype.h:448
void updateShaderParameters(Prototype *prototype)
Update shader parameters.