harmonic.cad.shapes
Class UserFnCurveShape

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.UserFnCurveShape
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 UserFnCurveShape
extends PolygonShape

Defines a polygon specified by a parametric function that the user provides. This class validates its geometry by ranging a paramter 's' over the range spefied by s_range, and calling the python expression that gives x y an z for the s.


Field Summary
 harmonic.mz.data.fields.StringField s_range
          Lower and upper bounds for s, separated by a comma.
 harmonic.mz.data.fields.IntField subdivision
          Number of samples
 harmonic.mz.data.fields.StringField x_of_s
          Expression to give x per s.
 harmonic.mz.data.fields.StringField y_of_s
          Expression to give y per s.
 harmonic.mz.data.fields.StringField z_of_s
          Expression to give z per s.
 
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
UserFnCurveShape()
           
UserFnCurveShape(java.lang.String x_of_s, java.lang.String y_of_s, java.lang.String z_of_s, java.lang.String s_range)
          Constructs a UserFnCurveShape
 
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)
           
 void getPointSnaps(java.lang.String type, java.util.Vector points)
           
 
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

x_of_s

public harmonic.mz.data.fields.StringField x_of_s
Expression to give x per s.


y_of_s

public harmonic.mz.data.fields.StringField y_of_s
Expression to give y per s.


z_of_s

public harmonic.mz.data.fields.StringField z_of_s
Expression to give z per s.


s_range

public harmonic.mz.data.fields.StringField s_range
Lower and upper bounds for s, separated by a comma.


subdivision

public harmonic.mz.data.fields.IntField subdivision
Number of samples

Constructor Detail

UserFnCurveShape

public UserFnCurveShape()

UserFnCurveShape

public UserFnCurveShape(java.lang.String x_of_s,
                        java.lang.String y_of_s,
                        java.lang.String z_of_s,
                        java.lang.String s_range)
Constructs a UserFnCurveShape

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

calcPointAt

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

calcTangentAt

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

getPointSnaps

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