Skip to content
Snippets Groups Projects
Commit d1c322ff authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Merge branch 'fix/arrow-circle-ori' into 'master'

Fix/arrow circle ori

See merge request !328
parents 70100a63 c40e7d58
No related branches found
No related tags found
1 merge request!328Fix/arrow circle ori
...@@ -107,9 +107,9 @@ namespace armarx::viz ...@@ -107,9 +107,9 @@ namespace armarx::viz
float angle = std::acos(naturalDir.dot(dir)); float angle = std::acos(naturalDir.dot(dir));
if (cross.squaredNorm() < 1.0e-12f) if (cross.squaredNorm() < 1.0e-12f)
{ {
// Directions are almost colinear ==> Do no rotation // Directions are almost colinear ==> Angle is either 0 or 180 deg
cross = Eigen::Vector3f::UnitX(); cross = Eigen::Vector3f::UnitX();
angle = 0.0f; // Keep angle
} }
Eigen::Vector3f axis = cross.normalized(); Eigen::Vector3f axis = cross.normalized();
Eigen::Quaternionf ori(Eigen::AngleAxisf(angle, axis)); Eigen::Quaternionf ori(Eigen::AngleAxisf(angle, axis));
......
...@@ -275,13 +275,18 @@ namespace armarx ...@@ -275,13 +275,18 @@ namespace armarx
void fillExampleLayer(viz::Layer& layer, double timeInSeconds) void fillExampleLayer(viz::Layer& layer, double timeInSeconds)
{ {
for (int i = 0; i < 6; ++i)
{ {
Eigen::Vector3f pos = Eigen::Vector3f::Zero(); Eigen::Vector3f pos = Eigen::Vector3f(-200.0, 200.0, 300);
pos.z() = +300.0f; pos.x() += -300 * i;
Eigen::Vector3f normal = Eigen::Vector3f::Zero();
normal(i / 2) = (i % 2 == 0 ? 1.0 : -1.0);
viz::ArrowCircle circle = viz::ArrowCircle("circle") viz::ArrowCircle circle = viz::ArrowCircle("circle " + std::to_string(i))
.position(pos) .position(pos)
.radius(100.0f) .radius(100.0f)
.normal(normal)
.width(10.0f) .width(10.0f)
.color(viz::Color::fromRGBA(255, 0, 255)); .color(viz::Color::fromRGBA(255, 0, 255));
......
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