public class MFreeElement3d extends FemElement3d implements Boundable
ModelComponent.NavpanelVisibilitymyPropsenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCESTRANSPARENT, 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, triangulateFacecontainsNode, 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, 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, waitcomputeCovariancegetHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writepublic MFreeElement3d(MFreeShapeFunction fun, FemNode3d[] nodes)
public void setShapeFunction(MFreeShapeFunction f)
public MFreeShapeFunction getShapeFunction()
public boolean isInside(Point3d pnt)
FemElement3disInside in class FemElement3dpnt - point to check if is insidepublic boolean isInvertedAtRest()
FemElement3disInvertedAtRest in class FemElement3dpublic int numIntegrationPoints()
numIntegrationPoints in class FemElement3dpublic MFreeIntegrationPoint3d[] getIntegrationPoints()
getIntegrationPoints in class FemElement3dpublic MFreeIntegrationPoint3d getIntegrationPoint(int idx)
public int getIntegrationPointIndex(IntegrationPoint3d pnt)
public IntegrationData3d[] getIntegrationData()
getIntegrationData in class FemElement3dpublic IntegrationData3d getIntegrationData(int idx)
public void clearState()
clearState in class FemElement3dpublic 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 FemElement3dpublic void setWarpingPoint(MFreeIntegrationPoint3d warp, IntegrationData3d data)
public void setWarpingPointData(IntegrationData3d data)
public void computeCentroid(Vector3d centroid)
BoundablecomputeCentroid in interface BoundablecomputeCentroid in class FemElement3dcentroid - returns the computed centroid value.public boolean integrationPointsInterpolateToNodes()
FemElementintegrationPointsInterpolateToNodes in class FemElementtrue if there is an interpolation mapping between
integration points and nodespublic void updateBounds(Vector3d min, Vector3d max)
IsRenderableupdateBounds in interface BoundableupdateBounds in interface IsRenderableupdateBounds in class FemElement3dmin - minimum pointmax - maximum pointpublic void setRestVolume(double vol)
public void setVolume(double vol)
public void prerender(RenderList list)
IsRenderablelist.addIfVisible (obj);
for each of the objects in question.prerender in interface IsRenderableprerender in class FemElementlist - 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()
BoundablenumPoints in interface BoundablenumPoints in class FemElement3dpublic Point3d getPoint(int idx)
Boundableidx-th point associated with this element.getPoint in interface BoundablegetPoint in class FemElement3didx - 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 FemElementpublic double[] getNodalExtrapolationMatrix()
getNodalExtrapolationMatrix in class FemElement3dpublic 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 FemElement3dpublic 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 FemElement3dpublic double[] getIntegrationCoords()
getIntegrationCoords in class FemElement3dpublic double getN(int i,
Vector3d coords)
getN in class FemElement3dpublic int[] getEdgeIndices()
getEdgeIndices in class FemElement3dpublic int[] getFaceIndices()
getFaceIndices in class FemElement3dpublic double[] getNodeCoords()
getNodeCoords in class FemElement3dpublic void renderWidget(Renderer renderer, double size, RenderProps props)
renderWidget in class FemElement3d