Skip to content

Commit

Permalink
Fixed else matching to wrong if in building urdf scene
Browse files Browse the repository at this point in the history
Added check for no material tag in urdf
  • Loading branch information
Mitchell Wills committed Apr 11, 2014
1 parent 121b201 commit 807e40c
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 77 deletions.
76 changes: 38 additions & 38 deletions build/ros3d.js
Original file line number Diff line number Diff line change
Expand Up @@ -2368,46 +2368,46 @@ ROS3D.Urdf = function(options) {
object : mesh
});
this.add(sceneNode);
}
} else {
var colorMaterial, shapeMesh;
// Save frameID
var newFrameID = '/' + link.name;
// Save color material
if (link.visual.material && link.visual.material.color) {
var color = link.visual.material && link.visual.material.color;
colorMaterial = ROS3D.makeColorMaterial(color.r, color.g, color.b, color.a);
} else {
var colorMaterial, shapeMesh;
// Save frameID
var newFrameID = '/' + link.name;
// Save color material
var color = link.visual.material.color;
if (color === null) {
colorMaterial = ROS3D.makeColorMaterial(0, 0, 0, 1);
} else {
colorMaterial = ROS3D.makeColorMaterial(color.r, color.g, color.b, color.a);
}
// Create a shape
switch (link.visual.geometry.type) {
case ROSLIB.URDF_BOX:
var dimension = link.visual.geometry.dimension;
var cube = new THREE.CubeGeometry(dimension.x, dimension.y, dimension.z);
shapeMesh = new THREE.Mesh(cube, colorMaterial);
break;
case ROSLIB.URDF_CYLINDER:
var radius = link.visual.geometry.radius;
var length = link.visual.geometry.length;
var cylinder = new THREE.CylinderGeometry(radius, radius, length, 16, 1, false);
shapeMesh = new THREE.Mesh(cylinder, colorMaterial);
shapeMesh.useQuaternion = true;
shapeMesh.quaternion.setFromAxisAngle(new THREE.Vector3(1, 0, 0), Math.PI * 0.5);
break;
case ROSLIB.URDF_SPHERE:
var sphere = new THREE.SphereGeometry(link.visual.geometry.radius, 16);
shapeMesh = new THREE.Mesh(sphere, colorMaterial);
break;
}
// Create a scene node with the shape
var scene = new ROS3D.SceneNode({
frameID: newFrameID,
pose: link.visual.origin,
tfClient: tfClient,
object: shapeMesh
});
this.add(scene);
colorMaterial = ROS3D.makeColorMaterial(0, 0, 0, 1);
}
// Create a shape
switch (link.visual.geometry.type) {
case ROSLIB.URDF_BOX:
var dimension = link.visual.geometry.dimension;
var cube = new THREE.CubeGeometry(dimension.x, dimension.y, dimension.z);
shapeMesh = new THREE.Mesh(cube, colorMaterial);
break;
case ROSLIB.URDF_CYLINDER:
var radius = link.visual.geometry.radius;
var length = link.visual.geometry.length;
var cylinder = new THREE.CylinderGeometry(radius, radius, length, 16, 1, false);
shapeMesh = new THREE.Mesh(cylinder, colorMaterial);
shapeMesh.useQuaternion = true;
shapeMesh.quaternion.setFromAxisAngle(new THREE.Vector3(1, 0, 0), Math.PI * 0.5);
break;
case ROSLIB.URDF_SPHERE:
var sphere = new THREE.SphereGeometry(link.visual.geometry.radius, 16);
shapeMesh = new THREE.Mesh(sphere, colorMaterial);
break;
}
// Create a scene node with the shape
var scene = new ROS3D.SceneNode({
frameID: newFrameID,
pose: link.visual.origin,
tfClient: tfClient,
object: shapeMesh
});
this.add(scene);
}
}
}
Expand Down
Loading

0 comments on commit 807e40c

Please sign in to comment.