MCPcopy Create free account
hub / github.com/OGRECave/ogre-next / loadGeometry

Method loadGeometry

Components/Volume/src/OgreVolumeChunk.cpp:206–246  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

204 //-----------------------------------------------------------------------
205
206 void Chunk::loadGeometry(MeshBuilder *meshBuilder, DualGridGenerator *dualGridGenerator, OctreeNode *root, size_t level, bool isUpdate)
207 {
208 size_t chunkTriangles = meshBuilder->generateBuffers(mRenderOp);
209 mInvisible = chunkTriangles == 0;
210
211 if (mShared->parameters->lodCallback)
212 {
213 meshBuilder->executeCallback(mShared->parameters->lodCallback, this, level, mShared->chunksBeingProcessed);
214 }
215
216 mBox = meshBuilder->getBoundingBox();
217
218 if (!mInvisible)
219 {
220 if (isUpdate)
221 {
222 mNode->detachObject(this);
223 }
224 mNode->attachObject(this);
225 }
226
227 setVisible(false);
228
229 if (mShared->parameters->createDualGridVisualization)
230 {
231 mDualGrid = dualGridGenerator->getDualGrid(mShared->parameters->sceneManager);
232 if (mDualGrid)
233 {
234 mNode->attachObject(mDualGrid);
235 mDualGrid->setVisible(false);
236 }
237 }
238
239 if (mShared->parameters->createOctreeVisualization)
240 {
241 mOctree = root->getOctreeGrid(mShared->parameters->sceneManager);
242 mNode->attachObject(mOctree);
243 mOctree->setVisible(false);
244 }
245 mShared->chunksBeingProcessed--;
246 }
247
248 //-----------------------------------------------------------------------
249

Callers 1

handleResponseMethod · 0.80

Calls 9

setVisibleFunction · 0.85
generateBuffersMethod · 0.80
executeCallbackMethod · 0.80
getBoundingBoxMethod · 0.80
detachObjectMethod · 0.80
attachObjectMethod · 0.80
getDualGridMethod · 0.80
getOctreeGridMethod · 0.80
setVisibleMethod · 0.45

Tested by

no test coverage detected