harmonic.cad.manager
Class CAD_HighLevels

java.lang.Object
  |
  +--harmonic.cad.manager.CAD_HighLevels

public class CAD_HighLevels
extends java.lang.Object

These are high level alternatives to the regular API. Handy for macros. The idea of Modelzilla user level macros is that they do only what someone using the user interface could have done, only in an automated way. They should populate the repository with the standard types offered the the application modules the macro depends on. They should not compute raw geometries and dump them in the viewport or unspecilized ShapeNodes. This stratagy will not result in a repository than can be saved and recalled.
The idea of this class is that a macro could use this class exclusivly instead of the using the CAD-Zilla shapes and management API. For example in the case of making a smooth polygon from a control polygon, it is possible to use:

 		PolygonSplineShape shape = new PolygonSplineShape();
 		prepareCS(shape, control);
 		shape.polygon.addNode(control);
 		shape.type.setInt(PolygonSplineShape.PBLEND);
 		shpae.matchEnd.setBoolean(matchEnd);
 
Or the following, which is shorter:
 		ShapeNode shape = parabolicBlendPoly(control, matchEnd);
 
The creation methods are declared only to return ShapeNode's rather than the more specilized types because this is envisioned to be more stable.
Methods that create shapes generally return a reference to the new shape but do not add it to the repository. Methods that create shapes using others as input add the input shapes to the input nodes of the composite shape, and return the composite shape without adding it to the repository. The compositing modes offered by the gui are not offered here. To consume links and copies instead of originals, pass in links and copies.
Operations done through these methods are not run through the undo system


Constructor Summary
CAD_HighLevels()
          Ensures CAD-Zilla module is loaded
 
Method Summary
 void addShape(harmonic.mz.data.ShapeNode shape)
          Add a shape to the same place in repository the shape would be added in response to the gui.
 harmonic.mz.data.ShapeNode arc(float[] a, float[] b, float[] c)
           
 harmonic.mz.data.ShapeNode arc(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, harmonic.meshGeom.math.Pnt3f c)
          Create arc from three points on curve
 harmonic.mz.data.ShapeNode arcCRAA(harmonic.meshGeom.math.Pnt3f center, float radius, float angleA, float angleB)
          Create arc from center, radius, angleA, angleB
 harmonic.mz.data.ShapeNode arcSTE(float[] a, float[] b, float[] c)
           
 harmonic.mz.data.ShapeNode arcSTE(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, harmonic.meshGeom.math.Pnt3f c)
          Create arc from first point on circumfrence, a point on tangent from first point, and end point on cirucumfrence
 harmonic.mz.data.ShapeNode box(harmonic.meshGeom.math.Box6f box)
          Create a box given a box size descriptor
 harmonic.mz.data.ShapeNode box(float[] a, float[] b, float height)
           
 harmonic.mz.data.ShapeNode box(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, float height)
          Create a box of given base rectangle corners and height
 harmonic.mz.data.ShapeNode bSpline2Poly(harmonic.mz.data.ShapeNode control, boolean bMatchEnds)
          Create a smoothed polygon using given control polygon in set and quadratic basis function spline smoothing function
 harmonic.mz.data.ShapeNode bSpline3Poly(harmonic.mz.data.ShapeNode control, boolean bMatchEnds)
          Create a smoothed polygon using given control polygons in set and cubic basis function spline smoothing function
 harmonic.mz.data.ShapeNode centerDim(float[] a, float[] b)
           
 harmonic.mz.data.ShapeNode centerDim(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b)
          Create a CenterDimLabelShape
 harmonic.mz.data.ShapeNode circle(float[] center, float rad)
           
 harmonic.mz.data.ShapeNode circle(harmonic.meshGeom.math.Pnt3f center, float rad)
          Create circle from center, radius
 harmonic.mz.data.ShapeNode circumscribed(int sideCount, harmonic.meshGeom.math.Pnt3f center, harmonic.meshGeom.math.Pnt3f vertex)
          Create circumscribed regular polygon of given sideCount, center, and twist resolving vertex
 harmonic.mz.data.ShapeNode circumscribedPolygon(int sideCount, float[] center, float[] vertex)
           
 harmonic.mz.data.ShapeNode cleaveSolid(harmonic.mz.data.ShapeNode solid, float[] a, float[] b, float[] c)
           
 harmonic.mz.data.ShapeNode cleaveSolid(harmonic.mz.data.ShapeNode solid, harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, harmonic.meshGeom.math.Pnt3f c)
          Create a cleave of the given solid
 harmonic.mz.data.ShapeNode cone(float[] center, float radius, float height)
           
 harmonic.mz.data.ShapeNode cone(harmonic.meshGeom.math.Pnt3f center, float radius, float height)
          Create a cone of given center and radius and height
 harmonic.mz.data.ShapeNode cylinder(float[] center, float radius, float height)
           
 harmonic.mz.data.ShapeNode cylinder(harmonic.meshGeom.math.Pnt3f center, float radius, float height)
          Create a cylinder of given center and radius and height
 harmonic.mz.data.ShapeNode ellipse(float[] a, float rad, float rad2)
           
 harmonic.mz.data.ShapeNode ellipse(harmonic.meshGeom.math.Pnt3f a, float rad, float rad2)
          Create ellipse from center, radiusA, radiusB
 harmonic.mz.data.ShapeNode extrusion(harmonic.mz.data.ShapeNode section, float height)
           
 harmonic.mz.data.ShapeNode extrusion(harmonic.mz.data.ShapeNode section, harmonic.meshGeom.math.Vec3f vector)
          Create an extrusion of given section along vector
 harmonic.mz.data.ShapeNode horzDim(float[] a, float[] b, float[] offset)
           
 harmonic.mz.data.ShapeNode horzDim(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, harmonic.meshGeom.math.Pnt3f offset)
          Create a HorizontalDimLabelShape
 harmonic.mz.data.ShapeNode inscribedPolygon(int sideCount, float[] center, float[] vertex)
           
 harmonic.mz.data.ShapeNode inscribedPolygon(int sideCount, harmonic.meshGeom.math.Pnt3f center, harmonic.meshGeom.math.Pnt3f vertex)
          Create inscribed regular polygon of given sideCount, center, and twist resolving vertex
 harmonic.mz.data.ShapeNode intersectRegions(harmonic.mz.data.ShapeNode[] set)
          Create an intersection of solids.
 harmonic.mz.data.ShapeNode intersectRegions(harmonic.mz.data.ShapeNode a, harmonic.mz.data.ShapeNode b)
           
 harmonic.mz.data.ShapeNode intersectSolids(harmonic.mz.data.ShapeNode[] set)
          Create an intersection of solids.
 harmonic.mz.data.ShapeNode intersectSolids(harmonic.mz.data.ShapeNode a, harmonic.mz.data.ShapeNode b)
           
 harmonic.mz.data.ShapeNode joinPoly(harmonic.mz.data.ShapeNode[] set)
          Create a polygon join shape using given input polygons
 harmonic.mz.data.ShapeNode label(java.lang.String name, harmonic.meshGeom.math.Pnt3f p)
          Create a LabelShape
 harmonic.mz.data.ShapeNode line(float[] a, float[] b)
           
 harmonic.mz.data.ShapeNode line(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b)
          Create line from two end points
 harmonic.mz.data.ShapeNode multiSectionSweep(harmonic.mz.data.ShapeNode[] sectionSet, harmonic.mz.data.ShapeNode[] pathSet, harmonic.mz.data.fields.PointSetField guidePoints, int sweepType, int splineType)
          Create a multi section sweep of given section scaling by given path
 harmonic.mz.data.ShapeNode normalPathSweep(harmonic.mz.data.ShapeNode section, harmonic.mz.data.ShapeNode path)
          Create a path sweep of given section down given path, setting sweep type to GeneralPathSweepShape.NORMAL_SWEEP
 harmonic.mz.data.ShapeNode offsetPoly(harmonic.mz.data.ShapeNode control, float distance)
          Create a polygon offset shape using given input polygons
 harmonic.mz.data.ShapeNode offsetSurface(harmonic.mz.data.ShapeNode surface, float distance)
          Creates an offset sufrace
 harmonic.mz.data.ShapeNode parabolicBlendPoly(harmonic.mz.data.ShapeNode control, boolean bMatchEnds)
          Create a smoothed polygon using given control polygon in set and parabolic blend smoothing function
 harmonic.mz.data.ShapeNode parallelPathSweep(harmonic.mz.data.ShapeNode section, harmonic.mz.data.ShapeNode path)
          Create a path sweep of given section down given path, setting sweep type to GeneralPathSweepShape.PARALLEL_SWEEP
 harmonic.mz.data.ShapeNode pointerLabel(java.lang.String name, float[] head, float[] joint, float[] tail)
           
 harmonic.mz.data.ShapeNode pointerLabel(java.lang.String name, harmonic.meshGeom.math.Pnt3f head, harmonic.meshGeom.math.Pnt3f joint, harmonic.meshGeom.math.Pnt3f tail)
          Create a PointerLabelShape
 harmonic.mz.data.ShapeNode pointMark(float[] p)
           
 harmonic.mz.data.ShapeNode pointMark(harmonic.meshGeom.math.Pnt3f p)
          Create point mark shape at p
 harmonic.mz.data.ShapeNode polyline(harmonic.meshGeom.math.Pnt3f[] points)
          Create polyline from point set
 harmonic.mz.data.ShapeNode rect(float[] a, float[] b)
           
 harmonic.mz.data.ShapeNode rect(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b)
          Create rectangle from opposite corners
 harmonic.mz.data.ShapeNode rectangularMesh(harmonic.meshGeom.math.Pnt3f[] points, int nx, int ny)
          Create a rectangular mesh of given points
 harmonic.mz.data.ShapeNode regionFromLoops(harmonic.mz.data.ShapeNode[] loops)
          Create a region bounded by given loops
 harmonic.mz.data.ShapeNode revolution(harmonic.mz.data.ShapeNode section, harmonic.meshGeom.math.Pnt3f axisPos, harmonic.meshGeom.math.Vec3f axisDir, float angle)
          Create a revolution of given section about given axis and angle
 harmonic.mz.data.ShapeNode ruledSweep(harmonic.mz.data.ShapeNode[] sectionSet, harmonic.mz.data.ShapeNode[] pathSet)
          Create a ruled sweep of given section set and path set
 harmonic.mz.data.ShapeNode scaleSweep(harmonic.mz.data.ShapeNode section, harmonic.mz.data.ShapeNode path, harmonic.meshGeom.math.Pnt3f about)
          Create a scale sweep of given section scaling by given path
 harmonic.mz.data.ShapeNode sectionSolid(harmonic.mz.data.ShapeNode solid, float[] a, float[] b, float[] c)
           
 harmonic.mz.data.ShapeNode sectionSolid(harmonic.mz.data.ShapeNode solid, harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, harmonic.meshGeom.math.Pnt3f c)
          Create a section of the given solid
 void setAutoAdd(boolean b)
          Controls whether objects created with this class are automatically added to repository
 void setAutoColor(harmonic.meshGeom.math.Clr3f color)
          A non null color is automatically applied to all new shapes created by these macro functions.
 void setAutoInvisible(boolean b)
          Controls whether objects added as input to other created by these macro functions are made invisible automatically.
 void setColor(harmonic.mz.data.ShapeNode shape, harmonic.meshGeom.math.Clr3f color)
          Sets the color of a CAD-Zilla shape.
 void setLinkOnCreate(boolean b)
           
 void setUseUndo(boolean b)
           
 harmonic.mz.data.ShapeNode smoothRetangularMesh(harmonic.mz.data.ShapeNode mesh)
          Create a smooth rectangular mesh
 harmonic.mz.data.ShapeNode solidSheet(harmonic.mz.data.ShapeNode surface, float thickness)
          Creates a solid sheet
 harmonic.mz.data.ShapeNode sphere(float[] center, float radius)
           
 harmonic.mz.data.ShapeNode sphere(harmonic.meshGeom.math.Pnt3f center, float radius)
          Create a sphere of given center and radius
 harmonic.mz.data.ShapeNode subtractRegions(harmonic.mz.data.ShapeNode[] positive, harmonic.mz.data.ShapeNode[] negative)
          Create a subraction of regions.
 harmonic.mz.data.ShapeNode subtractRegions(harmonic.mz.data.ShapeNode positive, harmonic.mz.data.ShapeNode negative)
           
 harmonic.mz.data.ShapeNode subtractSolids(harmonic.mz.data.ShapeNode[] positive, harmonic.mz.data.ShapeNode[] negative)
          Create a subraction of solids.
 harmonic.mz.data.ShapeNode subtractSolids(harmonic.mz.data.ShapeNode positive, harmonic.mz.data.ShapeNode negative)
           
 harmonic.mz.data.ShapeNode torus(float[] center, float radius, float radiusB)
           
 harmonic.mz.data.ShapeNode torus(harmonic.meshGeom.math.Pnt3f center, float radiusA, float radiusB)
          Create a torus of given center and radius and height
 harmonic.mz.data.ShapeNode unionRegions(harmonic.mz.data.ShapeNode[] set)
          Create a union of regions.
 harmonic.mz.data.ShapeNode unionRegions(harmonic.mz.data.ShapeNode a, harmonic.mz.data.ShapeNode b)
           
 harmonic.mz.data.ShapeNode unionSolids(harmonic.mz.data.ShapeNode[] set)
          Create a union of solids.
 harmonic.mz.data.ShapeNode unionSolids(harmonic.mz.data.ShapeNode a, harmonic.mz.data.ShapeNode b)
           
 harmonic.mz.data.ShapeNode vertDim(float[] a, float[] b, float[] offset)
           
 harmonic.mz.data.ShapeNode vertDim(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, harmonic.meshGeom.math.Pnt3f offset)
          Create a VerticalDimLabelShape
 harmonic.mz.data.ShapeNode wedge(float[] a, float[] b, float h)
           
 harmonic.mz.data.ShapeNode wedge(harmonic.meshGeom.math.Pnt3f a, harmonic.meshGeom.math.Pnt3f b, float h)
          Create a wedge of given base rectangle corners and height
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CAD_HighLevels

public CAD_HighLevels()
Ensures CAD-Zilla module is loaded

Method Detail

setAutoAdd

public void setAutoAdd(boolean b)
Controls whether objects created with this class are automatically added to repository


setAutoInvisible

public void setAutoInvisible(boolean b)
Controls whether objects added as input to other created by these macro functions are made invisible automatically.


setAutoColor

public void setAutoColor(harmonic.meshGeom.math.Clr3f color)
A non null color is automatically applied to all new shapes created by these macro functions.


setLinkOnCreate

public void setLinkOnCreate(boolean b)

setUseUndo

public void setUseUndo(boolean b)

addShape

public void addShape(harmonic.mz.data.ShapeNode shape)
Add a shape to the same place in repository the shape would be added in response to the gui. CAD-Zilla may have a special place for new objects. Using this function ensures they get to the special place rather than the general Modelzilla place.


setColor

public void setColor(harmonic.mz.data.ShapeNode shape,
                     harmonic.meshGeom.math.Clr3f color)
Sets the color of a CAD-Zilla shape. Color nodes are made to unlink from anything they point to.


line

public harmonic.mz.data.ShapeNode line(float[] a,
                                       float[] b)

line

public harmonic.mz.data.ShapeNode line(harmonic.meshGeom.math.Pnt3f a,
                                       harmonic.meshGeom.math.Pnt3f b)
Create line from two end points


polyline

public harmonic.mz.data.ShapeNode polyline(harmonic.meshGeom.math.Pnt3f[] points)
Create polyline from point set


rect

public harmonic.mz.data.ShapeNode rect(float[] a,
                                       float[] b)

rect

public harmonic.mz.data.ShapeNode rect(harmonic.meshGeom.math.Pnt3f a,
                                       harmonic.meshGeom.math.Pnt3f b)
Create rectangle from opposite corners


circle

public harmonic.mz.data.ShapeNode circle(float[] center,
                                         float rad)

circle

public harmonic.mz.data.ShapeNode circle(harmonic.meshGeom.math.Pnt3f center,
                                         float rad)
Create circle from center, radius


ellipse

public harmonic.mz.data.ShapeNode ellipse(float[] a,
                                          float rad,
                                          float rad2)

ellipse

public harmonic.mz.data.ShapeNode ellipse(harmonic.meshGeom.math.Pnt3f a,
                                          float rad,
                                          float rad2)
Create ellipse from center, radiusA, radiusB


arc

public harmonic.mz.data.ShapeNode arc(float[] a,
                                      float[] b,
                                      float[] c)

arc

public harmonic.mz.data.ShapeNode arc(harmonic.meshGeom.math.Pnt3f a,
                                      harmonic.meshGeom.math.Pnt3f b,
                                      harmonic.meshGeom.math.Pnt3f c)
Create arc from three points on curve


arcCRAA

public harmonic.mz.data.ShapeNode arcCRAA(harmonic.meshGeom.math.Pnt3f center,
                                          float radius,
                                          float angleA,
                                          float angleB)
Create arc from center, radius, angleA, angleB


arcSTE

public harmonic.mz.data.ShapeNode arcSTE(float[] a,
                                         float[] b,
                                         float[] c)

arcSTE

public harmonic.mz.data.ShapeNode arcSTE(harmonic.meshGeom.math.Pnt3f a,
                                         harmonic.meshGeom.math.Pnt3f b,
                                         harmonic.meshGeom.math.Pnt3f c)
Create arc from first point on circumfrence, a point on tangent from first point, and end point on cirucumfrence


inscribedPolygon

public harmonic.mz.data.ShapeNode inscribedPolygon(int sideCount,
                                                   float[] center,
                                                   float[] vertex)

inscribedPolygon

public harmonic.mz.data.ShapeNode inscribedPolygon(int sideCount,
                                                   harmonic.meshGeom.math.Pnt3f center,
                                                   harmonic.meshGeom.math.Pnt3f vertex)
Create inscribed regular polygon of given sideCount, center, and twist resolving vertex


circumscribedPolygon

public harmonic.mz.data.ShapeNode circumscribedPolygon(int sideCount,
                                                       float[] center,
                                                       float[] vertex)

circumscribed

public harmonic.mz.data.ShapeNode circumscribed(int sideCount,
                                                harmonic.meshGeom.math.Pnt3f center,
                                                harmonic.meshGeom.math.Pnt3f vertex)
Create circumscribed regular polygon of given sideCount, center, and twist resolving vertex


pointMark

public harmonic.mz.data.ShapeNode pointMark(float[] p)

pointMark

public harmonic.mz.data.ShapeNode pointMark(harmonic.meshGeom.math.Pnt3f p)
Create point mark shape at p


parabolicBlendPoly

public harmonic.mz.data.ShapeNode parabolicBlendPoly(harmonic.mz.data.ShapeNode control,
                                                     boolean bMatchEnds)
Create a smoothed polygon using given control polygon in set and parabolic blend smoothing function


bSpline2Poly

public harmonic.mz.data.ShapeNode bSpline2Poly(harmonic.mz.data.ShapeNode control,
                                               boolean bMatchEnds)
Create a smoothed polygon using given control polygon in set and quadratic basis function spline smoothing function


bSpline3Poly

public harmonic.mz.data.ShapeNode bSpline3Poly(harmonic.mz.data.ShapeNode control,
                                               boolean bMatchEnds)
Create a smoothed polygon using given control polygons in set and cubic basis function spline smoothing function


joinPoly

public harmonic.mz.data.ShapeNode joinPoly(harmonic.mz.data.ShapeNode[] set)
Create a polygon join shape using given input polygons


offsetPoly

public harmonic.mz.data.ShapeNode offsetPoly(harmonic.mz.data.ShapeNode control,
                                             float distance)
Create a polygon offset shape using given input polygons


label

public harmonic.mz.data.ShapeNode label(java.lang.String name,
                                        harmonic.meshGeom.math.Pnt3f p)
Create a LabelShape


pointerLabel

public harmonic.mz.data.ShapeNode pointerLabel(java.lang.String name,
                                               float[] head,
                                               float[] joint,
                                               float[] tail)

pointerLabel

public harmonic.mz.data.ShapeNode pointerLabel(java.lang.String name,
                                               harmonic.meshGeom.math.Pnt3f head,
                                               harmonic.meshGeom.math.Pnt3f joint,
                                               harmonic.meshGeom.math.Pnt3f tail)
Create a PointerLabelShape


vertDim

public harmonic.mz.data.ShapeNode vertDim(float[] a,
                                          float[] b,
                                          float[] offset)

vertDim

public harmonic.mz.data.ShapeNode vertDim(harmonic.meshGeom.math.Pnt3f a,
                                          harmonic.meshGeom.math.Pnt3f b,
                                          harmonic.meshGeom.math.Pnt3f offset)
Create a VerticalDimLabelShape


horzDim

public harmonic.mz.data.ShapeNode horzDim(float[] a,
                                          float[] b,
                                          float[] offset)

horzDim

public harmonic.mz.data.ShapeNode horzDim(harmonic.meshGeom.math.Pnt3f a,
                                          harmonic.meshGeom.math.Pnt3f b,
                                          harmonic.meshGeom.math.Pnt3f offset)
Create a HorizontalDimLabelShape


centerDim

public harmonic.mz.data.ShapeNode centerDim(float[] a,
                                            float[] b)

centerDim

public harmonic.mz.data.ShapeNode centerDim(harmonic.meshGeom.math.Pnt3f a,
                                            harmonic.meshGeom.math.Pnt3f b)
Create a CenterDimLabelShape


box

public harmonic.mz.data.ShapeNode box(float[] a,
                                      float[] b,
                                      float height)

box

public harmonic.mz.data.ShapeNode box(harmonic.meshGeom.math.Pnt3f a,
                                      harmonic.meshGeom.math.Pnt3f b,
                                      float height)
Create a box of given base rectangle corners and height


box

public harmonic.mz.data.ShapeNode box(harmonic.meshGeom.math.Box6f box)
Create a box given a box size descriptor


wedge

public harmonic.mz.data.ShapeNode wedge(float[] a,
                                        float[] b,
                                        float h)

wedge

public harmonic.mz.data.ShapeNode wedge(harmonic.meshGeom.math.Pnt3f a,
                                        harmonic.meshGeom.math.Pnt3f b,
                                        float h)
Create a wedge of given base rectangle corners and height


sphere

public harmonic.mz.data.ShapeNode sphere(float[] center,
                                         float radius)

sphere

public harmonic.mz.data.ShapeNode sphere(harmonic.meshGeom.math.Pnt3f center,
                                         float radius)
Create a sphere of given center and radius


cylinder

public harmonic.mz.data.ShapeNode cylinder(float[] center,
                                           float radius,
                                           float height)

cylinder

public harmonic.mz.data.ShapeNode cylinder(harmonic.meshGeom.math.Pnt3f center,
                                           float radius,
                                           float height)
Create a cylinder of given center and radius and height


cone

public harmonic.mz.data.ShapeNode cone(float[] center,
                                       float radius,
                                       float height)

cone

public harmonic.mz.data.ShapeNode cone(harmonic.meshGeom.math.Pnt3f center,
                                       float radius,
                                       float height)
Create a cone of given center and radius and height


torus

public harmonic.mz.data.ShapeNode torus(float[] center,
                                        float radius,
                                        float radiusB)

torus

public harmonic.mz.data.ShapeNode torus(harmonic.meshGeom.math.Pnt3f center,
                                        float radiusA,
                                        float radiusB)
Create a torus of given center and radius and height


extrusion

public harmonic.mz.data.ShapeNode extrusion(harmonic.mz.data.ShapeNode section,
                                            float height)

extrusion

public harmonic.mz.data.ShapeNode extrusion(harmonic.mz.data.ShapeNode section,
                                            harmonic.meshGeom.math.Vec3f vector)
Create an extrusion of given section along vector


revolution

public harmonic.mz.data.ShapeNode revolution(harmonic.mz.data.ShapeNode section,
                                             harmonic.meshGeom.math.Pnt3f axisPos,
                                             harmonic.meshGeom.math.Vec3f axisDir,
                                             float angle)
Create a revolution of given section about given axis and angle


normalPathSweep

public harmonic.mz.data.ShapeNode normalPathSweep(harmonic.mz.data.ShapeNode section,
                                                  harmonic.mz.data.ShapeNode path)
Create a path sweep of given section down given path, setting sweep type to GeneralPathSweepShape.NORMAL_SWEEP


parallelPathSweep

public harmonic.mz.data.ShapeNode parallelPathSweep(harmonic.mz.data.ShapeNode section,
                                                    harmonic.mz.data.ShapeNode path)
Create a path sweep of given section down given path, setting sweep type to GeneralPathSweepShape.PARALLEL_SWEEP


scaleSweep

public harmonic.mz.data.ShapeNode scaleSweep(harmonic.mz.data.ShapeNode section,
                                             harmonic.mz.data.ShapeNode path,
                                             harmonic.meshGeom.math.Pnt3f about)
Create a scale sweep of given section scaling by given path


multiSectionSweep

public harmonic.mz.data.ShapeNode multiSectionSweep(harmonic.mz.data.ShapeNode[] sectionSet,
                                                    harmonic.mz.data.ShapeNode[] pathSet,
                                                    harmonic.mz.data.fields.PointSetField guidePoints,
                                                    int sweepType,
                                                    int splineType)
Create a multi section sweep of given section scaling by given path


ruledSweep

public harmonic.mz.data.ShapeNode ruledSweep(harmonic.mz.data.ShapeNode[] sectionSet,
                                             harmonic.mz.data.ShapeNode[] pathSet)
Create a ruled sweep of given section set and path set


unionSolids

public harmonic.mz.data.ShapeNode unionSolids(harmonic.mz.data.ShapeNode a,
                                              harmonic.mz.data.ShapeNode b)

unionSolids

public harmonic.mz.data.ShapeNode unionSolids(harmonic.mz.data.ShapeNode[] set)
Create a union of solids. Any number of solids may be unioned to one resultant object.


subtractSolids

public harmonic.mz.data.ShapeNode subtractSolids(harmonic.mz.data.ShapeNode positive,
                                                 harmonic.mz.data.ShapeNode negative)

subtractSolids

public harmonic.mz.data.ShapeNode subtractSolids(harmonic.mz.data.ShapeNode[] positive,
                                                 harmonic.mz.data.ShapeNode[] negative)
Create a subraction of solids. Any number of solids may form the positive or negative set.


intersectSolids

public harmonic.mz.data.ShapeNode intersectSolids(harmonic.mz.data.ShapeNode a,
                                                  harmonic.mz.data.ShapeNode b)

intersectSolids

public harmonic.mz.data.ShapeNode intersectSolids(harmonic.mz.data.ShapeNode[] set)
Create an intersection of solids. Any number of solids may be intersected to one resultant object.


cleaveSolid

public harmonic.mz.data.ShapeNode cleaveSolid(harmonic.mz.data.ShapeNode solid,
                                              float[] a,
                                              float[] b,
                                              float[] c)

cleaveSolid

public harmonic.mz.data.ShapeNode cleaveSolid(harmonic.mz.data.ShapeNode solid,
                                              harmonic.meshGeom.math.Pnt3f a,
                                              harmonic.meshGeom.math.Pnt3f b,
                                              harmonic.meshGeom.math.Pnt3f c)
Create a cleave of the given solid


sectionSolid

public harmonic.mz.data.ShapeNode sectionSolid(harmonic.mz.data.ShapeNode solid,
                                               float[] a,
                                               float[] b,
                                               float[] c)

sectionSolid

public harmonic.mz.data.ShapeNode sectionSolid(harmonic.mz.data.ShapeNode solid,
                                               harmonic.meshGeom.math.Pnt3f a,
                                               harmonic.meshGeom.math.Pnt3f b,
                                               harmonic.meshGeom.math.Pnt3f c)
Create a section of the given solid


regionFromLoops

public harmonic.mz.data.ShapeNode regionFromLoops(harmonic.mz.data.ShapeNode[] loops)
Create a region bounded by given loops


unionRegions

public harmonic.mz.data.ShapeNode unionRegions(harmonic.mz.data.ShapeNode a,
                                               harmonic.mz.data.ShapeNode b)

unionRegions

public harmonic.mz.data.ShapeNode unionRegions(harmonic.mz.data.ShapeNode[] set)
Create a union of regions. Any number of regions may be unioned to one resultant object.


subtractRegions

public harmonic.mz.data.ShapeNode subtractRegions(harmonic.mz.data.ShapeNode positive,
                                                  harmonic.mz.data.ShapeNode negative)

subtractRegions

public harmonic.mz.data.ShapeNode subtractRegions(harmonic.mz.data.ShapeNode[] positive,
                                                  harmonic.mz.data.ShapeNode[] negative)
Create a subraction of regions. Any number of regions may form the positive or negative set.


intersectRegions

public harmonic.mz.data.ShapeNode intersectRegions(harmonic.mz.data.ShapeNode a,
                                                   harmonic.mz.data.ShapeNode b)

intersectRegions

public harmonic.mz.data.ShapeNode intersectRegions(harmonic.mz.data.ShapeNode[] set)
Create an intersection of solids. Any number of solids may be intersected to one resultant object.


rectangularMesh

public harmonic.mz.data.ShapeNode rectangularMesh(harmonic.meshGeom.math.Pnt3f[] points,
                                                  int nx,
                                                  int ny)
Create a rectangular mesh of given points


smoothRetangularMesh

public harmonic.mz.data.ShapeNode smoothRetangularMesh(harmonic.mz.data.ShapeNode mesh)
Create a smooth rectangular mesh


solidSheet

public harmonic.mz.data.ShapeNode solidSheet(harmonic.mz.data.ShapeNode surface,
                                             float thickness)
Creates a solid sheet


offsetSurface

public harmonic.mz.data.ShapeNode offsetSurface(harmonic.mz.data.ShapeNode surface,
                                                float distance)
Creates an offset sufrace