artisynth.core.mfreemodels
Class MFreeIntegrationPoint3d

java.lang.Object
  extended by artisynth.core.femmodels.IntegrationPoint3d
      extended by artisynth.core.mfreemodels.MFreeIntegrationPoint3d
All Implemented Interfaces:
MFreePoint3d

public class MFreeIntegrationPoint3d
extends IntegrationPoint3d
implements MFreePoint3d


Constructor Summary
MFreeIntegrationPoint3d()
           
MFreeIntegrationPoint3d(java.util.List<MFreeNode3d> deps, VectorNd coords)
           
MFreeIntegrationPoint3d(Point3d pos, java.util.List<MFreeNode3d> deps)
           
 
Method Summary
 void computeGradientForRender(Matrix3d Fmat)
           
 void computeGradientForRender(Matrix3d Fmat, Matrix3d invJ0)
           
 void computeJacobian()
           
 void computeJacobianAndGradient()
           
 void computeJacobianAndGradient(Matrix3d invJ0)
           
 void computePosition(Point3d pos)
           
static MFreeIntegrationPoint3d create(java.util.List<MFreeNode3d> dependentNodes, VectorNd shapeN, java.util.ArrayList<Vector3d> shapeGrad, double w)
          Create an integration point for a given element.
 Vector3d getCoords()
           
 java.util.ArrayList<MFreeNode3d> getDependentNodes()
           
 double getDetJ()
           
 int getID()
           
 int getNodeCoordIdx(MFreeNode3d node)
           
 VectorNd getNodeCoordinates()
           
 Point3d getPosition()
           
 Point3d getRestPosition()
           
 double getShapeCoordinate(MFreeNode3d node)
           
 boolean reduceDependencies(double tol)
          Removes all dependencies with have very low weights ( |w| <= tol )
 void setDependentNodes(java.util.List<MFreeNode3d> nodes, VectorNd coords)
           
 void setID(int num)
           
 void setNodeCoordinates(VectorNd coords)
           
 void updatePosAndVelState()
           
 void updatePosState()
           
 void updateRestPosition()
           
 void updateVelState()
           
 
Methods inherited from class artisynth.core.femmodels.IntegrationPoint3d
computeCoordsForRender, computeDevLeftCauchyGreen, computeDevRightCauchyGreen, computeDirectedSizeForRender, computeGradientForRender, computeInverseJacobian, computeJacobian, computeJacobianAndGradient, computeJacobianAndGradient, computeLeftCauchyGreen, computePosition, computeRestPosition, computeRightCauchyGreen, create, getAverageJ, getAveragePressure, getDetF, getF, getGNs, getInvJ, getJ, getNumber, getPressureWeights, getShapeGradient, getShapeWeights, getStress, getWeight, setAveragePressure, setCoords, setF, setPressureWeights, setShapeGrad, setShapeWeights, setStress, setWeight, updateShapeGradient
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MFreeIntegrationPoint3d

public MFreeIntegrationPoint3d()

MFreeIntegrationPoint3d

public MFreeIntegrationPoint3d(Point3d pos,
                               java.util.List<MFreeNode3d> deps)

MFreeIntegrationPoint3d

public MFreeIntegrationPoint3d(java.util.List<MFreeNode3d> deps,
                               VectorNd coords)
Method Detail

getID

public int getID()

setID

public void setID(int num)

getDependentNodes

public java.util.ArrayList<MFreeNode3d> getDependentNodes()
Specified by:
getDependentNodes in interface MFreePoint3d

setDependentNodes

public void setDependentNodes(java.util.List<MFreeNode3d> nodes,
                              VectorNd coords)
Specified by:
setDependentNodes in interface MFreePoint3d

getPosition

public Point3d getPosition()
Specified by:
getPosition in interface MFreePoint3d

getRestPosition

public Point3d getRestPosition()
Specified by:
getRestPosition in interface MFreePoint3d

getNodeCoordinates

public VectorNd getNodeCoordinates()
Specified by:
getNodeCoordinates in interface MFreePoint3d

getNodeCoordIdx

public int getNodeCoordIdx(MFreeNode3d node)

getShapeCoordinate

public double getShapeCoordinate(MFreeNode3d node)

getCoords

public Vector3d getCoords()
Overrides:
getCoords in class IntegrationPoint3d

setNodeCoordinates

public void setNodeCoordinates(VectorNd coords)
Specified by:
setNodeCoordinates in interface MFreePoint3d

updatePosState

public void updatePosState()
Specified by:
updatePosState in interface MFreePoint3d

updateVelState

public void updateVelState()
Specified by:
updateVelState in interface MFreePoint3d

updatePosAndVelState

public void updatePosAndVelState()
Specified by:
updatePosAndVelState in interface MFreePoint3d

create

public static MFreeIntegrationPoint3d create(java.util.List<MFreeNode3d> dependentNodes,
                                             VectorNd shapeN,
                                             java.util.ArrayList<Vector3d> shapeGrad,
                                             double w)
Create an integration point for a given element.


computeJacobian

public void computeJacobian()

computeJacobianAndGradient

public void computeJacobianAndGradient(Matrix3d invJ0)

computeJacobianAndGradient

public void computeJacobianAndGradient()

computeGradientForRender

public void computeGradientForRender(Matrix3d Fmat,
                                     Matrix3d invJ0)

computeGradientForRender

public void computeGradientForRender(Matrix3d Fmat)

updateRestPosition

public void updateRestPosition()

computePosition

public void computePosition(Point3d pos)

getDetJ

public double getDetJ()

reduceDependencies

public boolean reduceDependencies(double tol)
Description copied from interface: MFreePoint3d
Removes all dependencies with have very low weights ( |w| <= tol )

Specified by:
reduceDependencies in interface MFreePoint3d
Returns:
true if modified