Update of /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3240/src/net/sourceforge/bprocessor/gui
Modified Files:
PopupMenu.java
Log Message:
implemented see from above for surfaces. There have emerged some serious problems with the rotation tool, maybe it is due to wierd roll vectors???
Added Angle(Vertex) on vertex
Index: PopupMenu.java
===================================================================
RCS file: /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/PopupMenu.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** PopupMenu.java 30 Oct 2006 10:30:11 -0000 1.10
--- PopupMenu.java 30 Oct 2006 15:01:35 -0000 1.11
***************
*** 28,31 ****
--- 28,32 ----
import net.sourceforge.bprocessor.gui.attrview.AttributeView;
import net.sourceforge.bprocessor.model.Attribute;
+ import net.sourceforge.bprocessor.model.Camera;
import net.sourceforge.bprocessor.model.Entity;
import net.sourceforge.bprocessor.model.Geometry;
***************
*** 68,73 ****
AbstractAction fromAbove = new EntityMenuAction(s, "See from above") {
public void actionPerformed(ActionEvent arg0) {
! Vertex n = ((Surface)entity).normal();
! Project.getInstance().checkpoint();
}
};
--- 69,89 ----
AbstractAction fromAbove = new EntityMenuAction(s, "See from above") {
public void actionPerformed(ActionEvent arg0) {
! Surface s = (Surface)entity;
! Vertex n = (s.normal());
! Camera current = Project.getInstance().getCurrentCamera();
! Vertex c = s.center();
! double[] center = current.getCenter();
! double[] cam = current.getCamera();
! double[] dir = new double[]{cam[0] - center[0], cam[1] - center[1], cam[2] - center[2]};
! Vertex r = new Vertex(dir);
! Vertex right = r.cross(n);
! if (right.length() > 0.1) {
! double angle = r.angle(n);
! System.out.println(angle);
! Geometry.rotate(angle, right.getX(), right.getY(), right.getZ(), current.getRoll(), new double[]{0, 0, 0});
! current.setCenter(new double[]{c.getX(), c.getY(), c.getZ()});
! current.setCamera(new double[]{c.getX() + n.getX(), c.getY() + n.getY(), c.getZ() + n.getZ()});
! Project.getInstance().getCurrentCamera().viewEntireModel(1);
! }
}
};
***************
*** 76,80 ****
public void actionPerformed(ActionEvent arg0) {
Vertex n = ((Surface)entity).normal();
! Project.getInstance().checkpoint();
}
};
--- 92,96 ----
public void actionPerformed(ActionEvent arg0) {
Vertex n = ((Surface)entity).normal();
!
}
};
|