diff --git a/source/RobotAPI/components/ArViz/ArVizStorage.cpp b/source/RobotAPI/components/ArViz/ArVizStorage.cpp index 610ed669ab7e9c676c7d739c549a65f9fb9874c9..0414f4b21bc0f1e731f7687079bf98ce42bdaff7 100644 --- a/source/RobotAPI/components/ArViz/ArVizStorage.cpp +++ b/source/RobotAPI/components/ArViz/ArVizStorage.cpp @@ -152,11 +152,10 @@ void ArVizStorage::compressHistory() switch (updateElement->action) { case viz::Element_ADD: - case viz::Element_UPDATE: *matchingIter = updateElement; break; - case viz::Element_DELETE: + case viz::Element_REMOVE: existing.elements.erase(matchingIter); break; } diff --git a/source/RobotAPI/components/ArVizExample/ArVizExample.cpp b/source/RobotAPI/components/ArVizExample/ArVizExample.cpp index d1a788d01247d0c7bc11acc87c983a9418bef25e..89533815369f24d0df5de9cfabbeceded487cca3 100644 --- a/source/RobotAPI/components/ArVizExample/ArVizExample.cpp +++ b/source/RobotAPI/components/ArVizExample/ArVizExample.cpp @@ -179,6 +179,7 @@ namespace armarx::viz } std::size_t updateIndex = update - layers.data(); + return Layer(this, updateIndex); } void clearLayer(std::size_t layerIndex) @@ -267,7 +268,7 @@ void ArVizExample::update() // { // viz::ElementBoxPtr box(new viz::ElementBox); // box->id = "box"; - // box->action = viz::Element_UPDATE; + // box->action = viz::Element_ADD; // Eigen::Vector3f pos = Eigen::Vector3f::Zero(); // pos.x() = 100.0f * std::sin(timeInSeconds); @@ -280,7 +281,7 @@ void ArVizExample::update() { viz::ElementCylinderPtr cyl(new viz::ElementCylinder); cyl->id = "cylinder"; - cyl->action = viz::Element_UPDATE; + cyl->action = viz::Element_ADD; Eigen::Vector3f pos = Eigen::Vector3f::Zero(); pos.y() = 100.0f * std::sin(timeInSeconds); @@ -296,7 +297,7 @@ void ArVizExample::update() { viz::ElementPosePtr pose(new viz::ElementPose); pose->id = "pose"; - pose->action = viz::Element_UPDATE; + pose->action = viz::Element_ADD; Eigen::Vector3f pos = Eigen::Vector3f::Zero(); pos.z() = 100.0f * std::sin(timeInSeconds); @@ -310,7 +311,7 @@ void ArVizExample::update() { viz::ElementTextPtr text(new viz::ElementText); text->id = "text"; - text->action = viz::Element_UPDATE; + text->action = viz::Element_ADD; text->text = "Test Text"; text->scale = 4.0f; @@ -325,7 +326,7 @@ void ArVizExample::update() { viz::ElementArrowPtr arrow(new viz::ElementArrow); arrow->id = "arrow"; - arrow->action = viz::Element_UPDATE; + arrow->action = viz::Element_ADD; float modTime = std::fmod(timeInSeconds, 2.0 * M_PI); arrow->length = 200.0f + 100.0f * std::sin(modTime); @@ -363,7 +364,7 @@ void ArVizExample::update() { viz::ElementArrowCirclePtr circle(new viz::ElementArrowCircle); circle->id = "circle"; - circle->action = viz::Element_UPDATE; + circle->action = viz::Element_ADD; float modTime = std::fmod(timeInSeconds, 2.0 * M_PI); circle->completion = std::sin(modTime); @@ -381,7 +382,7 @@ void ArVizExample::update() { viz::ElementPolygonPtr poly(new viz::ElementPolygon); poly->id = "poly"; - poly->action = viz::Element_UPDATE; + poly->action = viz::Element_ADD; poly->color = armarx::viz::Color{128, 0, 128, 255}; poly->lineColor = {255, 0, 0, 255}; @@ -403,7 +404,7 @@ void ArVizExample::update() { viz::ElementPolygonPtr poly(new viz::ElementPolygon); poly->id = "poly2"; - poly->action = viz::Element_UPDATE; + poly->action = viz::Element_ADD; poly->color = armarx::viz::Color{128, 255, 128, 0}; poly->lineColor = {255, 255, 0, 0}; @@ -425,7 +426,7 @@ void ArVizExample::update() { viz::ElementMeshPtr mesh(new viz::ElementMesh); mesh->id = "mesh"; - mesh->action = viz::Element_UPDATE; + mesh->action = viz::Element_ADD; armarx::Vector3f vertices[] = { @@ -468,7 +469,7 @@ void ArVizExample::update() { viz::ElementRobotPtr robot(new viz::ElementRobot); robot->id = "robot"; - robot->action = viz::Element_UPDATE; + robot->action = viz::Element_ADD; robot->project = "Armar6RT"; robot->filename = "Armar6RT/robotmodel/Armar6-SH/Armar6-SH.xml";