sleepyraccoon / jsc3d

Automatically exported from code.google.com/p/jsc3d
0 stars 0 forks source link

Click event should get Clickd Object Details. #24

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Need to make color change in particular area
2. When click on the onject, event should return the details of only clicked 
object from scene
3.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

Please provide any additional information below.

Original issue reported on code.google.com by vinj...@gamillc.com on 7 Jun 2013 at 9:52

GoogleCodeExporter commented 9 years ago
Firstly, you should override viewer's onmousedown/onmouseup callbacks to setup 
your own event handlers. Both these methods have the same signatures as 
viewer.onmousexxx(x, y, button, depth, mesh). The last parameter indicates 
which mesh instance your pointer is currently on or null if none. 

Since you have the right mesh, you can create a new material with a different 
color and attach it to the mesh using mesh.setMaterial() method. This changes 
the looking of the specified mesh.

Finally, the viewer's update() method should be called at least once to apply 
the changes and render a new frame.

The implementation code may look like this:

// create viewer instance and load your models, etc.
...
// override viewer's onmousedown callback to implement selection effect
viewer.onmousedown = function(x, y, button, depth, mesh) {
  if(button == 0/*left button down*/ && mesh != null) {
    // create a new material with a different color (blue for example)
    var newMat = new JSC3D.Material('', 0, 0x000080, 0, true);
    // set the new material to the selected mesh
    mesh.setMaterial(newMat);
    // tell viewer to render a new frame
    viewer.update();
  }
};
...

That's it!

Please note that a material is applied on a whole mesh. There's no way to just 
change color of a particular area of it.

Original comment by Humu2...@gmail.com on 11 Jun 2013 at 2:40

GoogleCodeExporter commented 9 years ago
Thank You For your Support.

Original comment by vinj...@gamillc.com on 13 Jun 2013 at 6:18