mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 22:13:12 +02:00
dry up some code
This commit is contained in:
parent
dd2a29aace
commit
79141e3869
2 changed files with 19 additions and 26 deletions
|
@ -162,6 +162,19 @@ void RenderableModelEntityItem::remapTextures() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RenderableModelEntityItem::doInitialModelSimulation() {
|
||||||
|
_model->setScaleToFit(true, getDimensions());
|
||||||
|
_model->setSnapModelToRegistrationPoint(true, getRegistrationPoint());
|
||||||
|
_model->setRotation(getRotation());
|
||||||
|
_model->setTranslation(getPosition());
|
||||||
|
{
|
||||||
|
PerformanceTimer perfTimer("_model->simulate");
|
||||||
|
_model->simulate(0.0f);
|
||||||
|
}
|
||||||
|
_needsInitialSimulation = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// TODO: we need a solution for changes to the postion/rotation/etc of a model...
|
// TODO: we need a solution for changes to the postion/rotation/etc of a model...
|
||||||
// this current code path only addresses that in this setup case... not the changing/moving case
|
// this current code path only addresses that in this setup case... not the changing/moving case
|
||||||
bool RenderableModelEntityItem::readyToAddToScene(RenderArgs* renderArgs) {
|
bool RenderableModelEntityItem::readyToAddToScene(RenderArgs* renderArgs) {
|
||||||
|
@ -172,22 +185,12 @@ bool RenderableModelEntityItem::readyToAddToScene(RenderArgs* renderArgs) {
|
||||||
getModel(renderer);
|
getModel(renderer);
|
||||||
}
|
}
|
||||||
if (renderArgs && _model && _needsInitialSimulation && _model->isActive() && _model->isLoaded()) {
|
if (renderArgs && _model && _needsInitialSimulation && _model->isActive() && _model->isLoaded()) {
|
||||||
_model->setScaleToFit(true, getDimensions());
|
|
||||||
_model->setSnapModelToRegistrationPoint(true, getRegistrationPoint());
|
|
||||||
_model->setRotation(getRotation());
|
|
||||||
_model->setTranslation(getPosition());
|
|
||||||
|
|
||||||
// make sure to simulate so everything gets set up correctly for rendering
|
// make sure to simulate so everything gets set up correctly for rendering
|
||||||
{
|
doInitialModelSimulation();
|
||||||
PerformanceTimer perfTimer("_model->simulate");
|
|
||||||
_model->simulate(0.0f);
|
|
||||||
}
|
|
||||||
_needsInitialSimulation = false;
|
|
||||||
|
|
||||||
_model->renderSetup(renderArgs);
|
_model->renderSetup(renderArgs);
|
||||||
}
|
}
|
||||||
bool ready = !_needsInitialSimulation && _model && _model->readyToAddToScene(renderArgs);
|
bool ready = !_needsInitialSimulation && _model && _model->readyToAddToScene(renderArgs);
|
||||||
return ready;
|
return ready;
|
||||||
}
|
}
|
||||||
|
|
||||||
class RenderableModelEntityItemMeta {
|
class RenderableModelEntityItemMeta {
|
||||||
|
@ -348,18 +351,7 @@ void RenderableModelEntityItem::updateModelBounds() {
|
||||||
_model->getRotation() != getRotation() ||
|
_model->getRotation() != getRotation() ||
|
||||||
_model->getRegistrationPoint() != getRegistrationPoint())
|
_model->getRegistrationPoint() != getRegistrationPoint())
|
||||||
&& _model->isActive() && _dimensionsInitialized) {
|
&& _model->isActive() && _dimensionsInitialized) {
|
||||||
_model->setScaleToFit(true, dimensions);
|
doInitialModelSimulation();
|
||||||
_model->setSnapModelToRegistrationPoint(true, getRegistrationPoint());
|
|
||||||
_model->setRotation(getRotation());
|
|
||||||
_model->setTranslation(getPosition());
|
|
||||||
|
|
||||||
// make sure to simulate so everything gets set up correctly for rendering
|
|
||||||
{
|
|
||||||
PerformanceTimer perfTimer("_model->simulate");
|
|
||||||
_model->simulate(0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
_needsInitialSimulation = false;
|
|
||||||
_needsJointSimulation = false;
|
_needsJointSimulation = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -592,8 +584,7 @@ bool RenderableModelEntityItem::isReadyToComputeShape() {
|
||||||
if (_needsInitialSimulation) {
|
if (_needsInitialSimulation) {
|
||||||
// the _model's offset will be wrong until _needsInitialSimulation is false
|
// the _model's offset will be wrong until _needsInitialSimulation is false
|
||||||
PerformanceTimer perfTimer("_model->simulate");
|
PerformanceTimer perfTimer("_model->simulate");
|
||||||
_model->simulate(0.0f);
|
doInitialModelSimulation();
|
||||||
_needsInitialSimulation = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -38,6 +38,8 @@ public:
|
||||||
EntityPropertyFlags& propertyFlags, bool overwriteLocalData,
|
EntityPropertyFlags& propertyFlags, bool overwriteLocalData,
|
||||||
bool& somethingChanged) override;
|
bool& somethingChanged) override;
|
||||||
|
|
||||||
|
void doInitialModelSimulation();
|
||||||
|
|
||||||
virtual bool readyToAddToScene(RenderArgs* renderArgs = nullptr);
|
virtual bool readyToAddToScene(RenderArgs* renderArgs = nullptr);
|
||||||
virtual bool addToScene(EntityItemPointer self, std::shared_ptr<render::Scene> scene, render::PendingChanges& pendingChanges) override;
|
virtual bool addToScene(EntityItemPointer self, std::shared_ptr<render::Scene> scene, render::PendingChanges& pendingChanges) override;
|
||||||
virtual void removeFromScene(EntityItemPointer self, std::shared_ptr<render::Scene> scene, render::PendingChanges& pendingChanges) override;
|
virtual void removeFromScene(EntityItemPointer self, std::shared_ptr<render::Scene> scene, render::PendingChanges& pendingChanges) override;
|
||||||
|
|
Loading…
Reference in a new issue