jvx.geom
Class PwIntersectWithFunction
- java.lang.Object
-
- jv.object.PsObject
-
- jvx.project.PjWorkshop
-
- jvx.geom.PwIntersectElementSet
-
- jvx.geom.PwIntersectWithFunction
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf, PjWorkshopIf
public class PwIntersectWithFunction extends PwIntersectElementSet
Utility program to cut a PgElementSet along a level function or at a level between double values at vertices and generate a PgPolygonSet containing all the intersection polygons.- See Also:
- Serialized Form
- Author:
- Ulrich Reitebuch
- Version:
- 03.03.11, 1.10 revised (ur) Activate methods to clip at scalar data.
22.08.05, 1.00 created (ur) Full revision, moved to new class from PwClip.
-
-
Field Summary
Fields Modifier and Type Field and Description static intDATAIdentifier for intersect with data array mode.static intFUNCTIONIdentifier for intersect with function mode.-
Fields inherited from class jv.object.PsObject
HAS_BOUNDARY_PANEL, HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS
-
Fields inherited from interface jv.project.PjWorkshopIf
MODE_BUG, MODE_STANDARD, MODE_VALIDATE
-
-
Constructor Summary
Constructors Constructor and Description PwIntersectWithFunction()Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidclip(boolean bPositive)Clip the workshop's geometry at the level function or vertex data.voidclipAtFunction(boolean bPositive)Clip the workshop's geometry at the level function.voidclipAtPdVector(boolean bPositive)Clip the workshop's geometry at level in scalar data.voidcomputeVertexDataFromNormal()Fill vertex data array with scalar product of vertex normal and this workshop's normal vector.java.lang.StringgetFunction()Get textual expression of level function.doublegetLevel()Get level value at which clipping happens.intgetMode()Get current intersection modevoidintersect()Invoke Cutting the elements of the workshop's geometry at level function or vertex data.voidintersect(double level)Invoke Cutting the elements of the workshop's geometry at level function or vertex data.voidintersectWithFunction()Invoke Cutting the elements of the workshop's geometry at the level function.voidintersectWithPdVector()Invoke Cutting the elements of the workshop's geometry at scalar data.voidsetFunction(java.lang.String s)Set textual expression of level function used clipping from outside of workshop.voidsetGeometry(PgGeometry geom)Assign a geometry on which this workshop operates, and create a backup copy if workshop is canceled.voidsetLevel(double level)Set the value at which clipping happens.voidsetMode(int mode)Set intersection mode to FUNCTION or DATA.voidsetScalarData(PdVector data)Set double data to clip or split Geometry at.PgElementSetsplitAtFunction()Split the workshop's geometry into two geometries along the level function.PgElementSetsplitAtPdVector()Split the workshop's geometry into two geometries at a level in scalar data.booleanupdate(java.lang.Object event)Update the class whenever a child has changed.-
Methods inherited from class jvx.geom.PwIntersectElementSet
breakElements, breakElements, cancel, cutAlongIntersection, cutAlongIntersection, getIntersection, init, reset, setGeometries
-
Methods inherited from class jvx.project.PjWorkshop
close, getDisplay, getDisplays, getGeometry, getSavedGeometry, getViewer, isModal, isStandalone, ok, removeGeometry, setDisplay, setDisplays, setModal, setStandalone, setViewer
-
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, updatePanels
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jv.object.PsUpdateIf
getFather, getName, setParent
-
-
-
-
Field Detail
-
FUNCTION
public static final int FUNCTION
Identifier for intersect with function mode.- See Also:
- Constant Field Values
-
DATA
public static final int DATA
Identifier for intersect with data array mode.- See Also:
- Constant Field Values
-
-
Method Detail
-
setGeometry
public void setGeometry(PgGeometry geom)
Assign a geometry on which this workshop operates, and create a backup copy if workshop is canceled. Subclasses frequently overwrite this method but are advised to call this method.- Specified by:
setGeometryin interfacePjWorkshopIf- Overrides:
setGeometryin classPjWorkshop- Parameters:
geom- the workshop modifies this geometry.
-
setMode
public void setMode(int mode)
Set intersection mode to FUNCTION or DATA.- Specified by:
setModein interfacePjWorkshopIf- Overrides:
setModein classPjWorkshop- Parameters:
mode- either MODE_STANDARD for standard mode, or MODE_BUG for debugging operations.- See Also:
PjWorkshopIf.MODE_STANDARD
-
getMode
public int getMode()
Get current intersection mode- Overrides:
getModein classPjWorkshop- Returns:
- either MODE_STANDARD for standard mode, or another mode.
- See Also:
PjWorkshopIf.MODE_STANDARD
-
getFunction
public java.lang.String getFunction()
Get textual expression of level function.
-
setFunction
public void setFunction(java.lang.String s)
Set textual expression of level function used clipping from outside of workshop. String must be a valid mathematical function in variables {u,v,w} where the number of variables must be equal to the vertex dimension of the geometry to which clipping is applied.- Parameters:
s- string containing a function expression- See Also:
Parser
-
setScalarData
public void setScalarData(PdVector data)
Set double data to clip or split Geometry at.
-
getLevel
public double getLevel()
Get level value at which clipping happens.- Returns:
- level value at which clipping happens
-
setLevel
public void setLevel(double level)
Set the value at which clipping happens.- Parameters:
level- level value at which clipping happens
-
update
public boolean update(java.lang.Object event)
Update the class whenever a child has changed. Method is usually invoked from the children.- Specified by:
updatein interfacePsUpdateIf- Overrides:
updatein classPjWorkshop- Parameters:
event- sender of this update.- Returns:
- true if update was correctly handled by superclass.
- See Also:
PsObject.setParent(PsUpdateIf),PsObject.getFather(),PsObject.addUpdateListener(PsUpdateIf)
-
intersect
public void intersect()
Invoke Cutting the elements of the workshop's geometry at level function or vertex data.- Overrides:
intersectin classPwIntersectElementSet- Author:
- Ulrich Reitebuch
- Version:
- 08.08.12, 1.00 created (ur)
-
intersectWithFunction
public void intersectWithFunction()
Invoke Cutting the elements of the workshop's geometry at the level function.- Author:
- Ulrich Reitebuch
- Version:
- 14.10.04, 1.10 revised (kh) Bug remove: changed m_geom = m_elSet[0] to m_geom.copy(m_elSet[0]).
29.05.02, 1.00 created (ur)
-
intersectWithPdVector
public void intersectWithPdVector()
Invoke Cutting the elements of the workshop's geometry at scalar data.- Author:
- Ulrich Reitebuch
- Version:
- 14.10.04, 1.10 revised (kh) Bug remove: changed m_geom = m_elSet[0] to m_geom.copy(m_elSet[0]).
29.05.02, 1.00 created (ur)
-
computeVertexDataFromNormal
public void computeVertexDataFromNormal()
Fill vertex data array with scalar product of vertex normal and this workshop's normal vector.
-
splitAtFunction
public PgElementSet splitAtFunction()
Split the workshop's geometry into two geometries along the level function. The workshop's geometry will contain all areas with function values lower than the cutting level, the returned geometry contains all other areas.- Author:
- Ulrich Reitebuch
- Version:
- 09.03.04, 1.00 created (ur)
-
splitAtPdVector
public PgElementSet splitAtPdVector()
Split the workshop's geometry into two geometries at a level in scalar data. The workshop's geometry will contain all areas with function values lower than the cutting level, the returned geometry contains all other areas.- Author:
- Ulrich Reitebuch
- Version:
- 09.03.04, 1.00 created (ur)
-
clip
public void clip(boolean bPositive)
Clip the workshop's geometry at the level function or vertex data.- Parameters:
bPositive- Flag to get either the higher or the lower function value areas.- Author:
- Ulrich Reitebuch
- Version:
- 08.83.12, 1.00 created (ur)
-
clipAtFunction
public void clipAtFunction(boolean bPositive)
Clip the workshop's geometry at the level function.- Parameters:
bPositive- Flag to get either the higher or the lower function value areas.- Author:
- Ulrich Reitebuch
- Version:
- 09.03.04, 1.00 created (ur)
-
clipAtPdVector
public void clipAtPdVector(boolean bPositive)
Clip the workshop's geometry at level in scalar data.- Parameters:
bPositive- Flag to get either the higher or the lower function value areas.- Author:
- Ulrich Reitebuch
- Version:
- 09.03.04, 1.00 created (ur)
-
intersect
public void intersect(double level)
Invoke Cutting the elements of the workshop's geometry at level function or vertex data.- Author:
- Ulrich Reitebuch
- Version:
- 08.08.12, 1.00 created (ur)
-
-
"