artisynth.core.femmodels
Class QuadtetElement
java.lang.Object
artisynth.core.modelbase.ModelComponentBase
artisynth.core.modelbase.RenderableComponentBase
artisynth.core.femmodels.FemElement
artisynth.core.femmodels.FemElement3d
artisynth.core.femmodels.QuadtetElement
- All Implemented Interfaces:
- CopyableComponent, ModelComponent, RenderableComponent, PropertyChangeListener, ScalableUnits, java.lang.Cloneable, Boundable, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Scannable
public class QuadtetElement
- extends FemElement3d
Constructor Summary |
QuadtetElement()
|
QuadtetElement(FemNode3d[] nodes)
|
QuadtetElement(FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7,
FemNode3d n8,
FemNode3d n9,
FemNode3d n10)
|
QuadtetElement(TetElement tet,
FemNode3d[] quadraticNodes)
Create a quadratic element based on the NODE POSITIONS of a given
TetElement (ie. |
Methods inherited from class artisynth.core.femmodels.FemElement3d |
addAuxiliaryMaterial, addNodeForce, addNodeForce0, addNodeForce0, addNodeStiffness, addNodeStiffness, clearState, computeCentroid, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computePressures, computeRenderCoordsAndGradient, computeRestVolumes, computeVolumes, computeWarping, connectToHierarchy, copy, createElement, createElement, createIntegrationPoints, disconnectFromHierarchy, getAllPropertyInfo, getAuxiliaryMaterials, getCopyReferences, getElementWidgetSize, getElementWidgetSizeMode, getFrame, getH, getIncompressConstraints, getIncompressIndex, getIntegrationData, getMarkerCoordinates, getNaturalCoordinates, getNaturalCoordinatesRobust, getNodeCoords, getNodes, getNumEdges, getNumFaces, getPoint, getPressureWeightMatrix, getTriFaces, getWarpingData, hasEdge, hasFace, hasFace, invalidateRestData, isInvertedAtRest, materialsAreInvertible, numAuxiliaryMaterials, numPoints, numPressureVals, removeAuxiliaryMaterial, render, render, renderEdges, renderWidget, renderWidget, renderWidgetEdges, renderWidgetEdges, scaleDistance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setIncompressIndex, updateBounds |
Methods inherited from class artisynth.core.femmodels.FemElement |
containsNode, createRenderProps, getDensity, getDensityMode, getEffectiveMaterial, getHardReferences, getIndex, getLocalNodeIndex, getMass, getMaterial, getRestVolume, getSelection, getVolume, hasActiveNodes, hasControllableNodes, integrationPointsMapToNodes, isDuplicatable, isInverted, numberString, numNodes, prerender, propertyChanged, scaleMass, setDensity, setDensityMode, setIndex, setInverted, setMass, setMaterial, updateNodeMasses |
Methods inherited from class artisynth.core.modelbase.ModelComponentBase |
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface artisynth.core.modelbase.ModelComponent |
getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences |
QuadtetElement
public QuadtetElement()
QuadtetElement
public QuadtetElement(TetElement tet,
FemNode3d[] quadraticNodes)
- Create a quadratic element based on the NODE POSITIONS of a given
TetElement (ie. it does not inherit any other attributes of the
TetElement) Takes the 4 nodes of the given TetElement along with the 6
given quadraticNodes as the middle nodes to create a 10 node quadratic
tetrahedron.
- Parameters:
tet
- A tetrahedral elementquadraticNodes
- 6 nodes as the middle nodes
QuadtetElement
public QuadtetElement(FemNode3d[] nodes)
QuadtetElement
public QuadtetElement(FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7,
FemNode3d n8,
FemNode3d n9,
FemNode3d n10)
getIntegrationPoints
public IntegrationPoint3d[] getIntegrationPoints()
- Specified by:
getIntegrationPoints
in class FemElement3d
getWarpingPoint
public IntegrationPoint3d getWarpingPoint()
- Specified by:
getWarpingPoint
in class FemElement3d
getQuadraticNodes
public static FemNode3d[] getQuadraticNodes(TetElement tet)
getQuadraticNodes
public static FemNode3d[] getQuadraticNodes(FemNode3d n0,
FemNode3d n1,
FemNode3d n2,
FemNode3d n3)
coordsAreInside
public boolean coordsAreInside(Vector3d coords)
- Specified by:
coordsAreInside
in class FemElement3d
numIntegrationPoints
public int numIntegrationPoints()
- Specified by:
numIntegrationPoints
in class FemElement3d
getIntegrationCoords
public double[] getIntegrationCoords()
- Specified by:
getIntegrationCoords
in class FemElement3d
getNodalExtrapolationMatrix
public double[] getNodalExtrapolationMatrix()
- Specified by:
getNodalExtrapolationMatrix
in class FemElement3d
getN
public double getN(int i,
Vector3d coords)
- Specified by:
getN
in class FemElement3d
getdNds
public void getdNds(Vector3d dNds,
int i,
Vector3d coords)
- Specified by:
getdNds
in class FemElement3d
getNodeCoords
public double[] getNodeCoords()
- Specified by:
getNodeCoords
in class FemElement3d
getEdgeIndices
public int[] getEdgeIndices()
- Specified by:
getEdgeIndices
in class FemElement3d
getFaceIndices
public int[] getFaceIndices()
- Specified by:
getFaceIndices
in class FemElement3d
renderWidget
public void renderWidget(GLRenderer renderer,
double size,
RenderProps props)
- Overrides:
renderWidget
in class FemElement3d
updateWarpingStiffness
public void updateWarpingStiffness()
- Overrides:
updateWarpingStiffness
in class FemElement3d
computeWarping
public void computeWarping()
- Overrides:
computeWarping
in class FemElement3d
isInside
public boolean isInside(Point3d pnt)
- Description copied from class:
FemElement3d
- Tests whether or not a point is inside an element.
- Overrides:
isInside
in class FemElement3d
- Parameters:
pnt
- point to check if is inside
- Returns:
- true if point is inside the element
triangulateFace
public FemNode3d[][] triangulateFace(FaceNodes3d face)
- Overrides:
triangulateFace
in class FemElement3d