-public static double getBoundingBoxDiagonal(TopoDS_Shape shape) {\r
- \r
- double []min = new double[3];\r
- double []max = new double[3];\r
- double []mmm = new double[3];\r
- double []bb = new double[6];\r
- \r
- // Compute bounding box:\r
- //----------------------\r
- Bnd_Box boundingBox = new Bnd_Box();\r
- BRepBndLib.add(shape, boundingBox);\r
- boundingBox.get(bb);\r
- boundingBox.delete();\r
- \r
- min[0] = bb[0]; min[1] = bb[1]; min[2] = bb[2];\r
- max[0] = bb[3]; max[1] = bb[4]; max[2] = bb[5];\r
-\r
- //System.out.println("Bounding box: "+"[ "+min[0]+", "+min[1]+", " + min[2] + "] x "+"[ " +max[0] +", " +max[1] +", " +max[2] +"]");\r
-\r
- // The length of the space diagonal of cuboid\r
- for (int i = 0; i < 3; i++) mmm[i] = max[i] - min[i];\r
- double length = Math.sqrt(mmm[2]*mmm[2] + mmm[1]*mmm[1] + mmm[0]*mmm[0]);\r
-\r
- double t0 = mmm[0]*mmm[0];\r
- double t1 = mmm[1]*mmm[1];\r
- double t2 = mmm[2]*mmm[2];\r
-\r
- double tol = 1.0e-6 * length;\r
-\r
- if((t0 < tol) || (t1 < tol) || (t2 < tol)) {\r
- System.out.println("Shape seems to be 2D. Unable to proceed. Aborting.");\r
- return 0;\r
- }\r
- return length;\r
- }\r
- \r
- public static double getBoundingBoxVolume(TopoDS_Shape shape) {\r
- \r
- double []min = new double[3];\r
- double []max = new double[3];\r
- double []mmm = new double[3];\r
- double []bb = new double[6];\r
- \r
- // Compute bounding box:\r
- //----------------------\r
- Bnd_Box boundingBox = new Bnd_Box();\r
- BRepBndLib.add(shape, boundingBox);\r
- boundingBox.get(bb);\r
- boundingBox.delete();\r
- \r
- min[0] = bb[0]; min[1] = bb[1]; min[2] = bb[2];\r
- max[0] = bb[3]; max[1] = bb[4]; max[2] = bb[5];\r
-\r
- //System.out.println("Bounding box: "+"[ "+min[0]+", "+min[1]+", " + min[2] + "] x "+"[ " +max[0] +", " +max[1] +", " +max[2] +"]");\r
-\r
- for (int i = 0; i < 3; i++) mmm[i] = max[i] - min[i];\r
- double vol = Math.sqrt(mmm[2]*mmm[1]*mmm[0]);\r
-\r
- return vol;\r
- }\r
- \r
- private static GProp_GProps getGProp(TopoDS_Shape shape) {\r
- GProp_GProps GSystem = null;\r
+ public static double getBoundingBoxDiagonal(TopoDS_Shape shape) {\r
+\r
+ double []min = new double[3];\r
+ double []max = new double[3];\r
+ double []mmm = new double[3];\r
+ double []bb = new double[6];\r
+\r
+ // Compute bounding box:\r
+ //----------------------\r
+ Bnd_Box boundingBox = new Bnd_Box();\r
+ BRepBndLib.add(shape, boundingBox);\r
+ boundingBox.get(bb);\r
+ boundingBox.delete();\r
+\r
+ min[0] = bb[0]; min[1] = bb[1]; min[2] = bb[2];\r
+ max[0] = bb[3]; max[1] = bb[4]; max[2] = bb[5];\r
+\r
+ //System.out.println("Bounding box: "+"[ "+min[0]+", "+min[1]+", " + min[2] + "] x "+"[ " +max[0] +", " +max[1] +", " +max[2] +"]");\r
+\r
+ // The length of the space diagonal of cuboid\r
+ for (int i = 0; i < 3; i++) mmm[i] = max[i] - min[i];\r
+ double length = Math.sqrt(mmm[2]*mmm[2] + mmm[1]*mmm[1] + mmm[0]*mmm[0]);\r
+\r
+ double t0 = mmm[0]*mmm[0];\r
+ double t1 = mmm[1]*mmm[1];\r
+ double t2 = mmm[2]*mmm[2];\r
+\r
+ double tol = 1.0e-6 * length;\r
+\r
+ if((t0 < tol) || (t1 < tol) || (t2 < tol)) {\r
+ System.out.println("Shape seems to be 2D. Unable to proceed. Aborting.");\r
+ return 0;\r
+ }\r
+ return length;\r
+ }\r
+\r
+ public static double getBoundingBoxVolume(TopoDS_Shape shape) {\r
+\r
+ double []min = new double[3];\r
+ double []max = new double[3];\r
+ double []mmm = new double[3];\r
+ double []bb = new double[6];\r
+\r
+ // Compute bounding box:\r
+ //----------------------\r
+ Bnd_Box boundingBox = new Bnd_Box();\r
+ BRepBndLib.add(shape, boundingBox);\r
+ boundingBox.get(bb);\r
+ boundingBox.delete();\r
+\r
+ min[0] = bb[0]; min[1] = bb[1]; min[2] = bb[2];\r
+ max[0] = bb[3]; max[1] = bb[4]; max[2] = bb[5];\r
+\r
+ //System.out.println("Bounding box: "+"[ "+min[0]+", "+min[1]+", " + min[2] + "] x "+"[ " +max[0] +", " +max[1] +", " +max[2] +"]");\r
+\r
+ for (int i = 0; i < 3; i++) mmm[i] = max[i] - min[i];\r
+ double vol = Math.sqrt(mmm[2]*mmm[1]*mmm[0]);\r
+\r
+ return vol;\r
+ }\r
+\r
+ private static GProp_GProps getGProp(TopoDS_Shape shape) {\r
+ GProp_GProps GSystem = null;\r