public class TetElement extends FemElement3d
ModelComponent.NavpanelVisibilitymyPropsenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCESTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description | 
|---|
| TetElement() | 
| TetElement(FemNode3d[] nodes)Creates a new TetraHedral element from four nodes. | 
| TetElement(FemNode3d p0,
          FemNode3d p1,
          FemNode3d p2,
          FemNode3d p3)Creates a new TetraHedral element from four nodes. | 
| Modifier and Type | Method and Description | 
|---|---|
| double | computeRestVolumes()Default method to compute the element rest volume and partial volumes. | 
| static double | computeVolume(FemNode3d n0,
             FemNode3d n1,
             FemNode3d n2,
             FemNode3d n3)Computes the volume of the tetrahedron formed by four FemNodes, where the
 first three nodes are arranged clockwise about a single face, and
 clockwise is with respect to the face's outward normal. | 
| static double | computeVolume(Point3d p0,
             Point3d p1,
             Point3d p2,
             Point3d p3) | 
| double | computeVolumes()Default method to compute an element's volume and partial volumes. | 
| boolean | coordsAreInside(Vector3d coords) | 
| static TetElement[] | createCubeTesselation(FemNode3d p0,
                     FemNode3d p1,
                     FemNode3d p2,
                     FemNode3d p3,
                     FemNode3d p4,
                     FemNode3d p5,
                     FemNode3d p6,
                     FemNode3d p7,
                     boolean even)Create a tesselation for a cubic configuration of nodes, using a
 Freudenthal cut. | 
| static TetElement[] | createWedgeTesselation(FemNode3d p0,
                      FemNode3d p1,
                      FemNode3d p2,
                      FemNode3d p3,
                      FemNode3d p4,
                      FemNode3d p5,
                      int type)Create a tesselation for a wedge configuration of nodes. | 
| void | getAreaWeightedNormals(Vector3d[] anormals)Compute the area-weighted normals for this tetrahedron. | 
| double | getConditionNum() | 
| void | getdNds(Vector3d dNds,
       int i,
       Vector3d coords) | 
| int[] | getEdgeIndices() | 
| int[] | getFaceIndices() | 
| double | getIncompDerivative(Vector3d tmp1,
                   Vector3d tmp2) | 
| double[] | getIntegrationCoords() | 
| IntegrationPoint3d[] | getIntegrationPoints() | 
| boolean | getMarkerCoordinates(VectorNd coords,
                    Point3d pos,
                    boolean checkInside) | 
| double | getN(int i,
    Vector3d coords) | 
| double[] | getNodalExtrapolationMatrix() | 
| double[] | getNodeCoords() | 
| IntegrationPoint3d | getWarpingPoint() | 
| boolean | hasEdge(FemNode3d n0,
       FemNode3d n1) | 
| boolean | hasFace(FemNode3d n0,
       FemNode3d n1,
       FemNode3d n2) | 
| boolean | isInside(Point3d pnt)Tests whether or not a point is inside an element. | 
| static boolean | isInside(Point3d pnt,
        Point3d p0,
        Point3d p1,
        Point3d p2,
        Point3d p3) | 
| boolean | isInverted()Returns true if this element has been marked as inverted by the FEM code. | 
| int | numIntegrationPoints() | 
| void | render(Renderer renderer,
      RenderProps props,
      int flags) | 
| void | renderWidget(Renderer renderer,
            double size,
            RenderProps props) | 
| void | setNodes(FemNode3d p0,
        FemNode3d p1,
        FemNode3d p2,
        FemNode3d p3)Sets the nodes of a TetraHedral element. | 
addAuxiliaryMaterial, addNodeForce, addNodeStiffness, clearState, computeCentroid, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computeJacobian, computePosition, computePressures, computeRenderCoordsAndGradient, computeWarping, connectToHierarchy, copy, createElement, createElement, createFrameAttachment, createIntegrationPoints, createPointAttachment, disconnectFromHierarchy, getAllPropertyInfo, getAuxiliaryMaterials, getCopyReferences, getElementWidgetSize, getElementWidgetSizeMode, getFaces, getFrame, getH, getIncompressConstraints, getIncompressIndex, getIntegrationData, getLagrangePressures, getNaturalCoordinates, getNaturalCoordinates, getNaturalCoordinatesGSS, getNaturalCoordinatesOld, getNaturalCoordinatesStd, getNodeCoords, getNodeNeighbors, getNodes, getNumEdges, getNumFaces, getPoint, getPressureWeightMatrix, getRestVolumes, getStiffnessWarper, getVolumes, getWarpingData, hasFace, invalidateRestData, isInvertedAtRest, materialsAreInvertible, numAuxiliaryMaterials, numPoints, numPressureVals, removeAuxiliaryMaterial, scaleDistance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setIncompressIndex, setStiffnessWarper, triangulateFace, updateBoundscontainsNode, createRenderProps, getDensity, getDensityMode, getEffectiveMaterial, getHardReferences, getIndex, getLocalNodeIndex, getMass, getMaterial, getRestVolume, getSelection, getVolume, hasActiveNodes, hasControllableNodes, integrationPointsInterpolateToNodes, integrationPointsMapToNodes, isDuplicatable, isMassExplicit, numberString, numNodes, prerender, propertyChanged, render, scaleMass, setDensity, setDensityMode, setIndex, setInverted, setMass, setMassExplicit, setMaterial, updateRestVolumeAndMassgetRenderHints, getRenderProps, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderPropscheckFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isConnectedToHierarchy, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, writeequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writepublic TetElement()
public TetElement(FemNode3d p0, FemNode3d p1, FemNode3d p2, FemNode3d p3)
public TetElement(FemNode3d[] nodes)
public IntegrationPoint3d[] getIntegrationPoints()
getIntegrationPoints in class FemElement3dpublic IntegrationPoint3d getWarpingPoint()
getWarpingPoint in class FemElement3dpublic double getConditionNum()
public boolean isInverted()
FemElementisInverted in class FemElementpublic void setNodes(FemNode3d p0, FemNode3d p1, FemNode3d p2, FemNode3d p3)
public static TetElement[] createCubeTesselation(FemNode3d p0, FemNode3d p1, FemNode3d p2, FemNode3d p3, FemNode3d p4, FemNode3d p5, FemNode3d p6, FemNode3d p7, boolean even)
public static TetElement[] createWedgeTesselation(FemNode3d p0, FemNode3d p1, FemNode3d p2, FemNode3d p3, FemNode3d p4, FemNode3d p5, int type)
type,
 which is an integer in which bits 0, 1, and 2 describe whether the side
 edge of the tetrahedron directly beneath edges p0-p1, p1-p2, and p2-p0 is
 rising or falling as the edge is traversed in a counter-clockwise
 fashion. Not all edges can be rising or falling, and so bit patterns 0x0
 and 0x7 are illegal.public boolean coordsAreInside(Vector3d coords)
coordsAreInside in class FemElement3dpublic int numIntegrationPoints()
numIntegrationPoints in class FemElement3dpublic double[] getIntegrationCoords()
getIntegrationCoords in class FemElement3dpublic double[] getNodalExtrapolationMatrix()
getNodalExtrapolationMatrix in class FemElement3dpublic double getN(int i,
                   Vector3d coords)
getN in class FemElement3dpublic void getdNds(Vector3d dNds, int i, Vector3d coords)
getdNds in class FemElement3dpublic double[] getNodeCoords()
getNodeCoords in class FemElement3dpublic int[] getEdgeIndices()
getEdgeIndices in class FemElement3dpublic int[] getFaceIndices()
getFaceIndices in class FemElement3dpublic void render(Renderer renderer, RenderProps props, int flags)
render in class FemElementpublic void renderWidget(Renderer renderer, double size, RenderProps props)
renderWidget in class FemElement3dpublic double computeRestVolumes()
computeRestVolumes in class FemElement3dpublic static double computeVolume(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3)
n0 - 1st FEM noden1 - 2nd FEM noden2 - 3rd FEM noden3 - 4th FEM nodepublic double computeVolumes()
dv field of
 the elements integration data, for possible future use.
 The method should return the minimum Jacobian value found when computing the volume for this element. A negative value indicates element inversion.
Individual elements can override this with a more efficient method if needed.
computeVolumes in class FemElement3dpublic void getAreaWeightedNormals(Vector3d[] anormals)
anormals - returns the area-weight normalspublic boolean getMarkerCoordinates(VectorNd coords, Point3d pos, boolean checkInside)
getMarkerCoordinates in class FemElement3dpublic boolean isInside(Point3d pnt)
FemElement3disInside in class FemElement3dpnt - point to check if is insidepublic static boolean isInside(Point3d pnt, Point3d p0, Point3d p1, Point3d p2, Point3d p3)
public boolean hasEdge(FemNode3d n0, FemNode3d n1)
hasEdge in class FemElement3dpublic boolean hasFace(FemNode3d n0, FemNode3d n1, FemNode3d n2)
hasFace in class FemElement3d