Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16073/src/net/sourceforge/bprocessor/gl/tool
Modified Files:
RectTool.java AbstractPencil.java
Log Message:
Made abstracttool insertEdge force that the inserted edges are at least longer than 0.0 and required in RectTool that the start and current point are different before creating a rect... removes the dragging error
Index: RectTool.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/RectTool.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** RectTool.java 9 Aug 2006 09:46:10 -0000 1.12
--- RectTool.java 9 Aug 2006 16:14:20 -0000 1.13
***************
*** 150,156 ****
lastCurrent = start.vertex();
} else if (baseEdge == null) {
! setUpRectangle();
} else {
! insertEdges(rectangle);
cleanUp();
feedback(rectangle);
--- 150,160 ----
lastCurrent = start.vertex();
} else if (baseEdge == null) {
! if (start.vertex().distance(current.vertex()) > 0.0) {
! setUpRectangle();
! }
} else {
! if (baseEdge.getLength() > 0.0 && movingEdge.getLength() > 0.0) {
! insertEdges(rectangle);
! }
cleanUp();
feedback(rectangle);
Index: AbstractPencil.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/AbstractPencil.java,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** AbstractPencil.java 4 Aug 2006 11:48:11 -0000 1.53
--- AbstractPencil.java 9 Aug 2006 16:14:20 -0000 1.54
***************
*** 251,262 ****
* @param edge Edge
* @param split Split
! * @return Edge from model
*/
public Edge insertEdge(Edge edge, boolean split) {
Edge actual = edge;
Vertex from = insertVertex(edge.getFrom(), split);
Vertex to = insertVertex(edge.getTo(), split);
edge.setFrom(from);
edge.setTo(to);
{
Collection edges = mesh().getEdges();
--- 251,268 ----
* @param edge Edge
* @param split Split
! * @return Edge from model null if to and from were the same
*/
public Edge insertEdge(Edge edge, boolean split) {
Edge actual = edge;
+ if (edge.getLength() == 0) {
+ return null;
+ }
Vertex from = insertVertex(edge.getFrom(), split);
Vertex to = insertVertex(edge.getTo(), split);
edge.setFrom(from);
edge.setTo(to);
+ if (edge.getLength() == 0.0) {
+ return null;
+ }
{
Collection edges = mesh().getEdges();
***************
*** 297,306 ****
Edge current = (Edge) iter.next();
Edge edge = insertEdge(current, false);
! actual.add(edge);
}
- Surface surface = new Surface(actual);
- mesh().insert(surface);
- holeAnalysis(surface);
- closed = true;
} else {
List actual = new LinkedList();
--- 303,316 ----
Edge current = (Edge) iter.next();
Edge edge = insertEdge(current, false);
! if (edge != null) {
! actual.add(edge);
! }
! }
! if (actual.size() > 3) {
! Surface surface = new Surface(actual);
! mesh().insert(surface);
! holeAnalysis(surface);
! closed = true;
}
} else {
List actual = new LinkedList();
***************
*** 309,313 ****
Edge current = (Edge) iter.next();
Edge edge = insertEdge(current, true);
! actual.add(edge);
}
closed = Geometry.insert(actual);
--- 319,325 ----
Edge current = (Edge) iter.next();
Edge edge = insertEdge(current, true);
! if (edge != null) {
! actual.add(edge);
! }
}
closed = Geometry.insert(actual);
|