diff --git a/VirtualRobot/MathTools.cpp b/VirtualRobot/MathTools.cpp index d6d376abc506efd8b4fb3d3c79c9c6e18e596368..37e672dcc397d74e016532f07bc26faf4b5a8ef4 100644 --- a/VirtualRobot/MathTools.cpp +++ b/VirtualRobot/MathTools.cpp @@ -313,7 +313,7 @@ MathTools::ConvexHull2DPtr MathTools::createConvexHull2D( std::vector< Eigen::Ve int n = (int)P.size(); THROW_VR_EXCEPTION_IF(n<3,"Could not generate convex hull with " << n << " points..."); std::vector< Eigen::Vector2f > H; - H.resize(n); + H.resize(n*2); // the output array H[] will be used as the stack int bot=0, top=(-1); // indices for bottom and top of the stack diff --git a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp index 5fdd96e3798d2752048db9dd1046fbb0e72f35af..c84fd39f94016790a5baca1e2171d261bed63e32 100644 --- a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp +++ b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp @@ -746,13 +746,14 @@ namespace VirtualRobot { u->units = SoUnits::MILLIMETERS; visu->addChild(u); - - SoMaterial *m = new SoMaterial; - m->diffuseColor.setValue(colorInner.r, colorInner.g, colorInner.b); - m->ambientColor.setValue(colorInner.r, colorInner.g, colorInner.b); - m->transparency.setValue(colorInner.transparency); - visu->addChild(m); - + if (!colorInner.isNone()) + { + SoMaterial *m = new SoMaterial; + m->diffuseColor.setValue(colorInner.r, colorInner.g, colorInner.b); + m->ambientColor.setValue(colorInner.r, colorInner.g, colorInner.b); + m->transparency.setValue(colorInner.transparency); + visu->addChild(m); + } SoCoordinate3* coordinate3 = new SoCoordinate3; SoCoordinate3* coordinate3b = new SoCoordinate3;