public class FemElementRenderer
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
FemElementRenderer.EdgeCurve
Element edge curve
|
static class |
FemElementRenderer.LinearEdgeCurve |
static class |
FemElementRenderer.QuadEdgeCurve
Quadratic edge
|
static class |
FemElementRenderer.QuadFacePatch
Quadrilateral face patch
|
static class |
FemElementRenderer.QuadraticQuadFacePatch
Quadratic quadrilateral
|
static class |
FemElementRenderer.QuadraticTriFacePatch
Quadratic triangle
|
static class |
FemElementRenderer.TriangulatedFacePatch
Patch of specified triangles
|
static class |
FemElementRenderer.TriFacePatch
Triangle face patch
|
static interface |
FemElementRenderer.WidgetFacePatch
Patch of triangles for widget face
|
Constructor and Description |
---|
FemElementRenderer(FemElement3dBase elem) |
Modifier and Type | Method and Description |
---|---|
static void |
addEdges(RenderObject r,
FeatureIndexArray lines,
java.util.List<FemElementRenderer.EdgeCurve> curves,
FemElement3dBase elem,
int nsegs) |
static int |
addQuadEdge(RenderObject r,
FeatureIndexArray lines,
int vidx0,
int vidxm,
int vidx1) |
static int |
addQuadEdge(RenderObject r,
FeatureIndexArray lines,
int nsegs,
int vidx0,
int vidxm,
int vidx1) |
static int |
addQuadEdge(RenderObject r,
int vidx0,
int vidxm,
int vidx1) |
static int |
addQuadFace(RenderObject r,
FeatureIndexArray faces,
int nsegs,
int p0,
int p1,
int p2,
int pm01,
int pm12,
int pm20)
Adds quadratic triangular face
|
static int |
addQuadFace(RenderObject r,
FeatureIndexArray faces,
int nsegs,
int p0,
int p1,
int p2,
int p3,
int pm01,
int pm12,
int pm23,
int pm30)
Adds a quadratic quadrilateral face
|
static void |
addWidgetFaces(RenderObject r,
FeatureIndexArray faces,
FemElement3dBase elem,
double size)
Adds flat triangulated faces
|
static void |
addWidgetFaces(RenderObject r,
FeatureIndexArray tris,
java.util.List<FemElementRenderer.WidgetFacePatch> patches,
FemElement3dBase elem,
int nsegs) |
static void |
addWidgetFaces(RenderObject r,
FemElement3dBase elem)
Adds flat triangulated faces
|
void |
render(Renderer renderer,
FemElement3dBase elem,
RenderProps props) |
void |
renderRestWidget(Renderer renderer,
FemElement3dBase elem,
double size,
RenderProps props) |
void |
renderWidget(Renderer renderer,
FemElement3dBase elem,
double size,
RenderProps props) |
static void |
updateEdgePositions(RenderObject r,
java.util.List<FemElementRenderer.EdgeCurve> edges,
FemElement3dBase elem,
int ep0) |
static void |
updateQuadEdge(RenderObject r,
int vidx0,
int vidxm,
int vidx1,
int pidx0) |
static void |
updateQuadEdge(RenderObject r,
int nsegs,
int vidx0,
int vidxm,
int vidx1,
int pidx0) |
static void |
updateQuadFace(RenderObject r,
int nsegs,
int p0,
int p1,
int p2,
int pm01,
int pm12,
int pm20,
int vidx0)
Updates positions and normals of a quadratic triangular face
|
static void |
updateQuadFace(RenderObject r,
int nsegs,
int p0,
int p1,
int p2,
int p3,
int pm01,
int pm12,
int pm23,
int pm30,
int vidx0)
Updates positions and normals for quadratic quadrilateral patch
|
static void |
updateWidgetNormals(RenderObject r,
int tgrp)
Updates normals for flat triangulated widgets
|
static int |
updateWidgetPositions(RenderObject r,
FemElement3dBase elem,
double size,
int idx)
Updates widget node locations
|
static int |
updateWidgetRestPositions(RenderObject r,
FemElement3d elem,
double size,
int idx)
Update widget node positions with rest coordinates
|
public FemElementRenderer(FemElement3dBase elem)
public static int addQuadEdge(RenderObject r, int vidx0, int vidxm, int vidx1)
public static int addQuadEdge(RenderObject r, FeatureIndexArray lines, int vidx0, int vidxm, int vidx1)
public static int addQuadEdge(RenderObject r, FeatureIndexArray lines, int nsegs, int vidx0, int vidxm, int vidx1)
public static void updateQuadEdge(RenderObject r, int vidx0, int vidxm, int vidx1, int pidx0)
public static void updateQuadEdge(RenderObject r, int nsegs, int vidx0, int vidxm, int vidx1, int pidx0)
public static int addQuadFace(RenderObject r, FeatureIndexArray faces, int nsegs, int p0, int p1, int p2, int pm01, int pm12, int pm20)
r
- render objectfaces
- list of face indices to populatensegs
- number of segments along each half-edgep0
- position index of v0p1
- position index of v1p2
- position index of v2pm01
- position index of the mid vertex between v0 and v1pm12
- position index of the mid vertex between v1 and v2pm20
- position index of the mid vertex between v2 and v0public static void updateQuadFace(RenderObject r, int nsegs, int p0, int p1, int p2, int pm01, int pm12, int pm20, int vidx0)
r
- render objectnsegs
- number of segments along each half-edgep0
- position index of v0p1
- position index of v1p2
- position index of v2pm01
- position index of the mid vertex between v0 and v1pm12
- position index of the mid vertex between v1 and v2pm20
- position index of the mid vertex between v2 and v0vidx0
- vertex index of first vertex in patch to updatepublic static int addQuadFace(RenderObject r, FeatureIndexArray faces, int nsegs, int p0, int p1, int p2, int p3, int pm01, int pm12, int pm23, int pm30)
r
- render objectfaces
- list of face indices to populatensegs
- number of segments along each half edgep0
- position index of v0p1
- position index of v1p2
- position index of v2p3
- position index of v3pm01
- position index of the mid vertex between v0 and v1pm12
- position index of the mid vertex between v1 and v2pm23
- position index of the mid vertex between v2 and v3pm30
- position index of the mid vertex between v3 and v0public static void updateQuadFace(RenderObject r, int nsegs, int p0, int p1, int p2, int p3, int pm01, int pm12, int pm23, int pm30, int vidx0)
r
- render objectnsegs
- numver of segments along each half edgep0
- position index of v0p1
- position index of v1p2
- position index of v2p3
- position index of v3pm01
- position index of the mid vertex between v0 and v1pm12
- position index of the mid vertex between v1 and v2pm23
- position index of the mid vertex between v2 and v3pm30
- position index of the mid vertex between v3 and v0vidx0
- vertex index of first vertex in patch to updatepublic static void addWidgetFaces(RenderObject r, FemElement3dBase elem)
r
- render objectelem
- elementpublic static void addWidgetFaces(RenderObject r, FeatureIndexArray faces, FemElement3dBase elem, double size)
r
- render objectfaces
- face index list to populateelem
- elementpublic static int updateWidgetPositions(RenderObject r, FemElement3dBase elem, double size, int idx)
r
- render objectelem
- elementsize
- widget sizeidx
- position of first widget nodepublic static int updateWidgetRestPositions(RenderObject r, FemElement3d elem, double size, int idx)
r
- render object to updateelem
- element to updatesize
- widget sizeidx
- position index for first nodepublic static void updateWidgetNormals(RenderObject r, int tgrp)
r
- render object to updatetgrp
- rendering grouppublic static void addEdges(RenderObject r, FeatureIndexArray lines, java.util.List<FemElementRenderer.EdgeCurve> curves, FemElement3dBase elem, int nsegs)
public static void addWidgetFaces(RenderObject r, FeatureIndexArray tris, java.util.List<FemElementRenderer.WidgetFacePatch> patches, FemElement3dBase elem, int nsegs)
public static void updateEdgePositions(RenderObject r, java.util.List<FemElementRenderer.EdgeCurve> edges, FemElement3dBase elem, int ep0)
public void renderWidget(Renderer renderer, FemElement3dBase elem, double size, RenderProps props)
public void renderRestWidget(Renderer renderer, FemElement3dBase elem, double size, RenderProps props)
public void render(Renderer renderer, FemElement3dBase elem, RenderProps props)