Skip to content
Snippets Groups Projects
Commit 1c7fb6aa authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

ba3d Object + accessor fct geo()

parent f67285af
No related branches found
No related tags found
1 merge request!1067break include cycle in ba3d
...@@ -95,7 +95,14 @@ void Object::addExtrinsicRotation(F3 turn, F3 scale, F3& rotate, F3 rotateExtrin ...@@ -95,7 +95,14 @@ void Object::addExtrinsicRotation(F3 turn, F3 scale, F3& rotate, F3 rotateExtrin
void Object::releaseGeometry() void Object::releaseGeometry()
{ {
geo.reset(); m_geo.reset();
}
const Geometry& Object::geo()
{
if (!m_geo)
m_geo = geometryStore().getGeometry(gky);
return *m_geo;
} }
void Object::draw(Canvas& canvas) void Object::draw(Canvas& canvas)
...@@ -103,9 +110,7 @@ void Object::draw(Canvas& canvas) ...@@ -103,9 +110,7 @@ void Object::draw(Canvas& canvas)
if (isNull) if (isNull)
return; return;
if (!geo) canvas.draw(color, mat, geo());
geo = geometryStore().getGeometry(gky);
canvas.draw(color, mat, *geo);
} }
} // namespace GUI::RealSpace } // namespace GUI::RealSpace
......
...@@ -41,6 +41,7 @@ public: ...@@ -41,6 +41,7 @@ public:
void transform(F3 turn, F3 scale, F3 rotate, F3 translate); void transform(F3 turn, F3 scale, F3 rotate, F3 translate);
void addExtrinsicRotation(F3 turn, F3 scale, F3& rotate, F3 rotateExtrinsic, F3& translate); void addExtrinsicRotation(F3 turn, F3 scale, F3& rotate, F3 rotateExtrinsic, F3& translate);
const Geometry& geo();
protected: protected:
bool isNull; bool isNull;
...@@ -49,7 +50,7 @@ private: ...@@ -49,7 +50,7 @@ private:
Model* model; Model* model;
GeometricID::Key gky; GeometricID::Key gky;
GeometryHandle geo; // retrieved on demand GeometryHandle m_geo; // retrieved on demand
void releaseGeometry(); // can be released whenever void releaseGeometry(); // can be released whenever
QMatrix4x4 mat; QMatrix4x4 mat;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment