JavaCAD
|
Classes | |
enum | OptType |
Static Public Member Functions | |
static ArrayList< CSG > | move (ArrayList< CSG > slice, ArrayList< Transform > p) |
static CSG | fromPolygons (List< Polygon > polygons) |
static CSG | fromPolygons (Polygon... polygons) |
static CSG | fromPolygons (PropertyStorage storage, List< Polygon > polygons) |
static CSG | fromPolygons (PropertyStorage storage, Polygon... polygons) |
static CSG | unionAll (CSG... csgs) |
static CSG | unionAll (List< CSG > csgs) |
static CSG | hullAll (CSG... csgs) |
static CSG | hullAll (List< CSG > csgs) |
static void | setDefaultOptType (OptType optType) |
static ICSGProgress | getProgressMoniter () |
static void | setProgressMoniter (ICSGProgress progressMoniter) |
static Color | getDefaultColor () |
static void | setDefaultColor (Color defaultcolor) |
static int | getNumfacesinoffset () |
static int | getNumFacesInOffset () |
static void | setNumFacesInOffset (int numFacesInOffset) |
static boolean | isUseStackTraces () |
static void | setUseStackTraces (boolean useStackTraces) |
static CSG | text (String text, double height, double fontSize) |
static CSG | text (String text, double height) |
static CSG | text (String text, double height, double fontSize, String fontType) |
static CSG | textToSize (String text, double x, double y, double z) |
Static Public Attributes | |
static final int | INDEX_OF_PARAMETRIC_DEFAULT = 0 |
static final int | INDEX_OF_PARAMETRIC_LOWER = 1 |
static final int | INDEX_OF_PARAMETRIC_UPPER = 2 |
Private Member Functions | |
CSG | _unionCSGBoundsOpt (CSG csg) |
CSG | _unionPolygonBoundsOpt (CSG csg) |
CSG | _unionIntersectOpt (CSG csg) |
CSG | _unionNoOpt (CSG csg) |
CSG | _differenceCSGBoundsOpt (CSG csg) |
CSG | _differencePolygonBoundsOpt (CSG csg) |
CSG | _differenceNoOpt (CSG csg) |
void | fixDegenerates (ArrayList< Polygon > toAdd, Polygon p) |
void | updatePolygons (ArrayList< Polygon > toAdd, ArrayList< Polygon > degenerates, Polygon p) |
OptType | getOptType () |
int | getNumFacesForOffsets () |
void | addStackTrace (Exception creationEventStackTrace2) |
void | setDatumReferences (ArrayList< Transform > datumReferences) |
Transform | addTabsReorientation (Vector3d edgeDirection) throws Exception |
Private Attributes | |
List< Polygon > | polygons |
OptType | optType = null |
PropertyStorage | str |
PropertyStorage | assembly |
MeshView | current |
Color | color = getDefaultColor() |
Affine | manipulator |
Bounds | bounds |
ArrayList< String > | groovyFileLines = new ArrayList<>() |
PrepForManufacturing | manufactuing = null |
HashMap< String, IParametric > | mapOfparametrics = null |
IRegenerate | regenerate = null |
boolean | markForRegeneration = false |
String | name = "" |
ArrayList< Transform > | slicePlanes = null |
ArrayList< String > | exportFormats = null |
ArrayList< Transform > | datumReferences = null |
boolean | triangulated |
Static Private Attributes | |
static IDebug3dProvider | providerOf3d = null |
static int | numFacesInOffset = 15 |
static OptType | defaultOptType = OptType.CSG_BOUND |
static Color | defaultcolor = Color.web("#007956") |
static boolean | needsDegeneratesPruned =false |
static boolean | useStackTraces = true |
static ICSGProgress | progressMoniter |
Constructive Solid Geometry (CSG).
This implementation is a Java port of
https://github.com/evanw/csg.js/ with some additional features like polygon extrude, transformations etc. Thanks to the author for creating the CSG.js library.
Implementation Details
All CSG operations are implemented in terms of two functions, Node#clipTo(eu.mihosoft.vrl.v3d.Node) and Node#invert(), which remove parts of a BSP tree inside another BSP tree and swap solid and empty space, respectively. To find the union of
and
, we want to remove everything in
inside
and everything in
inside
, then combine polygons from
and
into one solid:
a.clipTo(b); b.clipTo(a); a.build(b.allPolygons());
The only tricky part is handling overlapping coplanar polygons in both trees. The code above keeps both copies, but we need to keep them in one tree and remove them in the other tree. To remove them from
we can clip the inverse of
against
. The code for union now looks like this:
a.clipTo(b); b.clipTo(a); b.invert(); b.clipTo(a); b.invert(); a.build(b.allPolygons());
Subtraction and intersection naturally follow from set operations. If union is
, differenceion is
and intersection is
where
is the complement operator.
_difference csg bounds opt.
csg | the csg |
Definition at line 1181 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.optimization(), eu.mihosoft.vrl.v3d.CSG.setName(), and eu.mihosoft.vrl.v3d.Bounds.toCSG().
_difference no opt.
csg | the csg |
Definition at line 1231 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.clone(), eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceCSGBoundsOpt(), and eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt().
_difference polygon bounds opt.
csg | the csg |
Definition at line 1199 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.Bounds.intersects(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
Optimizes for intersection. If csgs do not intersect create a new csg that consists of the polygon lists of this csg and the specified csg. In this case no further space partitioning is performed.
csg | csg |
Definition at line 990 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.Bounds.intersects(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceCSGBoundsOpt().
_union no opt.
csg | the csg |
Definition at line 1023 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.clone(), eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
Referenced by eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt().
_union polygon bounds opt.
csg | the csg |
Definition at line 949 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.Bounds.intersects(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
CSG eu.mihosoft.vrl.v3d.CSG.addCreationEventStackTraceList | ( | ArrayList< Exception > | incoming | ) |
CSG eu.mihosoft.vrl.v3d.CSG.addCreationEventString | ( | String | thisline | ) |
CSG eu.mihosoft.vrl.v3d.CSG.addCreationEventStringList | ( | ArrayList< String > | incoming | ) |
void eu.mihosoft.vrl.v3d.CSG.addExportFormat | ( | String | exportFormat | ) |
void eu.mihosoft.vrl.v3d.CSG.addSlicePlane | ( | Transform | slicePlane | ) |
|
private |
ArrayList<CSG> eu.mihosoft.vrl.v3d.CSG.addTabs | ( | Vector3d | edgeDirection, |
CSG | fastener | ||
) | throws Exception |
Adds construction tabs to a given CSG object in order to facilitate connection with other boards and returns the CSG with tabs added plus separate fastener objects interspersed between tabs. Assumes board thickness is the thinnest dimension. Assumes board thickness can be arbitrary but uniform height. Assumes the edge having tabs added extends fully between Min and Max in that dimension.
TODO: Find the polygon defined by the XY plane slice that is perhaps 0.5mm into the normalized +Y. Add tabs to THAT polygon's minX/maxX instead of part's global minX/maxX.
Example usage: // Create a temporary copy of the target object, without any tabs CSG boardTemp = board
// Instantiate a bucket to hold fastener CSG objects in ArrayList<CSG> fasteners = []
// Define the direction of the edge to be tabbed using a Vector3d object, in this case the edge facing in the negative Y direction Vector3d edgeDirection = new Vector3d(0, -1, 0);
// Define the diameter of the fastener holes to be added using a LengthParameter object LengthParameter screwDiameter = new LengthParameter("Screw Hole Diameter (mm)", 3, [0, 20])
// Add tabs to the temporary object using the edgeDirection and screwDiameter parameters ArrayList<CSG> returned = boardTemp.addTabs(edgeDirection, screwDiameter);
// Combine the modified temporary object with the original object, to add the new tabs board = boardTemp.union(returned.get(0));
// Add the separate fastener hole objects to the list fasteners = returned.subList(1, returned.size());
edgeDirection | a Vector3d object representing the direction of the edge of the board to which tabs and fastener holes will be added |
fastener | a CSG object representing a template fastener to be added between the tabs |
Exception | if the edgeDirection parameter is not a cartesian unit Vector3d object or uses an unimplemented orientation |
Definition at line 2513 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getMaxX(), eu.mihosoft.vrl.v3d.CSG.getMaxY(), eu.mihosoft.vrl.v3d.CSG.getMaxZ(), eu.mihosoft.vrl.v3d.CSG.getMinY(), eu.mihosoft.vrl.v3d.CSG.getTotalX(), eu.mihosoft.vrl.v3d.Transform.inverse(), eu.mihosoft.vrl.v3d.CSG.movex(), eu.mihosoft.vrl.v3d.CSG.movey(), eu.mihosoft.vrl.v3d.CSG.movez(), eu.mihosoft.vrl.v3d.CSG.rotx(), eu.mihosoft.vrl.v3d.Primitive.toCSG(), eu.mihosoft.vrl.v3d.CSG.transformed(), and eu.mihosoft.vrl.v3d.CSG.union().
ArrayList<CSG> eu.mihosoft.vrl.v3d.CSG.addTabs | ( | Vector3d | edgeDirection, |
LengthParameter | fastenerHoleDiameter | ||
) | throws Exception |
Definition at line 2625 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getMaxZ(), and eu.mihosoft.vrl.v3d.Primitive.toCSG().
|
private |
edgeDirection |
Exception |
Definition at line 2582 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getMaxX(), eu.mihosoft.vrl.v3d.CSG.getMinX(), eu.mihosoft.vrl.v3d.CSG.getMinY(), eu.mihosoft.vrl.v3d.CSG.getMinZ(), eu.mihosoft.vrl.v3d.CSG.getTotalX(), eu.mihosoft.vrl.v3d.CSG.getTotalZ(), eu.mihosoft.vrl.v3d.Transform.movex(), eu.mihosoft.vrl.v3d.Transform.movey(), eu.mihosoft.vrl.v3d.Transform.movez(), eu.mihosoft.vrl.v3d.Vector3d.negated(), eu.mihosoft.vrl.v3d.Transform.rotx(), eu.mihosoft.vrl.v3d.Transform.roty(), eu.mihosoft.vrl.v3d.Transform.rotz(), eu.mihosoft.vrl.v3d.Vector3d.X_ONE, eu.mihosoft.vrl.v3d.Vector3d.Y_ONE, and eu.mihosoft.vrl.v3d.Vector3d.Z_ONE.
CSG eu.mihosoft.vrl.v3d.CSG.clone | ( | ) |
Definition at line 675 of file CSG.java.
References eu.mihosoft.vrl.v3d.Polygon.clone(), eu.mihosoft.vrl.v3d.CSG.historySync(), eu.mihosoft.vrl.v3d.CSG.setOptType(), and eu.mihosoft.vrl.v3d.CSG.setPolygons().
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.Extrude.bezier(), eu.mihosoft.vrl.v3d.CSG.dumbUnion(), eu.mihosoft.vrl.v3d.Extrude.hull(), and eu.mihosoft.vrl.v3d.CSG.intersect().
CSG eu.mihosoft.vrl.v3d.CSG.color | ( | Color | c | ) |
Return a new CSG solid representing the difference of this csg and the specified csg.
Note: Neither this csg nor the specified csg are weighted.
A.difference(B) +-------+ +-------+ | | | | | A | | | | +--+----+ = | +--+ +----+--+ | +----+ | B | | | +-------+
csg | other csg |
Definition at line 1129 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.CSG.historySync(), and eu.mihosoft.vrl.v3d.CSG.intersect().
CSG eu.mihosoft.vrl.v3d.CSG.difference | ( | CSG... | csgs | ) |
Return a new CSG solid representing the difference of this csg and the specified csgs.
Note: Neither this csg nor the specified csgs are weighted.
A.difference(B) +-------+ +-------+ | | | | | A | | | | +--+----+ = | +--+ +----+--+ | +----+ | B | | | +-------+
csgs | other csgs |
Return a new CSG solid representing the difference of this csg and the specified csgs.
Note: Neither this csg nor the specified csgs are weighted.
A.difference(B) +-------+ +-------+ | | | | | A | | | | +--+----+ = | +--+ +----+--+ | +----+ | B | | | +-------+
csgs | other csgs |
Definition at line 1061 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.historySync(), eu.mihosoft.vrl.v3d.ICSGProgress.progressUpdate(), and eu.mihosoft.vrl.v3d.CSG.union().
Referenced by eu.mihosoft.vrl.v3d.Fillet.corner(), eu.mihosoft.vrl.v3d.CSG.minkowskiDifference(), eu.mihosoft.vrl.v3d.TextExtrude.TextExtrude(), and eu.mihosoft.vrl.v3d.Fillet.toPolygons().
Returns a csg consisting of the polygons of this csg and the specified csg.
The purpose of this method is to allow fast union operations for objects that do not intersect.
WARNING: this method does not apply the csg algorithms. Therefore, please ensure that this csg and the specified csg do not intersect.
csg | csg |
Definition at line 763 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.clone(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.CSG.historySync(), and eu.mihosoft.vrl.v3d.CSG.triangulated.
Referenced by eu.mihosoft.vrl.v3d.CSG.text().
Definition at line 1456 of file CSG.java.
References eu.mihosoft.vrl.v3d.Debug3dProvider.addObject(), eu.mihosoft.vrl.v3d.Debug3dProvider.clearScreen(), eu.mihosoft.vrl.v3d.ext.org.poly2tri.PolygonUtil.concaveToConvex(), eu.mihosoft.vrl.v3d.Polygon.getDegeneratePoints(), and eu.mihosoft.vrl.v3d.Polygon.getLongEdge().
Constructs a CSG from a list of Polygon instances.
polygons | polygons |
Definition at line 621 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.setPolygons().
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt(), eu.mihosoft.vrl.v3d.STL.file(), eu.mihosoft.vrl.v3d.ext.quickhull3d.HullUtil.hull(), eu.mihosoft.vrl.v3d.CSG.intersect(), eu.mihosoft.vrl.v3d.Extrude.polygons(), eu.mihosoft.vrl.v3d.Primitive.toCSG(), and eu.mihosoft.vrl.v3d.CSG.transformed().
|
static |
|
static |
Constructs a CSG from a list of Polygon instances.
storage | shared storage |
polygons | polygons |
Definition at line 645 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.setPolygons(), and eu.mihosoft.vrl.v3d.CSG.setStorage().
|
static |
PropertyStorage eu.mihosoft.vrl.v3d.CSG.getAssemblyStorage | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.getBoundingBox | ( | ) |
Get Bounding box
Definition at line 2372 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.movex(), eu.mihosoft.vrl.v3d.CSG.movey(), eu.mihosoft.vrl.v3d.CSG.movez(), eu.mihosoft.vrl.v3d.Primitive.toCSG(), eu.mihosoft.vrl.v3d.CSG.toXMax(), eu.mihosoft.vrl.v3d.CSG.toYMax(), and eu.mihosoft.vrl.v3d.CSG.toZMax().
Bounds eu.mihosoft.vrl.v3d.CSG.getBounds | ( | ) |
Returns the bounds of this csg. SIDE EFFECT bounds is created and simply returned if existing
Definition at line 1738 of file CSG.java.
References eu.mihosoft.vrl.v3d.Vertex.pos, eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), eu.mihosoft.vrl.v3d.Vector3d.z(), and eu.mihosoft.vrl.v3d.Vector3d.ZERO.
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceCSGBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt(), eu.mihosoft.vrl.v3d.XModifier.eval(), eu.mihosoft.vrl.v3d.YModifier.eval(), eu.mihosoft.vrl.v3d.ZModifier.eval(), eu.mihosoft.vrl.v3d.CSG.toXMax(), eu.mihosoft.vrl.v3d.CSG.toXMin(), eu.mihosoft.vrl.v3d.CSG.toYMax(), eu.mihosoft.vrl.v3d.CSG.toYMin(), eu.mihosoft.vrl.v3d.CSG.toZMax(), and eu.mihosoft.vrl.v3d.CSG.toZMin().
double eu.mihosoft.vrl.v3d.CSG.getCenterX | ( | ) |
double eu.mihosoft.vrl.v3d.CSG.getCenterY | ( | ) |
double eu.mihosoft.vrl.v3d.CSG.getCenterZ | ( | ) |
Color eu.mihosoft.vrl.v3d.CSG.getColor | ( | ) |
Gets the color.
Definition at line 198 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.historySync().
ArrayList<String> eu.mihosoft.vrl.v3d.CSG.getCreationEventStackTraceList | ( | ) |
Definition at line 2205 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.historySync().
ArrayList<Transform> eu.mihosoft.vrl.v3d.CSG.getDatumReferences | ( | ) |
|
static |
ArrayList<String> eu.mihosoft.vrl.v3d.CSG.getExportFormats | ( | ) |
PrepForManufacturing eu.mihosoft.vrl.v3d.CSG.getManufactuing | ( | ) |
PrepForManufacturing eu.mihosoft.vrl.v3d.CSG.getManufacturing | ( | ) |
HashMap<String, IParametric> eu.mihosoft.vrl.v3d.CSG.getMapOfparametrics | ( | ) |
Definition at line 2312 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.historySync().
double eu.mihosoft.vrl.v3d.CSG.getMaxX | ( | ) |
Helper function wrapping bounding box values
Definition at line 1824 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), and eu.mihosoft.vrl.v3d.CSG.touching().
double eu.mihosoft.vrl.v3d.CSG.getMaxY | ( | ) |
Helper function wrapping bounding box values
Definition at line 1833 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), and eu.mihosoft.vrl.v3d.CSG.touching().
double eu.mihosoft.vrl.v3d.CSG.getMaxZ | ( | ) |
Helper function wrapping bounding box values
Definition at line 1842 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), and eu.mihosoft.vrl.v3d.CSG.touching().
MeshView eu.mihosoft.vrl.v3d.CSG.getMesh | ( | ) |
PrepForManufacturing eu.mihosoft.vrl.v3d.CSG.getMfg | ( | ) |
double eu.mihosoft.vrl.v3d.CSG.getMinX | ( | ) |
Helper function wrapping bounding box values
Definition at line 1851 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), and eu.mihosoft.vrl.v3d.CSG.touching().
double eu.mihosoft.vrl.v3d.CSG.getMinY | ( | ) |
Helper function wrapping bounding box values
Definition at line 1860 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), and eu.mihosoft.vrl.v3d.CSG.touching().
double eu.mihosoft.vrl.v3d.CSG.getMinZ | ( | ) |
Helper function wrapping bounding box values
Definition at line 1869 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), and eu.mihosoft.vrl.v3d.CSG.touching().
String eu.mihosoft.vrl.v3d.CSG.getName | ( | ) |
Definition at line 2378 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceCSGBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG.historySync(), and eu.mihosoft.vrl.v3d.CSG.intersect().
|
private |
|
static |
|
static |
|
private |
Set<String> eu.mihosoft.vrl.v3d.CSG.getParameters | ( | ) |
Definition at line 2284 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.historySync().
List<Polygon> eu.mihosoft.vrl.v3d.CSG.getPolygons | ( | ) |
Gets the polygons.
Definition at line 698 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt(), eu.mihosoft.vrl.v3d.Edge.boundaryPolygons(), eu.mihosoft.vrl.v3d.CSG.difference(), eu.mihosoft.vrl.v3d.CSG.dumbUnion(), eu.mihosoft.vrl.v3d.ext.quickhull3d.HullUtil.hull(), eu.mihosoft.vrl.v3d.CSG.hull(), eu.mihosoft.vrl.v3d.CSG.intersect(), eu.mihosoft.vrl.v3d.CSG.minkowski(), eu.mihosoft.vrl.v3d.CSG.minkowskiHullShape(), eu.mihosoft.vrl.v3d.Slice.slice(), eu.mihosoft.vrl.v3d.ChamferedCube.toPolygons(), eu.mihosoft.vrl.v3d.ChamferedCylinder.toPolygons(), eu.mihosoft.vrl.v3d.Dodecahedron.toPolygons(), eu.mihosoft.vrl.v3d.Fillet.toPolygons(), eu.mihosoft.vrl.v3d.Hexagon.toPolygons(), eu.mihosoft.vrl.v3d.Icosahedron.toPolygons(), eu.mihosoft.vrl.v3d.Isosceles.toPolygons(), eu.mihosoft.vrl.v3d.Octahedron.toPolygons(), eu.mihosoft.vrl.v3d.RoundedCube.toPolygons(), eu.mihosoft.vrl.v3d.RoundedCylinder.toPolygons(), eu.mihosoft.vrl.v3d.Tetrahedron.toPolygons(), eu.mihosoft.vrl.v3d.Wedge.toPolygons(), and eu.mihosoft.vrl.v3d.CSG.touching().
|
static |
ArrayList<Transform> eu.mihosoft.vrl.v3d.CSG.getSlicePlanes | ( | ) |
PropertyStorage eu.mihosoft.vrl.v3d.CSG.getStorage | ( | ) |
double eu.mihosoft.vrl.v3d.CSG.getTotalX | ( | ) |
Helper function wrapping bounding box values
Definition at line 1878 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.addTabsReorientation(), and eu.mihosoft.vrl.v3d.CSG.textToSize().
double eu.mihosoft.vrl.v3d.CSG.getTotalY | ( | ) |
Helper function wrapping bounding box values
Definition at line 1887 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.textToSize().
double eu.mihosoft.vrl.v3d.CSG.getTotalZ | ( | ) |
Helper function wrapping bounding box values
Definition at line 1896 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabsReorientation().
Definition at line 2156 of file CSG.java.
References eu.mihosoft.vrl.v3d.parametrics.CSGDatabase.get(), eu.mihosoft.vrl.v3d.CSG.getColor(), eu.mihosoft.vrl.v3d.CSG.getCreationEventStackTraceList(), eu.mihosoft.vrl.v3d.CSG.getMapOfparametrics(), eu.mihosoft.vrl.v3d.CSG.getName(), and eu.mihosoft.vrl.v3d.CSG.getParameters().
Referenced by eu.mihosoft.vrl.v3d.CSG.clone(), eu.mihosoft.vrl.v3d.CSG.difference(), eu.mihosoft.vrl.v3d.CSG.dumbUnion(), eu.mihosoft.vrl.v3d.CSG.hull(), eu.mihosoft.vrl.v3d.CSG.intersect(), eu.mihosoft.vrl.v3d.CSG.makeKeepaway(), eu.mihosoft.vrl.v3d.CSG.transformed(), and eu.mihosoft.vrl.v3d.CSG.union().
CSG eu.mihosoft.vrl.v3d.CSG.hull | ( | ) |
Returns the convex hull of this csg.
Definition at line 866 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.historySync(), and eu.mihosoft.vrl.v3d.ext.quickhull3d.HullUtil.hull().
Referenced by eu.mihosoft.vrl.v3d.CSG.hull(), eu.mihosoft.vrl.v3d.ChamferedCube.toPolygons(), eu.mihosoft.vrl.v3d.ChamferedCylinder.toPolygons(), and eu.mihosoft.vrl.v3d.RoundedCube.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.hull | ( | CSG... | csgs | ) |
Returns the convex hull of this csg and the union of the specified csgs.
csgs | csgs |
Definition at line 895 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.CSG.historySync(), eu.mihosoft.vrl.v3d.CSG.hull(), eu.mihosoft.vrl.v3d.CSG.optType, and eu.mihosoft.vrl.v3d.CSG.setPolygons().
|
static |
Definition at line 880 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.Extrude.revolve().
Definition at line 884 of file CSG.java.
References eu.mihosoft.vrl.v3d.ext.quickhull3d.HullUtil.hull().
Return a new CSG solid representing the intersection of this csg and the specified csg.
Note: Neither this csg nor the specified csg are weighted.
A.intersect(B) +-------+ | | | A | | +--+----+ = +--+ +----+--+ | +--+ | B | | | +-------+ }
csg | other csg |
Definition at line 1275 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.clone(), eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.getName(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.CSG.historySync(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
Referenced by eu.mihosoft.vrl.v3d.CSG.difference(), and eu.mihosoft.vrl.v3d.CSG.toolOffset().
CSG eu.mihosoft.vrl.v3d.CSG.intersect | ( | CSG... | csgs | ) |
Return a new CSG solid representing the intersection of this csg and the specified csgs.
Note: Neither this csg nor the specified csgs are weighted.
A.intersect(B) +-------+ | | | A | | +--+----+ = +--+ +----+--+ | +--+ | B | | | +-------+ }
csgs | other csgs |
Return a new CSG solid representing the intersection of this csg and the specified csgs.
Note: Neither this csg nor the specified csgs are weighted.
A.intersect(B) +-------+ | | | A | | +--+----+ = +--+ +----+--+ | +--+ | B | | | +-------+ }
csgs | other csgs |
Definition at line 1318 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.historySync(), eu.mihosoft.vrl.v3d.ICSGProgress.progressUpdate(), and eu.mihosoft.vrl.v3d.CSG.union().
boolean eu.mihosoft.vrl.v3d.CSG.isMarkedForRegeneration | ( | ) |
|
static |
CSG eu.mihosoft.vrl.v3d.CSG.makeKeepaway | ( | Number | sn | ) |
Definition at line 2090 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.historySync(), and eu.mihosoft.vrl.v3d.CSG.transformed().
This is a simplified version of a minkowski transform using convex hull and the internal list of convex polygons The shape is placed at the vertex of each point on a polygon, and the result is convex hulled together. This collection is returned. To make a normal insets, difference this collection To make an outset by the normals, union this collection with this object.
travelingShape | a shape to sweep around |
Definition at line 2012 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getPolygons().
minkowskiDifference performs an efficient difference of the minkowski transform of the intersection of an object. if you have 2 objects and need them to fit with a specific tolerance as described as the distance from he normal of the surface, then this function will effectinatly compute that value.
itemToDifference | the object that needs to fit |
minkowskiObject | the object to represent the offset |
Definition at line 2034 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.difference(), eu.mihosoft.vrl.v3d.CSG.minkowskiHullShape(), and eu.mihosoft.vrl.v3d.ICSGProgress.progressUpdate().
minkowskiDifference performs an efficient difference of the minkowski transform of the intersection of an object. if you have 2 objects and need them to fit with a specific tolerance as described as the distance from the normal of the surface, then this function will effectinatly compute that value.
itemToDifference | the object that needs to fit |
tolerance | the tolerance distance |
This is a simplified version of a minkowski transform using convex hull and the internal list of convex polygons The shape is placed at the vertex of each point on a polygon, and the result is convex hulled together. This collection is returned. To make a normal insets, difference this collection To make an outset by the normals, union this collection with this object.
travelingShape | a shape to sweep around |
Definition at line 1985 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getPolygons(), eu.mihosoft.vrl.v3d.ext.quickhull3d.HullUtil.hull(), eu.mihosoft.vrl.v3d.CSG.move(), and eu.mihosoft.vrl.v3d.Vertex.pos.
Referenced by eu.mihosoft.vrl.v3d.CSG.minkowskiDifference().
CSG eu.mihosoft.vrl.v3d.CSG.mirrorx | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.mirrory | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.mirrorz | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.move | ( | Number | x, |
Number | y, | ||
Number | z | ||
) |
Definition at line 406 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.minkowskiHullShape(), eu.mihosoft.vrl.v3d.Extrude.move(), and eu.mihosoft.vrl.v3d.Fillet.outerFillet().
Definition at line 414 of file CSG.java.
References eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Definition at line 410 of file CSG.java.
References eu.mihosoft.vrl.v3d.Vertex.getX(), eu.mihosoft.vrl.v3d.Vertex.getY(), and eu.mihosoft.vrl.v3d.Vertex.getZ().
CSG eu.mihosoft.vrl.v3d.CSG.moveToCenter | ( | ) |
Helper function moving CSG to center X, Y, Z moveToCenter. Moves in x, y, z
Definition at line 485 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.movey(), and eu.mihosoft.vrl.v3d.CSG.movez().
CSG eu.mihosoft.vrl.v3d.CSG.moveToCenterX | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.moveToCenterY | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.moveToCenterZ | ( | ) |
CSG eu.mihosoft.vrl.v3d.CSG.movex | ( | Number | howFarToMove | ) |
Movex.
howFarToMove | the how far to move |
Definition at line 449 of file CSG.java.
References eu.mihosoft.vrl.v3d.Transform.translateX(), and eu.mihosoft.vrl.v3d.Transform.unity().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), and eu.mihosoft.vrl.v3d.CSG.getBoundingBox().
CSG eu.mihosoft.vrl.v3d.CSG.movey | ( | Number | howFarToMove | ) |
Movey.
howFarToMove | the how far to move |
Definition at line 429 of file CSG.java.
References eu.mihosoft.vrl.v3d.Transform.translateY(), and eu.mihosoft.vrl.v3d.Transform.unity().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.getBoundingBox(), eu.mihosoft.vrl.v3d.CSG.moveToCenter(), eu.mihosoft.vrl.v3d.Extrude.revolve(), and eu.mihosoft.vrl.v3d.Fillet.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.movez | ( | Number | howFarToMove | ) |
Movez.
howFarToMove | the how far to move |
Definition at line 439 of file CSG.java.
References eu.mihosoft.vrl.v3d.Transform.translateZ(), and eu.mihosoft.vrl.v3d.Transform.unity().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.getBoundingBox(), eu.mihosoft.vrl.v3d.CSG.moveToCenter(), eu.mihosoft.vrl.v3d.ChamferedCylinder.toPolygons(), and eu.mihosoft.vrl.v3d.RoundedCylinder.toPolygons().
MeshView eu.mihosoft.vrl.v3d.CSG.newMesh | ( | ) |
Gets the mesh.
Definition at line 264 of file CSG.java.
References eu.mihosoft.vrl.v3d.MeshContainer.getAsMeshViews().
CSG eu.mihosoft.vrl.v3d.CSG.optimization | ( | OptType | type | ) |
Defines the CSg optimization type.
type | optimization type |
Definition at line 708 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceCSGBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG.intersect(), and eu.mihosoft.vrl.v3d.CSG.transformed().
CSG eu.mihosoft.vrl.v3d.CSG.prepForManufacturing | ( | ) |
Definition at line 179 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.exportFormats, eu.mihosoft.vrl.v3d.CSG.mapOfparametrics, eu.mihosoft.vrl.v3d.CSG.setColor(), eu.mihosoft.vrl.v3d.CSG.setName(), and eu.mihosoft.vrl.v3d.CSG.slicePlanes.
CSG eu.mihosoft.vrl.v3d.CSG.regenerate | ( | ) |
Definition at line 2302 of file CSG.java.
References eu.mihosoft.vrl.v3d.parametrics.IRegenerate.regenerate(), eu.mihosoft.vrl.v3d.CSG.setColor(), and eu.mihosoft.vrl.v3d.CSG.setManipulator().
CSG eu.mihosoft.vrl.v3d.CSG.rot | ( | Number | x, |
Number | y, | ||
Number | z | ||
) |
Definition at line 535 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.roty(), and eu.mihosoft.vrl.v3d.CSG.rotz().
CSG eu.mihosoft.vrl.v3d.CSG.rotx | ( | Number | degreesToRotate | ) |
Rotx.
degreesToRotate | the degrees to rotate |
Definition at line 570 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.Parabola.cone(), eu.mihosoft.vrl.v3d.CSG.text(), and eu.mihosoft.vrl.v3d.Fillet.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.roty | ( | Number | degreesToRotate | ) |
Roty.
degreesToRotate | the degrees to rotate |
Definition at line 560 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.rot(), eu.mihosoft.vrl.v3d.Isosceles.toPolygons(), and eu.mihosoft.vrl.v3d.Wedge.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.rotz | ( | Number | degreesToRotate | ) |
Rotz.
degreesToRotate | the degrees to rotate |
Definition at line 550 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.Fillet.outerFillet(), eu.mihosoft.vrl.v3d.Extrude.revolve(), eu.mihosoft.vrl.v3d.CSG.rot(), eu.mihosoft.vrl.v3d.Isosceles.toPolygons(), and eu.mihosoft.vrl.v3d.Wedge.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.scale | ( | Number | scaleValue | ) |
Scale.
scaleValue | the scale value |
Definition at line 611 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.Dodecahedron.toPolygons(), eu.mihosoft.vrl.v3d.Icosahedron.toPolygons(), eu.mihosoft.vrl.v3d.Octahedron.toPolygons(), and eu.mihosoft.vrl.v3d.Tetrahedron.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.scalex | ( | Number | scaleValue | ) |
Scalex.
scaleValue | the scale value |
Definition at line 601 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.textToSize().
CSG eu.mihosoft.vrl.v3d.CSG.scaley | ( | Number | scaleValue | ) |
Scaley.
scaleValue | the scale value |
Definition at line 591 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.textToSize().
CSG eu.mihosoft.vrl.v3d.CSG.scalez | ( | Number | scaleValue | ) |
CSG eu.mihosoft.vrl.v3d.CSG.setColor | ( | Color | color | ) |
Sets the color.
color | the new color |
Definition at line 207 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.svg.SVGLoad.extrudeLayers(), eu.mihosoft.vrl.v3d.CSG.prepForManufacturing(), eu.mihosoft.vrl.v3d.CSG.regenerate(), and eu.mihosoft.vrl.v3d.CSG.setParameterNewValue().
|
private |
|
static |
Definition at line 2363 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.defaultcolor.
|
static |
CSG eu.mihosoft.vrl.v3d.CSG.setManipulator | ( | Affine | manipulator | ) |
Sets the manipulator.
manipulator | the manipulator |
Definition at line 235 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.regenerate(), and eu.mihosoft.vrl.v3d.CSG.setParameterNewValue().
CSG eu.mihosoft.vrl.v3d.CSG.setManufactuing | ( | PrepForManufacturing | manufactuing | ) |
CSG eu.mihosoft.vrl.v3d.CSG.setManufacturing | ( | PrepForManufacturing | manufactuing | ) |
CSG eu.mihosoft.vrl.v3d.CSG.setMfg | ( | PrepForManufacturing | manufactuing | ) |
CSG eu.mihosoft.vrl.v3d.CSG.setName | ( | String | name | ) |
Definition at line 2382 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG._differenceCSGBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._differenceNoOpt(), eu.mihosoft.vrl.v3d.CSG._differencePolygonBoundsOpt(), eu.mihosoft.vrl.v3d.CSG._unionIntersectOpt(), eu.mihosoft.vrl.v3d.CSG._unionNoOpt(), eu.mihosoft.vrl.v3d.CSG._unionPolygonBoundsOpt(), eu.mihosoft.vrl.v3d.svg.SVGLoad.extrudeLayerToCSG(), eu.mihosoft.vrl.v3d.CSG.intersect(), eu.mihosoft.vrl.v3d.CSG.prepForManufacturing(), and eu.mihosoft.vrl.v3d.CSG.transformed().
|
static |
Definition at line 2439 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.numFacesInOffset.
Referenced by eu.mihosoft.vrl.v3d.Slice.setNumFacesInOffset().
void eu.mihosoft.vrl.v3d.CSG.setOptType | ( | OptType | optType | ) |
Sets the opt type.
optType | the optType to set |
Definition at line 1923 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.clone().
Definition at line 2250 of file CSG.java.
References eu.mihosoft.vrl.v3d.parametrics.CSGDatabase.get(), eu.mihosoft.vrl.v3d.parametrics.Parameter.getName(), and eu.mihosoft.vrl.v3d.parametrics.Parameter.setValue().
CSG eu.mihosoft.vrl.v3d.CSG.setParameter | ( | Parameter | w, |
IParametric | function | ||
) |
Definition at line 2240 of file CSG.java.
References eu.mihosoft.vrl.v3d.parametrics.CSGDatabase.get(), eu.mihosoft.vrl.v3d.parametrics.Parameter.getName(), and eu.mihosoft.vrl.v3d.parametrics.CSGDatabase.set().
Referenced by eu.mihosoft.vrl.v3d.Primitive.toCSG().
CSG eu.mihosoft.vrl.v3d.CSG.setParameter | ( | String | key, |
double | defaultValue, | ||
double | upperBound, | ||
double | lowerBound, | ||
IParametric | function | ||
) |
CSG eu.mihosoft.vrl.v3d.CSG.setParameterIfNull | ( | String | key | ) |
Definition at line 2271 of file CSG.java.
References eu.mihosoft.vrl.v3d.parametrics.CSGDatabase.get(), and eu.mihosoft.vrl.v3d.parametrics.Parameter.setValue().
CSG eu.mihosoft.vrl.v3d.CSG.setParameterNewValue | ( | String | key, |
double | newValue | ||
) |
Definition at line 2289 of file CSG.java.
References eu.mihosoft.vrl.v3d.parametrics.IParametric.change(), eu.mihosoft.vrl.v3d.CSG.setColor(), and eu.mihosoft.vrl.v3d.CSG.setManipulator().
void eu.mihosoft.vrl.v3d.CSG.setPolygons | ( | List< Polygon > | polygons | ) |
Sets the polygons.
polygons | the new polygons |
Definition at line 1932 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.clone(), eu.mihosoft.vrl.v3d.CSG.fromPolygons(), and eu.mihosoft.vrl.v3d.CSG.hull().
void eu.mihosoft.vrl.v3d.CSG.setPrintBedNumber | ( | int | index | ) |
|
static |
Definition at line 2355 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.progressMoniter.
CSG eu.mihosoft.vrl.v3d.CSG.setRegenerate | ( | IRegenerate | function | ) |
void eu.mihosoft.vrl.v3d.CSG.setStorage | ( | PropertyStorage | storage | ) |
Definition at line 2463 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.fromPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.setTemporaryColor | ( | Color | color | ) |
|
static |
Definition at line 2447 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.useStackTraces.
|
static |
|
static |
Definition at line 2685 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.text(), and eu.mihosoft.vrl.v3d.CSG.textToSize().
|
static |
Definition at line 2691 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.dumbUnion(), eu.mihosoft.vrl.v3d.CSG.rotx(), eu.mihosoft.vrl.v3d.CSG.text(), eu.mihosoft.vrl.v3d.TextExtrude.text, and eu.mihosoft.vrl.v3d.CSG.toZMin().
|
static |
Extrude text to a specific bounding box size
text | the text to be extruded |
x | the total final X |
y | the total final Y |
z | the total final Z |
Definition at line 2714 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getTotalX(), eu.mihosoft.vrl.v3d.CSG.getTotalY(), eu.mihosoft.vrl.v3d.CSG.scalex(), eu.mihosoft.vrl.v3d.CSG.scaley(), eu.mihosoft.vrl.v3d.CSG.text(), and eu.mihosoft.vrl.v3d.CSG.toXMin().
MeshContainer eu.mihosoft.vrl.v3d.CSG.toJavaFXMesh | ( | CadInteractionEvent | interact | ) |
MeshContainer eu.mihosoft.vrl.v3d.CSG.toJavaFXMeshSimple | ( | CadInteractionEvent | interact | ) |
Returns the CSG as JavaFX triangle mesh.
interact | the interact |
Definition at line 1727 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSGtoJavafx.meshFromPolygon().
String eu.mihosoft.vrl.v3d.CSG.toObjString | ( | ) |
StringBuilder eu.mihosoft.vrl.v3d.CSG.toObjString | ( | StringBuilder | sb | ) |
Returns this csg in OBJ string format.
sb | string builder |
Definition at line 1567 of file CSG.java.
References eu.mihosoft.vrl.v3d.Vertex.toObjString(), and eu.mihosoft.vrl.v3d.Vertex.transform().
CSG eu.mihosoft.vrl.v3d.CSG.toolOffset | ( | Number | sn | ) |
Definition at line 2064 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.intersect(), and eu.mihosoft.vrl.v3d.Primitive.toCSG().
String eu.mihosoft.vrl.v3d.CSG.toStlString | ( | ) |
StringBuilder eu.mihosoft.vrl.v3d.CSG.toStlString | ( | StringBuilder | sb | ) |
Returns this csg in STL string format.
sb | string builder |
Definition at line 1383 of file CSG.java.
References eu.mihosoft.vrl.v3d.Polygon.toStlString().
boolean eu.mihosoft.vrl.v3d.CSG.touching | ( | CSG | incoming | ) |
A test to see if 2 CSG's are touching. The fast-return is a bounding box check If bounding boxes overlap, then an intersection is performed and the existance of an interscting object is returned
incoming |
Definition at line 2335 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getMaxX(), eu.mihosoft.vrl.v3d.CSG.getMaxY(), eu.mihosoft.vrl.v3d.CSG.getMaxZ(), eu.mihosoft.vrl.v3d.CSG.getMinX(), eu.mihosoft.vrl.v3d.CSG.getMinY(), eu.mihosoft.vrl.v3d.CSG.getMinZ(), and eu.mihosoft.vrl.v3d.CSG.getPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.toXMax | ( | ) |
To x max.
target | the target |
Definition at line 328 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.Bounds.getMax(), and eu.mihosoft.vrl.v3d.Vector3d.x().
Referenced by eu.mihosoft.vrl.v3d.CSG.getBoundingBox().
CSG eu.mihosoft.vrl.v3d.CSG.toXMin | ( | ) |
To x min.
target | the target |
Definition at line 318 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.Bounds.getMin(), and eu.mihosoft.vrl.v3d.Vector3d.x().
Referenced by eu.mihosoft.vrl.v3d.CSG.textToSize(), and eu.mihosoft.vrl.v3d.Fillet.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.toYMax | ( | ) |
To y max.
target | the target |
Definition at line 348 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.Bounds.getMax(), and eu.mihosoft.vrl.v3d.Vector3d.y().
Referenced by eu.mihosoft.vrl.v3d.CSG.getBoundingBox().
CSG eu.mihosoft.vrl.v3d.CSG.toYMin | ( | ) |
To y min.
target | the target |
Definition at line 338 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.Bounds.getMin(), and eu.mihosoft.vrl.v3d.Vector3d.y().
Referenced by eu.mihosoft.vrl.v3d.Fillet.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.toZMax | ( | ) |
To z max.
target | the target |
Definition at line 308 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.Bounds.getMax(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Referenced by eu.mihosoft.vrl.v3d.svg.SVGLoad.extrudeLayers(), and eu.mihosoft.vrl.v3d.CSG.getBoundingBox().
CSG eu.mihosoft.vrl.v3d.CSG.toZMin | ( | ) |
To z min.
target | the target |
Definition at line 298 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.getBounds(), eu.mihosoft.vrl.v3d.Bounds.getMin(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Referenced by eu.mihosoft.vrl.v3d.Parabola.cone(), eu.mihosoft.vrl.v3d.CSG.text(), eu.mihosoft.vrl.v3d.Fillet.toPolygons(), and eu.mihosoft.vrl.v3d.RoundedCylinder.toPolygons().
Returns a transformed copy of this CSG.
transform | the transform to apply |
Definition at line 1676 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.fromPolygons(), eu.mihosoft.vrl.v3d.CSG.historySync(), eu.mihosoft.vrl.v3d.CSG.optimization(), and eu.mihosoft.vrl.v3d.CSG.setName().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.makeKeepaway(), eu.mihosoft.vrl.v3d.Extrude.revolve(), and eu.mihosoft.vrl.v3d.RoundedCube.toPolygons().
CSG eu.mihosoft.vrl.v3d.CSG.triangulate | ( | ) |
Definition at line 1398 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.ext.quickhull3d.HullUtil.hull().
CSG eu.mihosoft.vrl.v3d.CSG.triangulate | ( | boolean | fix | ) |
Definition at line 1401 of file CSG.java.
References eu.mihosoft.vrl.v3d.Debug3dProvider.clearScreen(), and eu.mihosoft.vrl.v3d.Debug3dProvider.setProvider().
Return a new CSG solid representing the union of this csg and the specified csg.
Note: Neither this csg nor the specified csg are weighted.
A.union(B) +-------+ +-------+ | | | | | A | | | | +--+----+ = | +----+ +----+--+ | +----+ | | B | | | | | | | +-------+ +-------+
csg | other csg |
Definition at line 736 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.historySync().
Referenced by eu.mihosoft.vrl.v3d.CSG.addTabs(), eu.mihosoft.vrl.v3d.CSG.difference(), eu.mihosoft.vrl.v3d.CSG.intersect(), eu.mihosoft.vrl.v3d.Fillet.outerFillet(), eu.mihosoft.vrl.v3d.ChamferedCube.toPolygons(), eu.mihosoft.vrl.v3d.ChamferedCylinder.toPolygons(), eu.mihosoft.vrl.v3d.RoundedCube.toPolygons(), eu.mihosoft.vrl.v3d.CSG.union(), and eu.mihosoft.vrl.v3d.CSG.unionAll().
CSG eu.mihosoft.vrl.v3d.CSG.union | ( | CSG... | csgs | ) |
Return a new CSG solid representing the union of this csg and the specified csgs.
Note: Neither this csg nor the specified csg are weighted.
A.union(B) +-------+ +-------+ | | | | | A | | | | +--+----+ = | +----+ +----+--+ | +----+ | | B | | | | | | | +-------+ +-------+
csgs | other csgs |
Return a new CSG solid representing the union of this csg and the specified csgs.
Note: Neither this csg nor the specified csg are weighted.
A.union(B) +-------+ +-------+ | | | | | A | | | | +--+----+ = | +----+ +----+--+ | +----+ | | B | | | | | | | +-------+ +-------+
csgs | other csgs |
Definition at line 797 of file CSG.java.
References eu.mihosoft.vrl.v3d.ICSGProgress.progressUpdate(), and eu.mihosoft.vrl.v3d.CSG.union().
|
static |
Definition at line 871 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.Fillet.corner(), eu.mihosoft.vrl.v3d.svg.SVGLoad.extrudeLayerToCSG(), and eu.mihosoft.vrl.v3d.Fillet.outerFillet().
Definition at line 875 of file CSG.java.
References eu.mihosoft.vrl.v3d.CSG.union().
|
private |
Definition at line 1510 of file CSG.java.
References eu.mihosoft.vrl.v3d.Debug3dProvider.addObject(), eu.mihosoft.vrl.v3d.Debug3dProvider.clearScreen(), eu.mihosoft.vrl.v3d.ext.org.poly2tri.PolygonUtil.concaveToConvex(), eu.mihosoft.vrl.v3d.Debug3dProvider.setProvider(), and eu.mihosoft.vrl.v3d.Polygon.vertices.
CSG eu.mihosoft.vrl.v3d.CSG.weighted | ( | WeightFunction | f | ) |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
Definition at line 129 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.setDefaultColor().
|
staticprivate |
|
private |
Definition at line 147 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.prepForManufacturing().
|
private |
|
static |
|
static |
|
static |
|
private |
|
private |
|
private |
Definition at line 142 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.prepForManufacturing().
|
private |
|
staticprivate |
|
staticprivate |
Definition at line 111 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.setNumFacesInOffset().
|
private |
The opt type.
Definition at line 120 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.hull().
|
private |
|
staticprivate |
Definition at line 153 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.setProgressMoniter().
|
staticprivate |
|
private |
|
private |
Definition at line 146 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.prepForManufacturing().
|
private |
|
private |
Definition at line 149 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.dumbUnion().
|
staticprivate |
Definition at line 151 of file CSG.java.
Referenced by eu.mihosoft.vrl.v3d.CSG.setUseStackTraces().