public class MFreeElement3d extends FemElement3d implements Boundable
ModelComponent.NavpanelVisibility
myProps
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
COPY_REFERENCES
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
MFreeElement3d(MFreeShapeFunction fun,
FemNode3d[] nodes) |
Modifier and Type | Method and Description |
---|---|
void |
addIntegrationPoint(MFreeIntegrationPoint3d ipnt,
IntegrationData3d idata,
double iwgt,
boolean updateVolumes) |
void |
clearState() |
void |
computeCentroid(Vector3d centroid)
Computed the centroid of this element.
|
boolean |
coordsAreInside(Vector3d coords) |
PolygonalMesh |
getBoundaryMesh() |
void |
getdNds(Vector3d dNds,
int i,
Vector3d coords) |
int[] |
getEdgeIndices() |
int[] |
getFaceIndices() |
double[] |
getIntegrationCoords() |
IntegrationData3d[] |
getIntegrationData() |
IntegrationData3d |
getIntegrationData(int idx) |
MFreeIntegrationPoint3d |
getIntegrationPoint(int idx) |
int |
getIntegrationPointIndex(IntegrationPoint3d pnt) |
MFreeIntegrationPoint3d[] |
getIntegrationPoints() |
double |
getN(int i,
Point3d coords) |
double |
getN(int i,
Vector3d coords) |
boolean |
getNaturalCoordinates(Point3d coords,
Point3d pnt)
Computes "natural" coordinates (i.e.
|
int |
getNaturalCoordinates(Point3d coords,
Point3d pnt,
int maxIters,
VectorNd N)
Given point p, get its natural coordinates with respect to this element.
|
boolean |
getNaturalCoordinates(Point3d coords,
Point3d pnt,
VectorNd N) |
double[] |
getNodalExtrapolationMatrix() |
double[] |
getNodeCoords() |
Point3d |
getPoint(int idx)
Returns the
idx -th point associated with this element. |
MFreeShapeFunction |
getShapeFunction() |
MFreeIntegrationPoint3d |
getWarpingPoint() |
boolean |
integrationPointsInterpolateToNodes()
Queries whether there is an interpolation mapping between integration points
and nodes.
|
boolean |
isInside(Point3d pnt)
Tests whether or not a point is inside an element.
|
boolean |
isInvertedAtRest()
Returns true if the rest position for this element results in a negative
Jacobian determinant for at least one integration point.
|
int |
numIntegrationPoints() |
int |
numPoints()
Returns the number of points associated with this element, if any, or
zero otherwise.
|
void |
prerender(RenderList list)
Called prior to rendering to allow this object to update the internal
state required for rendering (such as by caching rendering coordinates).
|
void |
render(Renderer renderer,
RenderProps rprops,
int flags) |
void |
renderWidget(Renderer renderer,
double size,
RenderProps props) |
void |
renderWidget(Renderer renderer,
double size,
RenderProps props,
int flags) |
void |
renderWidget(Renderer renderer,
RenderProps props,
int flags) |
void |
setBoundaryMesh(PolygonalMesh bmesh) |
void |
setIntegrationData(java.util.ArrayList<IntegrationData3d> data) |
void |
setIntegrationPoints(java.util.ArrayList<MFreeIntegrationPoint3d> points) |
void |
setIntegrationPoints(java.util.ArrayList<MFreeIntegrationPoint3d> points,
java.util.ArrayList<IntegrationData3d> data) |
void |
setIntegrationPoints(MFreeIntegrationPoint3d[] points,
IntegrationData3d[] data) |
void |
setRestVolume(double vol) |
void |
setShapeFunction(MFreeShapeFunction f) |
void |
setVolume(double vol) |
void |
setWarpingPoint(MFreeIntegrationPoint3d warp) |
void |
setWarpingPoint(MFreeIntegrationPoint3d warp,
IntegrationData3d data) |
void |
setWarpingPointData(IntegrationData3d data) |
void |
updateAllVolumes() |
void |
updateBounds(Vector3d min,
Vector3d max)
Update the minimum and maximum points for this object.
|
addAuxiliaryMaterial, addNodeForce, addNodeStiffness, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computeJacobian, computePosition, computePressures, computeRenderCoordsAndGradient, computeRestVolumes, computeVolumes, computeWarping, connectToHierarchy, copy, createElement, createElement, createFrameAttachment, createIntegrationPoints, createPointAttachment, disconnectFromHierarchy, getAllPropertyInfo, getAuxiliaryMaterials, getCopyReferences, getElementWidgetSize, getElementWidgetSizeMode, getFaces, getFrame, getH, getIncompressConstraints, getIncompressIndex, getLagrangePressures, getMarkerCoordinates, getNaturalCoordinates, getNaturalCoordinates, getNaturalCoordinatesGSS, getNaturalCoordinatesOld, getNaturalCoordinatesStd, getNodeCoords, getNodeNeighbors, getNodes, getNumEdges, getNumFaces, getPressureWeightMatrix, getRestVolumes, getStiffnessWarper, getVolumes, getWarpingData, hasEdge, hasFace, hasFace, invalidateRestData, materialsAreInvertible, numAuxiliaryMaterials, numPressureVals, removeAuxiliaryMaterial, scaleDistance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setIncompressIndex, setStiffnessWarper, triangulateFace
containsNode, createRenderProps, getDensity, getDensityMode, getEffectiveMaterial, getHardReferences, getIndex, getLocalNodeIndex, getMass, getMaterial, getRestVolume, getSelection, getVolume, hasActiveNodes, hasControllableNodes, integrationPointsMapToNodes, isDuplicatable, isInverted, isMassExplicit, numberString, numNodes, propertyChanged, render, scaleMass, setDensity, setDensityMode, setIndex, setInverted, setMass, setMassExplicit, setMaterial, updateRestVolumeAndMass
getRenderHints, getRenderProps, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderProps
checkFlag, 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, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
computeCovariance
getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getProperty
getChildren, hasChildren
isWritable, write
public MFreeElement3d(MFreeShapeFunction fun, FemNode3d[] nodes)
public void setShapeFunction(MFreeShapeFunction f)
public MFreeShapeFunction getShapeFunction()
public boolean isInside(Point3d pnt)
FemElement3d
isInside
in class FemElement3d
pnt
- point to check if is insidepublic boolean isInvertedAtRest()
FemElement3d
isInvertedAtRest
in class FemElement3d
public int numIntegrationPoints()
numIntegrationPoints
in class FemElement3d
public MFreeIntegrationPoint3d[] getIntegrationPoints()
getIntegrationPoints
in class FemElement3d
public MFreeIntegrationPoint3d getIntegrationPoint(int idx)
public int getIntegrationPointIndex(IntegrationPoint3d pnt)
public IntegrationData3d[] getIntegrationData()
getIntegrationData
in class FemElement3d
public IntegrationData3d getIntegrationData(int idx)
public void clearState()
clearState
in class FemElement3d
public void updateAllVolumes()
public void addIntegrationPoint(MFreeIntegrationPoint3d ipnt, IntegrationData3d idata, double iwgt, boolean updateVolumes)
public void setIntegrationData(java.util.ArrayList<IntegrationData3d> data)
public void setIntegrationPoints(java.util.ArrayList<MFreeIntegrationPoint3d> points, java.util.ArrayList<IntegrationData3d> data)
public void setIntegrationPoints(MFreeIntegrationPoint3d[] points, IntegrationData3d[] data)
public void setIntegrationPoints(java.util.ArrayList<MFreeIntegrationPoint3d> points)
public void setWarpingPoint(MFreeIntegrationPoint3d warp)
public MFreeIntegrationPoint3d getWarpingPoint()
getWarpingPoint
in class FemElement3d
public void setWarpingPoint(MFreeIntegrationPoint3d warp, IntegrationData3d data)
public void setWarpingPointData(IntegrationData3d data)
public void computeCentroid(Vector3d centroid)
Boundable
computeCentroid
in interface Boundable
computeCentroid
in class FemElement3d
centroid
- returns the computed centroid value.public boolean integrationPointsInterpolateToNodes()
FemElement
integrationPointsInterpolateToNodes
in class FemElement
true
if there is an interpolation mapping between
integration points and nodespublic void updateBounds(Vector3d min, Vector3d max)
IsRenderable
updateBounds
in interface Boundable
updateBounds
in interface IsRenderable
updateBounds
in class FemElement3d
min
- minimum pointmax
- maximum pointpublic void setRestVolume(double vol)
public void setVolume(double vol)
public void prerender(RenderList list)
IsRenderable
list.addIfVisible (obj);
for each of the objects in question.prerender
in interface IsRenderable
prerender
in class FemElement
list
- list of objects to be renderedpublic void renderWidget(Renderer renderer, RenderProps props, int flags)
public void renderWidget(Renderer renderer, double size, RenderProps props, int flags)
public void setBoundaryMesh(PolygonalMesh bmesh)
public PolygonalMesh getBoundaryMesh()
public int numPoints()
Boundable
numPoints
in interface Boundable
numPoints
in class FemElement3d
public Point3d getPoint(int idx)
Boundable
idx
-th point associated with this element.getPoint
in interface Boundable
getPoint
in class FemElement3d
idx
- index of the point (must be on the range 0 to
Boundable.numPoints()
).idx
-th point associated with this element.
Must not be modified.public void render(Renderer renderer, RenderProps rprops, int flags)
render
in class FemElement
public double[] getNodalExtrapolationMatrix()
getNodalExtrapolationMatrix
in class FemElement3d
public boolean getNaturalCoordinates(Point3d coords, Point3d pnt)
coords
- initial guess, value is updated with final coordinatepnt
- world point to determine coordinates ofpublic boolean coordsAreInside(Vector3d coords)
coordsAreInside
in class FemElement3d
public int getNaturalCoordinates(Point3d coords, Point3d pnt, int maxIters, VectorNd N)
coords
argument that returned the coordinates is
used, on input, to supply an initial guess of the coordinates.
Zero is generally a safe guess.coords
- Outputs the natural coordinates, and supplies (on input) an initial
guess as to their position.pnt
- A given point (in world coords)maxIters
- Maximum number of Newton iterationsN
- Resulting shape functionvaluespublic double getN(int i, Point3d coords)
public void getdNds(Vector3d dNds, int i, Vector3d coords)
getdNds
in class FemElement3d
public double[] getIntegrationCoords()
getIntegrationCoords
in class FemElement3d
public double getN(int i, Vector3d coords)
getN
in class FemElement3d
public int[] getEdgeIndices()
getEdgeIndices
in class FemElement3d
public int[] getFaceIndices()
getFaceIndices
in class FemElement3d
public double[] getNodeCoords()
getNodeCoords
in class FemElement3d
public void renderWidget(Renderer renderer, double size, RenderProps props)
renderWidget
in class FemElement3d