artisynth.core.mfreemodels
Class MFreeFactory
java.lang.Object
artisynth.core.mfreemodels.MFreeFactory
public class MFreeFactory
- extends java.lang.Object
Method Summary |
static void |
addWarpingPoints(java.util.List<MFreeElement3d> elems,
BVTree nodeTree)
|
static boolean[][] |
buildIntersectionChart(java.util.List<MFreeNode3d> nodeList)
|
static boolean[][] |
buildIntersectionChart(MFreeNode3d[] nodeArray)
|
static MFreeModel3d |
cloneFem(MFreeModel3d model,
FemModel3d fem)
|
static DirectedGraph<MFreeElement3d,MFreeNode3d> |
convertConnectivity(java.util.List<MFreeNode3d> nodes,
java.util.List<MFreeElement3d> elems,
DirectedGraph<int[],java.lang.Integer> graph)
|
static MeshBase |
convertToMFreeMesh(MeshBase orig,
BVTree nodeTree,
double tol)
|
static MFreeModel3d |
createBeam(MFreeModel3d model,
double[] size,
int[] res,
double rfactor)
|
static MFreeModel3d |
createBeam(MFreeModel3d model,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
double[] size,
int[] res,
double rfactor)
|
static MFreeModel3d |
createBeam(MFreeModel3d model,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
double[] size,
int[] res,
int[] ipntRes,
double rfactor)
|
static MFreeIntegrationPoint3d[] |
createIntegrationPoints(CubaturePoint3d[] cpnts,
BVTree nodeTree)
|
static MFreeModel3d |
createModel(MFreeModel3d model,
java.util.List<MFreeNode3d> nodes,
PolygonalMesh surface,
CubaturePoint3d[] cpnts)
|
static MFreeModel3d |
createModel(MFreeModel3d model,
Point3d[] nodeLocs,
double nodeRad,
Point3d[] ipntLoc,
PolygonalMesh surface)
|
static MFreeModel3d |
createModel(MFreeModel3d model,
Point3d[] nodeLocs,
double nodeRad,
Point3d[] ipntLoc,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
PolygonalMesh surface)
|
static MFreeModel3d |
createModel(MFreeModel3d model,
PolygonalMesh surface,
RigidTransform3d pos,
int nNodes,
int nIPnts)
|
static MFreeModel3d |
createModel(MFreeModel3d model,
PolygonalMesh surface,
RigidTransform3d pos,
int nNodes,
int nIPnts,
int[] gridRes,
double rscale)
|
static void |
createNodeMeshes(java.util.List<MFreeNode3d> nodes,
BVTree nodeTree,
PolygonalMesh surface)
|
static java.util.ArrayList<MFreeElement3d> |
createPairedElements(java.util.List<MFreeNode3d> nodes,
boolean[][] iChart)
|
static void |
createPairedElemMeshes(java.util.List<MFreeElement3d> elemList,
BVTree nodeTree)
|
static MFreeModel3d |
createPairedModel(MFreeModel3d model,
java.util.List<MFreeNode3d> nodes,
PolygonalMesh surface,
CubaturePoint3d[] cpnts)
|
static MFreeModel3d |
createPairedModel(MFreeModel3d model,
Point3d[] nodeLocs,
double nodeRad,
Point3d[] ipntLoc,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
PolygonalMesh surface)
|
static java.util.ArrayList<MFreeElement3d> |
createPartitionedElements(java.util.List<MFreeNode3d> nodes,
DirectedGraph<int[],java.lang.Integer> connectivityGraph)
|
static
|
createPartitionedElementsFromPoints(A[] pnts,
java.util.HashMap<A,MFreeElement3d> pntMap)
|
static void |
createPartitionedElemMeshes(java.util.List<MFreeElement3d> elemList,
java.util.List<MFreeNode3d> nodeList,
BVTree nodeTree,
DirectedGraph<int[],java.lang.Integer> connectivityGraph)
|
static MFreeIntegrationPoint3d |
createWarpingPoint(MFreeElement3d elem,
Point3d pos,
BVTree nodeTree)
|
static void |
distributeIPointsFromMap(java.util.HashMap<MFreeIntegrationPoint3d,MFreeElement3d> pntMap)
|
static void |
distributePairedIPoints(MFreeElement3d[] elemList,
MFreeIntegrationPoint3d[] ipnts,
IntegrationData3d[] idata,
BVTree elemTree,
double tol)
|
static void |
distributePartitionedIPoints(DirectedGraph<MFreeElement3d,MFreeNode3d> connectivity,
MFreeIntegrationPoint3d[] ipnts,
IntegrationData3d[] idata,
BVTree elemTree,
double tol)
|
static java.util.ArrayList<MFreeNode3d> |
findNodesContaining(Point3d pnt,
BVTree bvtree,
double tol)
|
static java.util.ArrayList<MFreeElement3d> |
findPairdElementsContaining(Point3d pnt,
BVTree bvtree,
double tol)
|
static java.util.ArrayList<MFreeElement3d> |
findPairedElementsContaining(Point3d pnt,
BVTree bvtree,
double tol)
|
static java.util.ArrayList<MFreeElement3d> |
findPartitionedElementsContaining(Point3d pnt,
DirectedGraph<MFreeElement3d,MFreeNode3d> connectivity,
BVTree bvtree,
double tol)
|
static Point3d[] |
generateNodes(PolygonalMesh mesh,
int[] res,
int nPoints)
|
static java.util.ArrayList<MFreeElement3d> |
trimEmptyElements(java.util.List<MFreeElement3d> elemList)
|
static void |
updatePointCoordinates(java.util.List<? extends MFreePoint3d> pnts,
BVTree nodeTree,
double tol)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_TOLERANCE
public static double DEFAULT_TOLERANCE
DEFAULT_GRID_IPNT_FACTOR
public static int DEFAULT_GRID_IPNT_FACTOR
DEFAULT_RADIAL_KERNEL_TYPE
public static RadialWeightFunction.RadialWeightFunctionType DEFAULT_RADIAL_KERNEL_TYPE
DEFAULT_SHAPE_FUNCTION_TYPE
public static MFreeShapeFunction.MFreeShapeFunctionType DEFAULT_SHAPE_FUNCTION_TYPE
MFreeFactory
public MFreeFactory()
createBeam
public static MFreeModel3d createBeam(MFreeModel3d model,
double[] size,
int[] res,
double rfactor)
createBeam
public static MFreeModel3d createBeam(MFreeModel3d model,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
double[] size,
int[] res,
double rfactor)
createModel
public static MFreeModel3d createModel(MFreeModel3d model,
PolygonalMesh surface,
RigidTransform3d pos,
int nNodes,
int nIPnts)
createModel
public static MFreeModel3d createModel(MFreeModel3d model,
PolygonalMesh surface,
RigidTransform3d pos,
int nNodes,
int nIPnts,
int[] gridRes,
double rscale)
generateNodes
public static Point3d[] generateNodes(PolygonalMesh mesh,
int[] res,
int nPoints)
createBeam
public static MFreeModel3d createBeam(MFreeModel3d model,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
double[] size,
int[] res,
int[] ipntRes,
double rfactor)
createModel
public static MFreeModel3d createModel(MFreeModel3d model,
Point3d[] nodeLocs,
double nodeRad,
Point3d[] ipntLoc,
PolygonalMesh surface)
createModel
public static MFreeModel3d createModel(MFreeModel3d model,
Point3d[] nodeLocs,
double nodeRad,
Point3d[] ipntLoc,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
PolygonalMesh surface)
createPairedModel
public static MFreeModel3d createPairedModel(MFreeModel3d model,
Point3d[] nodeLocs,
double nodeRad,
Point3d[] ipntLoc,
RadialWeightFunction.RadialWeightFunctionType fType,
MFreeShapeFunction.MFreeShapeFunctionType sType,
PolygonalMesh surface)
createPairedModel
public static MFreeModel3d createPairedModel(MFreeModel3d model,
java.util.List<MFreeNode3d> nodes,
PolygonalMesh surface,
CubaturePoint3d[] cpnts)
createModel
public static MFreeModel3d createModel(MFreeModel3d model,
java.util.List<MFreeNode3d> nodes,
PolygonalMesh surface,
CubaturePoint3d[] cpnts)
trimEmptyElements
public static java.util.ArrayList<MFreeElement3d> trimEmptyElements(java.util.List<MFreeElement3d> elemList)
createIntegrationPoints
public static MFreeIntegrationPoint3d[] createIntegrationPoints(CubaturePoint3d[] cpnts,
BVTree nodeTree)
distributePairedIPoints
public static void distributePairedIPoints(MFreeElement3d[] elemList,
MFreeIntegrationPoint3d[] ipnts,
IntegrationData3d[] idata,
BVTree elemTree,
double tol)
distributeIPointsFromMap
public static void distributeIPointsFromMap(java.util.HashMap<MFreeIntegrationPoint3d,MFreeElement3d> pntMap)
distributePartitionedIPoints
public static void distributePartitionedIPoints(DirectedGraph<MFreeElement3d,MFreeNode3d> connectivity,
MFreeIntegrationPoint3d[] ipnts,
IntegrationData3d[] idata,
BVTree elemTree,
double tol)
addWarpingPoints
public static void addWarpingPoints(java.util.List<MFreeElement3d> elems,
BVTree nodeTree)
createWarpingPoint
public static MFreeIntegrationPoint3d createWarpingPoint(MFreeElement3d elem,
Point3d pos,
BVTree nodeTree)
createPartitionedElements
public static java.util.ArrayList<MFreeElement3d> createPartitionedElements(java.util.List<MFreeNode3d> nodes,
DirectedGraph<int[],java.lang.Integer> connectivityGraph)
createPairedElements
public static java.util.ArrayList<MFreeElement3d> createPairedElements(java.util.List<MFreeNode3d> nodes,
boolean[][] iChart)
createNodeMeshes
public static void createNodeMeshes(java.util.List<MFreeNode3d> nodes,
BVTree nodeTree,
PolygonalMesh surface)
createPairedElemMeshes
public static void createPairedElemMeshes(java.util.List<MFreeElement3d> elemList,
BVTree nodeTree)
createPartitionedElemMeshes
public static void createPartitionedElemMeshes(java.util.List<MFreeElement3d> elemList,
java.util.List<MFreeNode3d> nodeList,
BVTree nodeTree,
DirectedGraph<int[],java.lang.Integer> connectivityGraph)
findPairdElementsContaining
public static java.util.ArrayList<MFreeElement3d> findPairdElementsContaining(Point3d pnt,
BVTree bvtree,
double tol)
findPartitionedElementsContaining
public static java.util.ArrayList<MFreeElement3d> findPartitionedElementsContaining(Point3d pnt,
DirectedGraph<MFreeElement3d,MFreeNode3d> connectivity,
BVTree bvtree,
double tol)
convertConnectivity
public static DirectedGraph<MFreeElement3d,MFreeNode3d> convertConnectivity(java.util.List<MFreeNode3d> nodes,
java.util.List<MFreeElement3d> elems,
DirectedGraph<int[],java.lang.Integer> graph)
findPairedElementsContaining
public static java.util.ArrayList<MFreeElement3d> findPairedElementsContaining(Point3d pnt,
BVTree bvtree,
double tol)
findNodesContaining
public static java.util.ArrayList<MFreeNode3d> findNodesContaining(Point3d pnt,
BVTree bvtree,
double tol)
updatePointCoordinates
public static void updatePointCoordinates(java.util.List<? extends MFreePoint3d> pnts,
BVTree nodeTree,
double tol)
convertToMFreeMesh
public static MeshBase convertToMFreeMesh(MeshBase orig,
BVTree nodeTree,
double tol)
cloneFem
public static MFreeModel3d cloneFem(MFreeModel3d model,
FemModel3d fem)
buildIntersectionChart
public static boolean[][] buildIntersectionChart(java.util.List<MFreeNode3d> nodeList)
buildIntersectionChart
public static boolean[][] buildIntersectionChart(MFreeNode3d[] nodeArray)
createPartitionedElementsFromPoints
public static <A extends MFreePoint3d> java.util.ArrayList<MFreeElement3d> createPartitionedElementsFromPoints(A[] pnts,
java.util.HashMap<A,MFreeElement3d> pntMap)