|
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
|
+--jv.project.PgGeometry
|
+--jv.geom.PgPointSet
|
+--jv.geom.PgPolygon
|
+--jv.geom.PgBndPolygon
Boundary polygon of PgElementSets with reference to boundary vertices and elements. Polygon may have boundary constraints for variational problems. Call: bndsh (n, bnd) bndinv (from, to, nedges, a, b) invert() bndcp (from, to, nedges, a, b) bndcpy (from, to, nedges, a, b) bndcmp (a, b, eps) bndtst (a, eps) bnd_id (a, b, i) bnd_shrink (a) bnd_dist (a, b, dist, orient) bnd_cmp_paste (a, b, maxDist) bnd_cmp_logic (a, b, eps) bnd_paste (a, b, type) g_bnd_curve_invert (a)
PgPointSet, Serialized Form| Field Summary | |
protected boolean |
m_bConforming
Flag whether boundary refers to a non-conforming elementSet and has been updated. |
protected PgBndConstraint |
m_bndConstraint
Constraints describing how the boundary is allowed to move when varying the surface. |
protected PiVector |
m_elementInd
Elements of the base surface adjacent to boundary edges. |
protected PiVector |
m_neighbourLocInd
Local index of m_triang.m_neighbour referencing to boundary edge. |
protected PgElementSet |
m_triang
Polyhedral surface which has 'this' as boundary, i.e. the base surface. |
protected PiVector |
m_vertexInd
Vertices of the boundary polygon are copies of surface vertices of the base surface. |
protected static double |
MAX_LOGIC_ANGLE
|
protected static double |
MAX_PASTE_ANGLE
Constants to decide when two adjacent edges belong to different boundary curves. |
| Fields inherited from class jv.project.PgGeometry |
m_ambientProj, m_ambientSpace, m_authorInfo, m_bShowBndBox, m_bShowCenter, m_bShowing, m_bShowTitle, m_center, m_dim, m_dimOfSimplex, m_displayList, m_geometryInfo, m_labelAttribute, m_methodMenu, m_modelMatrix, m_title, m_version, m_versionType |
| 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 | |
PgBndPolygon(int aVertexDim)
|
|
| Method Summary | |
boolean |
assignVertices()
Update the vertices of the polygon. |
boolean |
blend(double s,
PgBndPolygon a,
double t,
PgBndPolygon b)
Name: public boolean blend(double s, PgBndPolygon a, double t, PgBndPolygon b) Description: Blend between two PgBndPolygons, used in interpolation and computing the associate surfaces this = s*a + t*b Arguments: double s, t weights of vertices of each PgBndPolygon PgBndPolygon a, b two PgBndPolygons used for blending Author: Konrad Polthier History: created: 31.12.97 (kp) revised: |
int |
bnd_cmp_logic(PgBndPolygon b,
double maxDist)
Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries are not equal 1: bnd's are equal with m_vertexInd.m_data[0] = b.m_vertexInd.m_data[0] -1: bnd's are invers equal with m_vertexInd.m_data[0] = b.m_vertexInd.m_data[nop-1] Description: compare boundaries of one triang2d structure, they may have different number of vertices. |
protected int |
bnd_cmp_paste(PgBndPolygon b,
double maxDist)
Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries cannot be pasted, angle > MAX_PASTE_ANGLE (in degrees) 11: beginning of a and b may be pasted 12: beginning of a and end of b may be pasted 21: end of a and beginning of b may be pasted 22: end of a and b may be pasted Description: compare two bnd's of a triang2d structure w.r.t. pasting |
double |
bnd_dist(PgBndPolygon b)
Parameters: PgBndPolygon a, pointer to structure of bnd_curve PgBndPolygon b, pointer to structure of bnd_curve return: double dist distance of two boundaries int *orient 1: bnd's have same direction, i.e. a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[i] -1:bnd's have different directions, i.e. a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[nop-1-i] Returnvalue: 0 failure, orient and dist will not be defined on return; 1 success; Description: compare boundaries of one triang2d structure and return their distance, i.e. the maximal value of the minimal distance of boundary points |
boolean |
bnd_id(PgBndPolygon b,
int orient)
Parameters: PgBndPolygon a, pointer to structure of type bnd_curve PgBndPolygon b, pointer to structure of type bnd_curve int orient, orientation marker orient >=0 : bnd's are equal orient < 0 : bnd's are invers equal Returnvalue: --- Description: identify boundaries History: created: 29.12.97 Konrad Polthier |
boolean |
bnd_paste(PgBndPolygon b,
int type)
Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: paste didn't work 1: paste succeeded Description: paste two bnd's of a triang2d structure paste b at the end of a |
boolean |
bnd_shrink()
Identify a boundary curve to a single point. |
int |
bndcmp(PgBndPolygon b,
double maxDist)
Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries are not equal 1: bnd's are equal: a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[i] -1: bnd's are invers equal: a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[nop-1-i] Description: compare boundaries of one triang2d structure |
static void |
bndcp(int from,
int to,
int nedges,
PgBndPolygon a,
PgBndPolygon b)
Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of beginning of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Returnvalue: --- Description: copy part of bnd_curve number of edges = number of vertices - 1 |
static void |
bndcpy(int from,
int to,
int nedges,
PgBndPolygon a,
PgBndPolygon b)
Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of beginning of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Returnvalue: --- Description: copy part of bnd_curve number of edges = number of vertices |
static boolean |
bndinv(int from,
int to,
int nedges,
PgBndPolygon a,
PgBndPolygon b)
Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of end of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve in reverse order |
boolean |
bndsh(int n)
Parameters: int n, length of shift PgBndPolygon bnd, pointer on structure of bnd_curve Returnvalue: --- Description: shifts vertices and neighbours from beginning to end of bnd_curve |
int |
bndtst(double maxDist)
Parameters: double maxDist tolerance to first bnd vertex Returnvalue: int 0: some bnd_curve points are equal 1: all bnd_curve points are equal -1: all bnd_curve points are different Description: tests whether bnd_curve is a single point |
java.lang.Object |
clone()
Duplicate geometry by recursively cloning all instance variables except inspector panels and lists of registered listeners. |
boolean |
constrain()
Project boundary vertices of element set onto curves determined by boundary constraints. |
void |
copy(PgGeometry aGeom)
Copies data from given boundary curve. |
PgBndConstraint |
getBndConstraint()
|
PiVector |
getElementInd()
|
PgElementSet |
getElementSet()
|
PiVector |
getNeighbourLocInd()
|
int |
getNumElements()
|
PiVector |
getVertexInd()
|
void |
init()
Initialize and reset instance variables after call to super.init(). |
boolean |
invert()
Returnvalue: --- Description: invert bnd_curve to reverse order |
boolean |
isConforming()
Return true if boundary belongs to conforming element set
and boundary has been updated. |
void |
makeConforming()
Modify vertex indices of a boundary after elementSet has been made conforming again. |
boolean |
makeElementInd()
After the vertexInd have been assign, this method fills the elementInd vector by asking the triangulation for edges. |
void |
makeNonConforming()
Modify vertex indices of a boundary after elementSet has been made non-conforming. |
boolean |
merge(PgBndPolygon b)
Merge boundary polygon with current object into 'this' and identify last vertex of 'this' with first vertex of argument curve. |
void |
paint(PvGeometryIf dc)
Major rendering method fills an internal container class supplied by the display. |
void |
setBndConstraint(PgBndConstraint bndConstraint)
|
void |
setElementSet(PgElementSet aTriang)
|
protected void |
setMaxNumVertices(int aNumVertices)
Allocate given number of vertices, and allocate normals, colors etc. if they already exist. |
java.lang.String |
toString()
Create a multi-line string representation with detailed information about all instance variables. |
| Methods inherited from class jv.object.PsObject |
addInspector, addUpdateListener, clearTag, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, updatePanels |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface jv.project.PgGeometryIf |
getInfoPanel, getName, setName |
| Methods inherited from interface jv.object.PsUpdateIf |
getFather, setParent |
| Field Detail |
protected static double MAX_PASTE_ANGLE
protected static double MAX_LOGIC_ANGLE
protected PgElementSet m_triang
protected PiVector m_vertexInd
protected PiVector m_elementInd
protected PiVector m_neighbourLocInd
protected boolean m_bConforming
protected PgBndConstraint m_bndConstraint
| Constructor Detail |
public PgBndPolygon(int aVertexDim)
| Method Detail |
public void init()
PgPolygoninit in class PgPolygonpublic java.lang.Object clone()
null.
Tags of this object are not copied but maybe copied of subclasses.
Link to associated element set is set to null.
clone in class PgPolygoncopy(PgGeometry)public void copy(PgGeometry aGeom)
copy in class PgPolygonpublic java.lang.String toString()
toString in class PgPolygonpublic int getNumElements()
public PgElementSet getElementSet()
public PiVector getVertexInd()
public PiVector getElementInd()
public PiVector getNeighbourLocInd()
public PgBndConstraint getBndConstraint()
public void setBndConstraint(PgBndConstraint bndConstraint)
public void setElementSet(PgElementSet aTriang)
protected void setMaxNumVertices(int aNumVertices)
PgPointSetsetMaxNumVertices in class PgPointSetpublic void paint(PvGeometryIf dc)
PgPolygonjv.project.PgGeometryIf for detailed information.paint in class PgPolygonjv.geom.PgPolygonPgGeometryIfpublic boolean isConforming()
true if boundary belongs to conforming element set
and boundary has been updated.public void makeNonConforming()
jv.geom.PnConjugate#makeConforming(jv.geom.PgElementSet),
jv.geom.PnConjugate#makeNonConforming(jv.geom.PgElementSet)public void makeConforming()
jv.geom.PnConjugate#makeConforming(jv.geom.PgElementSet),
jv.geom.PnConjugate#makeNonConforming(jv.geom.PgElementSet)public boolean assignVertices()
public boolean makeElementInd()
public boolean bndsh(int n)
public static boolean bndinv(int from,
int to,
int nedges,
PgBndPolygon a,
PgBndPolygon b)
public boolean invert()
public static void bndcp(int from,
int to,
int nedges,
PgBndPolygon a,
PgBndPolygon b)
public static void bndcpy(int from,
int to,
int nedges,
PgBndPolygon a,
PgBndPolygon b)
public int bndcmp(PgBndPolygon b,
double maxDist)
public int bndtst(double maxDist)
public boolean bnd_shrink()
PsObject#IS_DELETED.
Boundary curve itself is marked deleted too. The boundary edges are
removed from adjacent elements respectively elements with three edges are removed.
public boolean bnd_id(PgBndPolygon b,
int orient)
public double bnd_dist(PgBndPolygon b)
protected int bnd_cmp_paste(PgBndPolygon b,
double maxDist)
public boolean bnd_paste(PgBndPolygon b,
int type)
public int bnd_cmp_logic(PgBndPolygon b,
double maxDist)
public boolean merge(PgBndPolygon b)
b - PgBndPolygon to be merged into 'this'true if merge was successfull
public boolean blend(double s,
PgBndPolygon a,
double t,
PgBndPolygon b)
public boolean constrain()
|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||