harmonic.cad.shapes
Class PolygonTrimShape

java.lang.Object
  |
  +--harmonic.mz.data.ModelNode
        |
        +--harmonic.mz.data.ShapeNode
              |
              +--harmonic.cad.shapes.CAD_ShapeNode
                    |
                    +--harmonic.cad.shapes.CAD_LineShapeNode
                          |
                          +--harmonic.cad.shapes.PolygonShape
                                |
                                +--harmonic.cad.shapes.PolygonTrimShape
All Implemented Interfaces:
java.awt.event.ActionListener, harmonic.mz.data.DataNode, harmonic.mz.gui.Documentable, java.util.EventListener, harmonic.mz.data.Interpolater, harmonic.meshGeom.math.MarkableObject, harmonic.mz.event.NodeListener, harmonic.viewer3D.ShapeOwner, harmonic.mz.data.Transformable

public class PolygonTrimShape
extends PolygonShape

This defines a trimmed version of a polygon. It is trimmed based on the anaytical point returned by PolygonShape.pointAt(). For an open polygon, the lower, upper or both sides may be trimmed. If the polygon is closed, it the section containing the point of closeure is trimmed by making lowerParam less than upper. Else the section containing the closure point is keeped. This makes it possible to trim circles and splines while keeping the inteligence (not just changing to dumb geometries)


Field Summary
 harmonic.mz.data.fields.ScalarField lowerParam
          Lower trim point parameter (less than zero to ignore)
 harmonic.mz.data.fields.NodeSetField polygon
          Polygon to trim
 harmonic.mz.data.fields.ScalarField upperParam
          Upper trim point paramter (greater than zero to ignore
 
Fields inherited from class harmonic.cad.shapes.PolygonShape
effField, geom, origGeom
 
Fields inherited from class harmonic.cad.shapes.CAD_LineShapeNode
lineColor, lineWidth, painter
 
Fields inherited from class harmonic.cad.shapes.CAD_ShapeNode
bDiscreet, bEditing, bRoughPolygonization, idealEdges, type
 
Fields inherited from class harmonic.mz.data.ShapeNode
ANY_GEOM, ARRAY_GEOM, ATTRIBUTE_FIELD_TYPE, bAssignMaterialColors, bAttribsValid, bBaseGeometryValid, bSelectionValid, bTSelectionValid, bVisibilityValid, coordSystem, COORDSYSTEM_FIELD_TYPE, existingPainters, fastPainters, GEOMETRY_FIELD_TYPE, LINES_GEOM, localKludge, material, painters, POINT_GEOM, POLYGON_GEOM, REGION_GEOM, SOLID_GEOM, SURFACE_GEOM, transparency, visibility
 
Fields inherited from class harmonic.mz.data.ModelNode
_fileRoot_, _thread_, ATTRIB_CONTROL_WIDGET, ATTRIB_LISTABLE, ATTRIB_PRESENTABLE, ATTRIB_PRIVATE, ATTRIB_REMOVEABLE, ATTRIB_RENAMEABLE, ATTRIB_SHOW_CONTEXT_MENU, ATTRIB_TYPE_FILTER, ATTRIB_USERGROUP, ATTRIB_VALUE_GROUP, ATTRIB_VE_LISTENER, bCustomCS, bDebug, bValid, name
 
Constructor Summary
PolygonTrimShape()
           
PolygonTrimShape(harmonic.mz.data.ShapeNode polygon, float lowerParam, float upperParam, int cmode)
          Constructs a PolygonTrimShape
 
Method Summary
 java.lang.String areFieldsValid()
           
 harmonic.meshGeom.geom.Geom calcGeom()
           
 void calcPointAt(harmonic.meshGeom.math.Pnt3f p, float s)
           
 void calcTangentAt(harmonic.meshGeom.math.Vec3f v, float s)
           
 float childParam(float s)
           
 void getPointSnaps(java.lang.String type, java.util.Vector points)
           
static boolean isGoodParam(float f)
           
 
Methods inherited from class harmonic.cad.shapes.PolygonShape
addEffector, applyEffectors, calcPolygonProps, childPointSnaps, getEffectors, getGeom, getUserVertexKey, getUserVerticies, isClosed, makeContextMenu, nCurve, pointAt, polyAt, polyPainterAt, printUserVerticies, purgeFinal, removeEffector, tangentAt, validateGeometry
 
Methods inherited from class harmonic.cad.shapes.CAD_LineShapeNode
calcRoughPolygonization, validate, validateAttribs
 
Methods inherited from class harmonic.cad.shapes.CAD_ShapeNode
addField, checkFields, setToLink, showPointHandles
 
Methods inherited from class harmonic.mz.data.ShapeNode
addFastGeometry, addFastGeometry, addFastGeometry, addFastGeometry, addFastPainter, addGeometry, addGeometry, addGeometry, addGeometry, addNetworkOutput, addPainter, addWithUndo, beginTransform, bigValidation, calcGeometricProps, calcSurfaceArea, calcVolume, checkRequirements, clearFastGeometries, clearFastPainters, clearGeometries, clearGeometryCache, clearPainters, defaultPickPriority, endTransform, expectedValidationTime, fastPainterCount, findPointSnaps, getCachedGeometries, getCachedGeometry, getChildRequirements, getCoordSystem, getDataTransfer, getDataTransferTypes, getDragable, getEdges, getFastPainter, getFastPainters, getFitable, getGDIEdges, getGeom, getGeom, getGeomAt, getGeoms, getGeoms, getGeoms, getGlobalPerLocal, getILAEdges, getMoveableCoordSystem, getObjectChildren, getPainter, getPainter, getPainters, getPainters, getPainters, getPaintOnTransient, getPickable, getRequirements, getSerializeGeometry, getShapeDefOwner, getTransformable, getTypeImage, getViewpointDependantGeometry, getVisibility, hasFixedCS, hasGeometryLock, hide, hide, invalidate, invalidateAttribs, invalidateCoordSystem, invalidateGeometry, invalidateGeometryDependants, isAttribsValid, isGeomComposite, isGeometryValid, isSelectionValid, isTentativeSelectionValid, isVisibilityValid, makeContextMenu_ShapeFns, makeContextMenu, nodeChanged, painterCount, processMouseDragged, processMouseEntered, processMouseExited, processMouseMoved, processMousePressed, processMouseReleased, purge, removeFastPainter, removePainter, scaleCoordSystem, selfNodeChanged, setDragable, setExclusiveVisibility, setFieldCoordSystems, setFitable, setMoveableCoordSystem, setPaintOnTransient, setPickable, setPickPriority, setSelect, setSerializeGeometry, setTempVisibility, setTentativeSelect, setTransform, setTransient, setViewpointDependantGeometry, setVisibility, shouldSpawnThread, show, show, transferAttributes, transferAttributes, transform, transformFields, translateCoordSystem, validateSelection, validateTransform
 
Methods inherited from class harmonic.mz.data.ModelNode
actionPerformed, addAll, addAlphaed, addField, addField, addField, addFields, addNetworkInput, addNode, addNodeListener, addNodeListener, addNodes, addNodes, addToCurrent, addToGlobals, addToNetworkEditor, addToTemps, allFieldsAreFinal, applyDataTransfer, assignFromMetaFields, assignFromXMLAttributes, assignFromXMLString, assignToMetaFields, assignToXMLAttributes, assignToXMLString, at, bind, canSelect, castSelection, checkFileRead, checkNetworkInput, childCount, clean, clearAttrib, clearNotified, compare, copyFrom, createControlWidget, createCopy, createXMLElement, deepCopy, defeatNodeEvents, disableEvents, enableEvents, fileRoot, finalize, findFieldElement, findNode, fromXMLNodes, getAttrib, getBound, getCatagory, getControlWidget, getCurrentNames, getDeleted, getDirectInputs, getDirectOutputs, getEntryListener, getErrorState, getFilterType, getFullName, getHandles, getInstanceURL, getInterpolater, getIsLeaf, getListable, getMark, getMetaFields, getName, getNodeChildren_V, getNodeChildren, getNodeID, getNodeParent, getObjectRep, getPresentable, getPrivate, getReferencePoolName, getRemoteOwner, getRemoveable, getRenameable, getSaveable, getSavedChildren, getSelect, getSeparateDirectInputs, getSeparateDirectOutputs, getSequenced, getSerialNo, getTags, getTentativeSelect, getTransformableParent, getTransient, getTreeName, getTypeURL, getUnfoldedChildren, getUpdateTime, getUserGroup, getValidates, getValue, getXMLNodes, hasDependants, hasExternalRef, hashKey, hasValidationLock, hideControlWidget, indexOf, initControlWidget, insertNode, interpolate_Linear, interpolate_Quadratic, isField, isFinal, isInSubtree, isInTree, isLinked, isNotified, isPurged, isSet, isTemporary, isValid, linkedTo, linksChildren, makeFixed, makePrototype, makeReferenced, makeUnreferenced, makeVisibleInGUI, markNotified, mayValidate, notifyListeners, postAssignFromXMLElement, preAssignToXMLElement, printChildren, printTags, printTree, printTree, pythonString, remove, removeAll, removeAll, removeHandles, removeNetworkInput, removeNetworkOutput, removeNode, removeNode, removeNode, removeNodeListener, replace, set, setActualName, setAttrib, setBound, setCatagory, setChildrenExcept, setCoordSystem, setCurrentControlWidget, setCurrentNames, setDeleted, setEntryListener, setErrorState, setFromPrototype, setIsField, setIsLeaf, setIsSet, setListable, setMark, setMetaFields, setName, setNodeParent, setPresentable, setPrivate, setRemoteOwner, setRemoveable, setRenameable, setSaveable, setSelect, setSequenced, setSerialNo, setTentativeSelect, setTransientChildren, setUpdateTime, setUserGroup, setValidates, setValidationLock, setValue, setValueGroup, showControlWidget, showControlWidget, showControlWidget, showHandles, startRename, tag, toString, unlinkListeners, unmarkNotified, untag, updateBindable, valChanged, valChanged, valueString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

polygon

public harmonic.mz.data.fields.NodeSetField polygon
Polygon to trim


lowerParam

public harmonic.mz.data.fields.ScalarField lowerParam
Lower trim point parameter (less than zero to ignore)


upperParam

public harmonic.mz.data.fields.ScalarField upperParam
Upper trim point paramter (greater than zero to ignore

Constructor Detail

PolygonTrimShape

public PolygonTrimShape()

PolygonTrimShape

public PolygonTrimShape(harmonic.mz.data.ShapeNode polygon,
                        float lowerParam,
                        float upperParam,
                        int cmode)
Constructs a PolygonTrimShape

Method Detail

areFieldsValid

public java.lang.String areFieldsValid()
Overrides:
areFieldsValid in class harmonic.mz.data.ModelNode

calcGeom

public harmonic.meshGeom.geom.Geom calcGeom()
Overrides:
calcGeom in class CAD_LineShapeNode

childParam

public float childParam(float s)

calcTangentAt

public void calcTangentAt(harmonic.meshGeom.math.Vec3f v,
                          float s)
Overrides:
calcTangentAt in class PolygonShape

calcPointAt

public void calcPointAt(harmonic.meshGeom.math.Pnt3f p,
                        float s)
Overrides:
calcPointAt in class PolygonShape

getPointSnaps

public void getPointSnaps(java.lang.String type,
                          java.util.Vector points)
Overrides:
getPointSnaps in class harmonic.mz.data.ShapeNode

isGoodParam

public static boolean isGoodParam(float f)