|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--jv.object.PsObject
|
+--jvx.geom.PwRivaraBisection
Rivara bisection algorithm on triangulated surfaces. This class adaptively refines a marked subset of the triangles of a triangulation.
A cache mechanism is added to the element, vertex, and neighbour array. Each array has now a used size and a maximal size. Each time when the used size is greater than the maximal size the array is increased by caNewSize entries.
| Field Summary | |
protected int |
caElementMaxSize
Number of maximal elements in the element array. |
protected int |
caElementUsedSize
Number of used elements in the element array. |
protected int |
caNeighbourMaxSize
Number of maximal elements in the neighbour array. |
protected int |
caNeighbourUsedSize
Number of used elements in the neighbour array. |
protected int |
caNewSize
Number of new array-elements if the cache has to be resized. |
protected int |
caVertexMaxSize
Number of maximal elements in the vertex array. |
protected int |
caVertexUsedSize
Number of used elements in the vertex array. |
protected PiVector[] |
m_element
Copy of the elements. |
protected PgElementSet |
m_geom
The geometry that has to be refined. |
protected PiVector[] |
m_neighbour
Copy of the neighbours. |
protected PdVector[] |
m_vertex
Copy of the vertices. |
| Fields inherited from class jv.object.PsObject |
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_MATERIAL_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_SELECTED, IS_USED, m_infoPanel, m_name, m_panelList, m_parent, m_tag, m_updateList, NUM_TAGS |
| Constructor Summary | |
PwRivaraBisection()
|
|
| Method Summary | |
protected void |
finish()
Copy modified vertices, elements, and neighbours into original element set. |
protected PdVector |
rivaraRefineEdge(int elementIndex,
PdVector point1,
PdVector point2)
Refines an edge (currently at the midpoint of the refinement edge). |
protected int |
rivaraRefineElement(int currentElement,
int[] previousElements,
int newVertex)
|
protected int |
rivaraRefineElement(int formerElement,
int[] previousElements,
int currentElement,
int previousNewVertex)
|
boolean |
rivaraRefinement(PgElementSet geom,
int[] refineElements)
Invokes the Rivara refinement process on the set of marked triangles. |
protected void |
rivaraSimpleConnect(int element11,
int element12,
int element21,
int element22)
|
protected boolean |
setGeometry(PgElementSet geom)
Assign some instance variables of the current geometry for direct access during refinement. |
protected boolean |
shareEdge(int element1,
int element2,
int[] edgeIndices)
Check whether both elements share a common edge, and store vertex indices of edge. |
| Methods inherited from class jv.object.PsObject |
addInspector, addUpdateListener, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, init, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, toString, update, updatePanels |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected PgElementSet m_geom
protected PdVector[] m_vertex
protected PiVector[] m_element
protected PiVector[] m_neighbour
protected int caNewSize
protected int caElementUsedSize
protected int caElementMaxSize
protected int caVertexUsedSize
protected int caVertexMaxSize
protected int caNeighbourUsedSize
protected int caNeighbourMaxSize
| Constructor Detail |
public PwRivaraBisection()
| Method Detail |
protected PdVector rivaraRefineEdge(int elementIndex,
PdVector point1,
PdVector point2)
protected final int rivaraRefineElement(int currentElement,
int[] previousElements,
int newVertex)
protected final boolean shareEdge(int element1,
int element2,
int[] edgeIndices)
protected final void rivaraSimpleConnect(int element11,
int element12,
int element21,
int element22)
protected final int rivaraRefineElement(int formerElement,
int[] previousElements,
int currentElement,
int previousNewVertex)
protected boolean setGeometry(PgElementSet geom)
rivaraRefinement(jv.geom.PgElementSet, int[])protected void finish()
rivaraRefinement(jv.geom.PgElementSet, int[])
public boolean rivaraRefinement(PgElementSet geom,
int[] refineElements)
refineElements - an array which holds the indices of the elements that have to be refined
|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||