From 917f738174f0095b0e1e8fec4a3f9044b8da10b9 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Sun, 23 Jan 2022 16:34:55 +0100 Subject: remove unnecessary object creation; replace deprecated geode with an appriopriate equivelent; clean up old style C++ in files and remove unnesed headers --- apps/opencs/view/render/cell.cpp | 50 ++++++++++++-------------- apps/opencs/view/render/cell.hpp | 1 - apps/opencs/view/render/cellarrow.cpp | 15 +++----- apps/opencs/view/render/cellmarker.cpp | 11 ++---- apps/opencs/view/render/cellwater.cpp | 15 ++++---- apps/opencs/view/render/cellwater.hpp | 3 +- apps/opencs/view/render/object.cpp | 48 +++++++++++-------------- apps/opencs/view/render/object.hpp | 5 ++- apps/opencs/view/render/pathgrid.cpp | 64 ++++++++++++++++------------------ apps/opencs/view/render/pathgrid.hpp | 3 +- components/sceneutil/optimizer.hpp | 4 +-- components/terrain/cellborder.cpp | 22 ++++++------ 12 files changed, 105 insertions(+), 136 deletions(-) diff --git a/apps/opencs/view/render/cell.cpp b/apps/opencs/view/render/cell.cpp index 3395e90e11..418bcee696 100644 --- a/apps/opencs/view/render/cell.cpp +++ b/apps/opencs/view/render/cell.cpp @@ -1,9 +1,9 @@ #include "cell.hpp" #include -#include #include +#include #include #include #include @@ -43,7 +43,7 @@ namespace CSVRender void operator()(osg::Node* node, osg::NodeVisitor* nv) override { traverse(node, nv); - CellNodeContainer* container = static_cast(node->getUserData()); + auto* container = dynamic_cast(node->getUserData()); container->getCell()->updateLand(); } }; @@ -51,8 +51,7 @@ namespace CSVRender bool CSVRender::Cell::removeObject (const std::string& id) { - std::map::iterator iter = - mObjects.find (Misc::StringUtils::lowerCase (id)); + auto iter = mObjects.find (Misc::StringUtils::lowerCase (id)); if (iter==mObjects.end()) return false; @@ -193,9 +192,8 @@ CSVRender::Cell::Cell (CSMWorld::Data& data, osg::Group* rootNode, const std::st CSVRender::Cell::~Cell() { - for (std::map::iterator iter (mObjects.begin()); - iter!=mObjects.end(); ++iter) - delete iter->second; + for (auto & mObject : mObjects) + delete mObject.second; mCellNode->getParent(0)->removeChild(mCellNode); } @@ -210,9 +208,8 @@ bool CSVRender::Cell::referenceableDataChanged (const QModelIndex& topLeft, { bool modified = false; - for (std::map::iterator iter (mObjects.begin()); - iter!=mObjects.end(); ++iter) - if (iter->second->referenceableDataChanged (topLeft, bottomRight)) + for (auto & mObject : mObjects) + if (mObject.second->referenceableDataChanged (topLeft, bottomRight)) modified = true; return modified; @@ -226,9 +223,8 @@ bool CSVRender::Cell::referenceableAboutToBeRemoved (const QModelIndex& parent, bool modified = false; - for (std::map::iterator iter (mObjects.begin()); - iter!=mObjects.end(); ++iter) - if (iter->second->referenceableAboutToBeRemoved (parent, start, end)) + for (auto & mObject : mObjects) + if (mObject.second->referenceableAboutToBeRemoved (parent, start, end)) modified = true; return modified; @@ -269,13 +265,13 @@ bool CSVRender::Cell::referenceDataChanged (const QModelIndex& topLeft, // perform update and remove where needed bool modified = false; - std::map::iterator iter = mObjects.begin(); + auto iter = mObjects.begin(); while (iter!=mObjects.end()) { if (iter->second->referenceDataChanged (topLeft, bottomRight)) modified = true; - std::map::iterator iter2 = ids.find (iter->first); + auto iter2 = ids.find (iter->first); if (iter2!=ids.end()) { @@ -294,12 +290,12 @@ bool CSVRender::Cell::referenceDataChanged (const QModelIndex& topLeft, } // add new objects - for (std::map::iterator mapIter (ids.begin()); mapIter!=ids.end(); ++mapIter) + for (auto & id : ids) { - if (!mapIter->second) + if (!id.second) { mObjects.insert (std::make_pair ( - mapIter->first, new Object (mData, mCellNode, mapIter->first, false))); + id.first, new Object (mData, mCellNode, id.first, false))); modified = true; } @@ -539,11 +535,11 @@ void CSVRender::Cell::setCellArrows (int mask) { for (int i=0; i<4; ++i) { - CellArrow::Direction direction = static_cast (1< (1<(mCellNode, direction, mCoordinates); @@ -586,10 +582,9 @@ std::vector > CSVRender::Cell::getSelection (un std::vector > result; if (elementMask & Mask_Reference) - for (std::map::const_iterator iter (mObjects.begin()); - iter!=mObjects.end(); ++iter) - if (iter->second->getSelected()) - result.push_back (iter->second->getTag()); + for (const auto & mObject : mObjects) + if (mObject.second->getSelected()) + result.push_back (mObject.second->getTag()); if (mPathgrid && elementMask & Mask_Pathgrid) if (mPathgrid->isSelected()) result.emplace_back(mPathgrid->getTag()); @@ -602,10 +597,9 @@ std::vector > CSVRender::Cell::getEdited (unsig std::vector > result; if (elementMask & Mask_Reference) - for (std::map::const_iterator iter (mObjects.begin()); - iter!=mObjects.end(); ++iter) - if (iter->second->isEdited()) - result.push_back (iter->second->getTag()); + for (const auto & mObject : mObjects) + if (mObject.second->isEdited()) + result.push_back (mObject.second->getTag()); return result; } diff --git a/apps/opencs/view/render/cell.hpp b/apps/opencs/view/render/cell.hpp index 5998a4ee62..12f6f0ccdb 100644 --- a/apps/opencs/view/render/cell.hpp +++ b/apps/opencs/view/render/cell.hpp @@ -18,7 +18,6 @@ namespace osg { class Group; class Geometry; - class Geode; } namespace CSMWorld diff --git a/apps/opencs/view/render/cellarrow.cpp b/apps/opencs/view/render/cellarrow.cpp index 776dbf7890..278c49883f 100644 --- a/apps/opencs/view/render/cellarrow.cpp +++ b/apps/opencs/view/render/cellarrow.cpp @@ -1,14 +1,12 @@ - #include "cellarrow.hpp" #include #include -#include +#include #include #include #include "../../model/prefs/state.hpp" -#include "../../model/prefs/shortcutmanager.hpp" #include @@ -96,7 +94,7 @@ void CSVRender::CellArrow::buildShape() const int arrowLength = 1350; const int arrowHeight = 300; - osg::Vec3Array *vertices = new osg::Vec3Array; + auto *vertices = new osg::Vec3Array; for (int i2=0; i2<2; ++i2) for (int i=0; i<2; ++i) { @@ -108,7 +106,7 @@ void CSVRender::CellArrow::buildShape() geometry->setVertexArray (vertices); - osg::DrawElementsUShort *primitives = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0); + auto *primitives = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0); // top primitives->push_back (0); @@ -148,7 +146,7 @@ void CSVRender::CellArrow::buildShape() geometry->addPrimitiveSet (primitives); - osg::Vec4Array *colours = new osg::Vec4Array; + auto *colours = new osg::Vec4Array; for (int i=0; i<6; ++i) colours->push_back (osg::Vec4f (0.11f, 0.6f, 0.95f, 1.0f)); @@ -159,10 +157,7 @@ void CSVRender::CellArrow::buildShape() geometry->getOrCreateStateSet()->setMode (GL_LIGHTING, osg::StateAttribute::OFF); - osg::ref_ptr geode (new osg::Geode); - geode->addDrawable (geometry); - - mBaseNode->addChild (geode); + mBaseNode->addChild (geometry); } CSVRender::CellArrow::CellArrow (osg::Group *cellNode, Direction direction, diff --git a/apps/opencs/view/render/cellmarker.cpp b/apps/opencs/view/render/cellmarker.cpp index 3de96ab023..25d4f76358 100644 --- a/apps/opencs/view/render/cellmarker.cpp +++ b/apps/opencs/view/render/cellmarker.cpp @@ -2,20 +2,15 @@ #include #include -#include #include #include + CSVRender::CellMarkerTag::CellMarkerTag(CellMarker *marker) : TagBase(Mask_CellMarker), mMarker(marker) {} -CSVRender::CellMarker *CSVRender::CellMarkerTag::getCellMarker() const -{ - return mMarker; -} - void CSVRender::CellMarker::buildMarker() { const int characterSize = 20; @@ -44,9 +39,7 @@ void CSVRender::CellMarker::buildMarker() markerText->setText(coordinatesText); // Add text to marker node. - osg::ref_ptr geode (new osg::Geode); - geode->addDrawable(markerText); - mMarkerNode->addChild(geode); + mMarkerNode->addChild(markerText); } void CSVRender::CellMarker::positionMarker() diff --git a/apps/opencs/view/render/cellwater.cpp b/apps/opencs/view/render/cellwater.cpp index 9e4dbd9f14..84dd4c44b6 100644 --- a/apps/opencs/view/render/cellwater.cpp +++ b/apps/opencs/view/render/cellwater.cpp @@ -1,6 +1,5 @@ #include "cellwater.hpp" -#include #include #include #include @@ -28,7 +27,7 @@ namespace CSVRender , mId(id) , mParentNode(cellNode) , mWaterTransform(nullptr) - , mWaterNode(nullptr) + , mWaterGroup(nullptr) , mWaterGeometry(nullptr) , mDeleted(false) , mExterior(false) @@ -41,8 +40,8 @@ namespace CSVRender mWaterTransform->setNodeMask(Mask_Water); mParentNode->addChild(mWaterTransform); - mWaterNode = new osg::Geode(); - mWaterTransform->addChild(mWaterNode); + mWaterGroup = new osg::Group(); + mWaterTransform->addChild(mWaterGroup); int cellIndex = mData.getCells().searchId(mId); if (cellIndex > -1) @@ -101,8 +100,8 @@ namespace CSVRender { const CSMWorld::Collection& cells = mData.getCells(); - int rowStart = -1; - int rowEnd = -1; + int rowStart; + int rowEnd; if (topLeft.parent().isValid()) { @@ -136,7 +135,7 @@ namespace CSVRender if (mWaterGeometry) { - mWaterNode->removeDrawable(mWaterGeometry); + mWaterGroup->removeChild(mWaterGeometry); mWaterGeometry = nullptr; } @@ -177,6 +176,6 @@ namespace CSVRender mWaterGeometry->getStateSet()->setTextureAttributeAndModes(0, waterTexture, osg::StateAttribute::ON); - mWaterNode->addDrawable(mWaterGeometry); + mWaterGroup->addChild(mWaterGeometry); } } diff --git a/apps/opencs/view/render/cellwater.hpp b/apps/opencs/view/render/cellwater.hpp index 47e5867071..be1786955b 100644 --- a/apps/opencs/view/render/cellwater.hpp +++ b/apps/opencs/view/render/cellwater.hpp @@ -12,7 +12,6 @@ namespace osg { - class Geode; class Geometry; class Group; class PositionAttitudeTransform; @@ -60,7 +59,7 @@ namespace CSVRender osg::Group* mParentNode; osg::ref_ptr mWaterTransform; - osg::ref_ptr mWaterNode; + osg::ref_ptr mWaterGroup; osg::ref_ptr mWaterGeometry; bool mDeleted; diff --git a/apps/opencs/view/render/object.cpp b/apps/opencs/view/render/object.cpp index 93c348ecc5..40e362f15d 100644 --- a/apps/opencs/view/render/object.cpp +++ b/apps/opencs/view/render/object.cpp @@ -1,8 +1,8 @@ #include "object.hpp" +#include #include #include -#include #include #include @@ -10,17 +10,13 @@ #include #include -#include #include #include #include #include "../../model/world/data.hpp" -#include "../../model/world/ref.hpp" -#include "../../model/world/refidcollection.hpp" #include "../../model/world/commands.hpp" -#include "../../model/world/universalid.hpp" #include "../../model/world/commandmacro.hpp" #include "../../model/world/cellcoordinates.hpp" #include "../../model/prefs/state.hpp" @@ -43,15 +39,15 @@ const float CSVRender::Object::MarkerHeadLength = 50; namespace { - osg::ref_ptr createErrorCube() + osg::ref_ptr createErrorCube() { osg::ref_ptr shape(new osg::Box(osg::Vec3f(0,0,0), 50.f)); osg::ref_ptr shapedrawable(new osg::ShapeDrawable); shapedrawable->setShape(shape); - osg::ref_ptr geode (new osg::Geode); - geode->addDrawable(shapedrawable); - return geode; + osg::ref_ptr group (new osg::Group); + group->addChild(shapedrawable); + return group; } } @@ -217,7 +213,7 @@ osg::ref_ptr CSVRender::Object::makeMoveOrScaleMarker (int axis) float shaftLength = MarkerShaftBaseLength + mBaseNode->getBound().radius(); // shaft - osg::Vec3Array *vertices = new osg::Vec3Array; + auto *vertices = new osg::Vec3Array; for (int i=0; i<2; ++i) { @@ -240,7 +236,7 @@ osg::ref_ptr CSVRender::Object::makeMoveOrScaleMarker (int axis) geometry->setVertexArray (vertices); - osg::DrawElementsUShort *primitives = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0); + auto *primitives = new osg::DrawElementsUShort (osg::PrimitiveSet::TRIANGLES, 0); // shaft for (int i=0; i<4; ++i) @@ -282,7 +278,7 @@ osg::ref_ptr CSVRender::Object::makeMoveOrScaleMarker (int axis) geometry->addPrimitiveSet (primitives); - osg::Vec4Array *colours = new osg::Vec4Array; + auto *colours = new osg::Vec4Array; for (int i=0; i<8; ++i) colours->push_back (osg::Vec4f (axis==0 ? 1.0f : 0.2f, axis==1 ? 1.0f : 0.2f, @@ -296,10 +292,10 @@ osg::ref_ptr CSVRender::Object::makeMoveOrScaleMarker (int axis) setupCommonMarkerState(geometry); - osg::ref_ptr geode (new osg::Geode); - geode->addDrawable (geometry); + osg::ref_ptr group (new osg::Group); + group->addChild(geometry); - return geode; + return group; } osg::ref_ptr CSVRender::Object::makeRotateMarker (int axis) @@ -370,9 +366,9 @@ osg::ref_ptr CSVRender::Object::makeRotateMarker (int axis) } size_t elementOffset = i * IndicesPerSegment; - for (size_t j = 0; j < IndicesPerSegment; ++j) + for (auto j : IndexPattern) { - primitives->setElement(elementOffset++, indices[IndexPattern[j]]); + primitives->setElement(elementOffset++, indices[j]); } } @@ -382,13 +378,13 @@ osg::ref_ptr CSVRender::Object::makeRotateMarker (int axis) setupCommonMarkerState(geometry); - osg::ref_ptr geode = new osg::Geode(); - geode->addDrawable (geometry); + osg::ref_ptr group = new osg::Group(); + group->addChild(geometry); - return geode; + return group; } -void CSVRender::Object::setupCommonMarkerState(osg::ref_ptr geometry) +void CSVRender::Object::setupCommonMarkerState(const osg::ref_ptr& geometry) { osg::ref_ptr state = geometry->getOrCreateStateSet(); state->setMode(GL_LIGHTING, osg::StateAttribute::OFF); @@ -401,12 +397,10 @@ osg::Vec3f CSVRender::Object::getMarkerPosition (float x, float y, float z, int { switch (axis) { - case 2: return osg::Vec3f (x, y, z); - case 0: return osg::Vec3f (z, x, y); - case 1: return osg::Vec3f (y, z, x); - + case 0: return {z, x, y}; + case 1: return {y, z, x}; + case 2: return {x, y, z}; default: - throw std::logic_error ("invalid axis for marker geometry"); } } @@ -576,7 +570,7 @@ std::string CSVRender::Object::getReferenceableId() const osg::ref_ptr CSVRender::Object::getTag() const { - return static_cast (mBaseNode->getUserData()); + return dynamic_cast (mBaseNode->getUserData()); } bool CSVRender::Object::isEdited() const diff --git a/apps/opencs/view/render/object.hpp b/apps/opencs/view/render/object.hpp index 56337cf037..ef136abb9c 100644 --- a/apps/opencs/view/render/object.hpp +++ b/apps/opencs/view/render/object.hpp @@ -20,7 +20,6 @@ namespace osg class PositionAttitudeTransform; class Group; class Node; - class Geode; } namespace osgFX @@ -94,7 +93,7 @@ namespace CSVRender osg::Group* mParentNode; Resource::ResourceSystem* mResourceSystem; bool mForceBaseToZero; - ESM::Position mPositionOverride; + ESM::Position mPositionOverride{}; float mScaleOverride; int mOverrideFlags; osg::ref_ptr mMarker[3]; @@ -127,7 +126,7 @@ namespace CSVRender osg::ref_ptr makeRotateMarker (int axis); /// Sets up a stateset with properties common to all marker types. - void setupCommonMarkerState(osg::ref_ptr geometry); + void setupCommonMarkerState(const osg::ref_ptr& geometry); osg::Vec3f getMarkerPosition (float x, float y, float z, int axis); diff --git a/apps/opencs/view/render/pathgrid.cpp b/apps/opencs/view/render/pathgrid.cpp index 6a52c3f8ac..89cf27b3da 100644 --- a/apps/opencs/view/render/pathgrid.cpp +++ b/apps/opencs/view/render/pathgrid.cpp @@ -3,7 +3,6 @@ #include #include -#include #include #include #include @@ -11,7 +10,6 @@ #include -#include "../../model/world/cell.hpp" #include "../../model/world/commands.hpp" #include "../../model/world/commandmacro.hpp" #include "../../model/world/data.hpp" @@ -26,7 +24,7 @@ namespace CSVRender void operator()(osg::Node* node, osg::NodeVisitor* nv) override { - PathgridTag* tag = static_cast(node->getUserData()); + auto* tag = dynamic_cast(node->getUserData()); tag->getPathgrid()->update(); } }; @@ -77,8 +75,8 @@ namespace CSVRender mBaseNode->setNodeMask(Mask_Pathgrid); mParent->addChild(mBaseNode); - mPathgridGeode = new osg::Geode(); - mBaseNode->addChild(mPathgridGeode); + mPathgridGroup = new osg::Group(); + mBaseNode->addChild(mPathgridGroup); recreateGeometry(); @@ -135,7 +133,7 @@ namespace CSVRender void Pathgrid::toggleSelected(unsigned short node) { - NodeList::iterator searchResult = std::find(mSelected.begin(), mSelected.end(), node); + auto searchResult = std::find(mSelected.begin(), mSelected.end(), node); if (searchResult != mSelected.end()) { mSelected.erase(searchResult); @@ -222,7 +220,7 @@ namespace CSVRender mUseOffset = false; mMoveOffset.set(0, 0, 0); - mPathgridGeode->removeDrawable(mDragGeometry); + mPathgridGroup->removeChild(mDragGeometry); mDragGeometry = nullptr; } @@ -317,10 +315,10 @@ namespace CSVRender QModelIndex parent = model->index(recordIndex, parentColumn); - for (size_t i = 0; i < mSelected.size(); ++i) + for (auto i : mSelected) { - const CSMWorld::Pathgrid::Point& point = source->mPoints[mSelected[i]]; - int row = static_cast(mSelected[i]); + const CSMWorld::Pathgrid::Point& point = source->mPoints[i]; + int row = static_cast(i); commands.push(new CSMWorld::ModifyCommand(*model, model->index(row, posXColumn, parent), clampToCell(point.mX + offsetX))); @@ -348,9 +346,9 @@ namespace CSVRender const CSMWorld::Pathgrid* source = getPathgridSource(); if (source) { - for (size_t i = 0; i < mSelected.size(); ++i) + for (unsigned short i : mSelected) { - addEdge(commands, *source, node, mSelected[i]); + addEdge(commands, *source, node, i); } } } @@ -363,18 +361,18 @@ namespace CSVRender CSMWorld::IdTree* model = &dynamic_cast(*mData.getTableModel(CSMWorld::UniversalId::Type_Pathgrids)); // Want to remove nodes from end of list first - std::sort(mSelected.begin(), mSelected.end(), std::greater()); + std::sort(mSelected.begin(), mSelected.end(), std::greater<>()); int recordIndex = mPathgridCollection.getIndex(mId); int parentColumn = mPathgridCollection.findColumnIndex(CSMWorld::Columns::ColumnId_PathgridPoints); - for (std::vector::iterator row = mSelected.begin(); row != mSelected.end(); ++row) + for (auto row : mSelected) { - commands.push(new CSMWorld::DeleteNestedCommand(*model, mId, static_cast(*row), parentColumn)); + commands.push(new CSMWorld::DeleteNestedCommand(*model, mId, static_cast(row), parentColumn)); } // Fix/remove edges - std::set > edgeRowsToRemove; + std::set> edgeRowsToRemove; parentColumn = mPathgridCollection.findColumnIndex(CSMWorld::Columns::ColumnId_PathgridEdges); @@ -392,9 +390,9 @@ namespace CSVRender int adjustment1 = 0; // Determine necessary adjustment - for (std::vector::iterator point = mSelected.begin(); point != mSelected.end(); ++point) + for (unsigned short & point : mSelected) { - if (source->mEdges[edge].mV0 == *point || source->mEdges[edge].mV1 == *point) + if (source->mEdges[edge].mV0 == point || source->mEdges[edge].mV1 == point) { edgeRowsToRemove.insert(static_cast(edge)); @@ -403,10 +401,10 @@ namespace CSVRender break; } - if (source->mEdges[edge].mV0 > *point) + if (source->mEdges[edge].mV0 > point) --adjustment0; - if (source->mEdges[edge].mV1 > *point) + if (source->mEdges[edge].mV1 > point) --adjustment1; } @@ -425,7 +423,7 @@ namespace CSVRender } } - std::set >::iterator row; + std::set >::iterator row; for (row = edgeRowsToRemove.begin(); row != edgeRowsToRemove.end(); ++row) { commands.push(new CSMWorld::DeleteNestedCommand(*model, mId, *row, parentColumn)); @@ -441,7 +439,7 @@ namespace CSVRender if (source) { // Want to remove from end of row first - std::set > rowsToRemove; + std::set > rowsToRemove; for (size_t i = 0; i <= mSelected.size(); ++i) { for (size_t j = i + 1; j < mSelected.size(); ++j) @@ -463,7 +461,7 @@ namespace CSVRender CSMWorld::IdTree* model = &dynamic_cast(*mData.getTableModel(CSMWorld::UniversalId::Type_Pathgrids)); int parentColumn = mPathgridCollection.findColumnIndex(CSMWorld::Columns::ColumnId_PathgridEdges); - std::set >::iterator row; + std::set>::iterator row; for (row = rowsToRemove.begin(); row != rowsToRemove.end(); ++row) { commands.push(new CSMWorld::DeleteNestedCommand(*model, mId, *row, parentColumn)); @@ -512,11 +510,11 @@ namespace CSVRender { temp = *source; - for (NodeList::iterator it = mSelected.begin(); it != mSelected.end(); ++it) + for (auto it : mSelected) { - temp.mPoints[*it].mX += mMoveOffset.x(); - temp.mPoints[*it].mY += mMoveOffset.y(); - temp.mPoints[*it].mZ += mMoveOffset.z(); + temp.mPoints[it].mX += mMoveOffset.x(); + temp.mPoints[it].mY += mMoveOffset.y(); + temp.mPoints[it].mZ += mMoveOffset.z(); } source = &temp; @@ -524,7 +522,7 @@ namespace CSVRender removePathgridGeometry(); mPathgridGeometry = SceneUtil::createPathgridGeometry(*source); - mPathgridGeode->addDrawable(mPathgridGeometry); + mPathgridGroup->addChild(mPathgridGeometry); createSelectedGeometry(*source); } @@ -553,14 +551,14 @@ namespace CSVRender removeSelectedGeometry(); mSelectedGeometry = SceneUtil::createPathgridSelectedWireframe(source, mSelected); - mPathgridGeode->addDrawable(mSelectedGeometry); + mPathgridGroup->addChild(mSelectedGeometry); } void Pathgrid::removePathgridGeometry() { if (mPathgridGeometry) { - mPathgridGeode->removeDrawable(mPathgridGeometry); + mPathgridGroup->removeChild(mPathgridGeometry); mPathgridGeometry = nullptr; } } @@ -569,7 +567,7 @@ namespace CSVRender { if (mSelectedGeometry) { - mPathgridGeode->removeDrawable(mSelectedGeometry); + mPathgridGroup->removeChild(mSelectedGeometry); mSelectedGeometry = nullptr; } } @@ -577,7 +575,7 @@ namespace CSVRender void Pathgrid::createDragGeometry(const osg::Vec3f& start, const osg::Vec3f& end, bool valid) { if (mDragGeometry) - mPathgridGeode->removeDrawable(mDragGeometry); + mPathgridGroup->removeChild(mDragGeometry); mDragGeometry = new osg::Geometry(); @@ -605,7 +603,7 @@ namespace CSVRender mDragGeometry->addPrimitiveSet(indices); mDragGeometry->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF); - mPathgridGeode->addDrawable(mDragGeometry); + mPathgridGroup->addChild(mDragGeometry); } const CSMWorld::Pathgrid* Pathgrid::getPathgridSource() diff --git a/apps/opencs/view/render/pathgrid.hpp b/apps/opencs/view/render/pathgrid.hpp index fa1b360e78..284b98d0b6 100644 --- a/apps/opencs/view/render/pathgrid.hpp +++ b/apps/opencs/view/render/pathgrid.hpp @@ -15,7 +15,6 @@ namespace osg { - class Geode; class Geometry; class Group; class PositionAttitudeTransform; @@ -107,7 +106,7 @@ namespace CSVRender osg::Group* mParent; osg::ref_ptr mBaseNode; - osg::ref_ptr mPathgridGeode; + osg::ref_ptr mPathgridGroup; osg::ref_ptr mPathgridGeometry; osg::ref_ptr mSelectedGeometry; osg::ref_ptr mDragGeometry; diff --git a/components/sceneutil/optimizer.hpp b/components/sceneutil/optimizer.hpp index 196180f112..7c3397ca8f 100644 --- a/components/sceneutil/optimizer.hpp +++ b/components/sceneutil/optimizer.hpp @@ -284,10 +284,10 @@ class Optimizer FlattenStaticTransformsVisitor(Optimizer* optimizer=0): BaseOptimizerVisitor(optimizer, FLATTEN_STATIC_TRANSFORMS) {} - void apply(osg::Node& geode) override; + void apply(osg::Node& node) override; void apply(osg::Geometry& drawable) override; void apply(osg::Drawable& drawable) override; - void apply(osg::Billboard& geode) override; + void apply(osg::Billboard& billboard) override; void apply(osg::Transform& transform) override final; void apply(osg::MatrixTransform& transform) override; diff --git a/components/terrain/cellborder.cpp b/components/terrain/cellborder.cpp index 342df759a5..834c46f580 100644 --- a/components/terrain/cellborder.cpp +++ b/components/terrain/cellborder.cpp @@ -65,35 +65,35 @@ osg::ref_ptr CellBorder::createBorderGeometry(float x, float y, floa border->addPrimitiveSet(new osg::DrawArrays(GL_LINE_STRIP,0,vertices->size())); - osg::ref_ptr borderGeode = new osg::Group; - borderGeode->addChild(border.get()); + osg::ref_ptr borderGroup = new osg::Group; + borderGroup->addChild(border.get()); - osg::StateSet *stateSet = borderGeode->getOrCreateStateSet(); + osg::StateSet *stateSet = borderGroup->getOrCreateStateSet(); osg::ref_ptr material (new osg::Material); material->setColorMode(osg::Material::AMBIENT_AND_DIFFUSE); stateSet->setAttribute(material); - osg::PolygonMode* polygonmode = new osg::PolygonMode; + auto* polygonmode = new osg::PolygonMode; polygonmode->setMode(osg::PolygonMode::FRONT_AND_BACK, osg::PolygonMode::LINE); stateSet->setAttributeAndModes(polygonmode,osg::StateAttribute::ON); - sceneManager->recreateShaders(borderGeode, "debug"); - borderGeode->setNodeMask(mask); + sceneManager->recreateShaders(borderGroup, "debug"); + borderGroup->setNodeMask(mask); - return borderGeode; + return borderGroup; } void CellBorder::createCellBorderGeometry(int x, int y) { - auto borderGeode = createBorderGeometry(x, y, 1.f, mWorld->getStorage(), mSceneManager, mBorderMask); - mRoot->addChild(borderGeode); + auto borderGroup = createBorderGeometry(x, y, 1.f, mWorld->getStorage(), mSceneManager, mBorderMask); + mRoot->addChild(borderGroup); - mCellBorderNodes[std::make_pair(x,y)] = borderGeode; + mCellBorderNodes[std::make_pair(x,y)] = borderGroup; } void CellBorder::destroyCellBorderGeometry(int x, int y) { - CellGrid::iterator it = mCellBorderNodes.find(std::make_pair(x,y)); + auto it = mCellBorderNodes.find(std::make_pair(x,y)); if (it == mCellBorderNodes.end()) return; -- cgit v1.2.3