harmonic.cad.shapes
Class PolygonShape

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
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
Direct Known Subclasses:
ArcShape, CircleFromCenterRadiusShape, EllipseFromCRRShape, LinePolygonShape, PolygonCornerRoundShape, PolygonExtentionShape, PolygonJoinShape, PolygonOffsetShape, PolygonSplineShape, PolygonTrimShape, UserFnCurveShape

public class PolygonShape
extends CAD_LineShapeNode

Base class for polygon shapes


Field Summary
 harmonic.mz.data.fields.NodeSetField effField
           
 harmonic.meshGeom.geom.PolygonGeom geom
           
 harmonic.meshGeom.geom.PolygonGeom 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
PolygonShape(java.lang.String name)
           
 
Method Summary
 void addEffector(harmonic.mz.data.Effector e)
           
 void applyEffectors()
           
 void calcPointAt(harmonic.meshGeom.math.Pnt3f p, float s)
           
 void calcPolygonProps()
           
 void calcTangentAt(harmonic.meshGeom.math.Vec3f v, float s)
           
 void childPointSnaps(java.lang.String type, java.util.Vector points, java.util.Vector polys)
           
 java.util.Vector getEffectors(java.lang.String type)
           
 harmonic.meshGeom.geom.PolygonGeom getGeom()
           
 java.lang.String getUserVertexKey(int vertIndex)
           
 java.util.Hashtable getUserVerticies()
           
 boolean isClosed()
           
 void makeContextMenu(HWM_GroupData menu)
           
 int nCurve()
           
 void pointAt(harmonic.meshGeom.math.Pnt3f p, float s)
          Return the point at s in local coords.
 harmonic.meshGeom.geom.PolygonGeom polyAt(int i)
           
 harmonic.viewer3D.PaintStruct polyPainterAt(int i)
           
 void printUserVerticies()
           
 void purgeFinal()
           
 void removeEffector(harmonic.mz.data.Effector e)
           
 void tangentAt(harmonic.meshGeom.math.Vec3f v, float s)
          Return the tanjent at s in local coords.
 void validateGeometry()
           
 
Methods inherited from class harmonic.cad.shapes.CAD_LineShapeNode
calcGeom, 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, getPointSnaps, 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, areFieldsValid, 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

geom

public harmonic.meshGeom.geom.PolygonGeom geom

origGeom

public harmonic.meshGeom.geom.PolygonGeom origGeom

effField

public harmonic.mz.data.fields.NodeSetField effField
Constructor Detail

PolygonShape

public PolygonShape(java.lang.String name)
Method Detail

purgeFinal

public void purgeFinal()
Specified by:
purgeFinal in interface harmonic.mz.data.DataNode
Overrides:
purgeFinal in class CAD_LineShapeNode

addEffector

public void addEffector(harmonic.mz.data.Effector e)

removeEffector

public void removeEffector(harmonic.mz.data.Effector e)

getEffectors

public java.util.Vector getEffectors(java.lang.String type)
Overrides:
getEffectors in class harmonic.mz.data.ModelNode

makeContextMenu

public void makeContextMenu(HWM_GroupData menu)
Overrides:
makeContextMenu in class harmonic.mz.data.ShapeNode

calcPolygonProps

public void calcPolygonProps()

isClosed

public boolean isClosed()

nCurve

public int nCurve()

polyAt

public harmonic.meshGeom.geom.PolygonGeom polyAt(int i)

polyPainterAt

public harmonic.viewer3D.PaintStruct polyPainterAt(int i)

pointAt

public void pointAt(harmonic.meshGeom.math.Pnt3f p,
                    float s)
Return the point at s in local coords. Overrides should check for a dependancy and use that if it has one


tangentAt

public void tangentAt(harmonic.meshGeom.math.Vec3f v,
                      float s)
Return the tanjent at s in local coords. Overrides should check for a dependancy and use that if it has one


getGeom

public harmonic.meshGeom.geom.PolygonGeom getGeom()

calcPointAt

public void calcPointAt(harmonic.meshGeom.math.Pnt3f p,
                        float s)

calcTangentAt

public void calcTangentAt(harmonic.meshGeom.math.Vec3f v,
                          float s)

validateGeometry

public void validateGeometry()
Overrides:
validateGeometry in class CAD_LineShapeNode

getUserVerticies

public java.util.Hashtable getUserVerticies()

getUserVertexKey

public java.lang.String getUserVertexKey(int vertIndex)

printUserVerticies

public void printUserVerticies()

childPointSnaps

public void childPointSnaps(java.lang.String type,
                            java.util.Vector points,
                            java.util.Vector polys)

applyEffectors

public void applyEffectors()