public class PjRungeKutta extends PjProject implements java.lang.Runnable, java.awt.event.ActionListener
PnLIC
,
Serialized FormModifier and Type | Field and Description |
---|---|
static int |
GEODESIC
Geodesic completion.
|
static int |
GEODESIC2
Geodesic translation along half angle.
|
static int |
GEODESIC3
Geodesic translation dependent on evaluation point (continuous).
|
static int |
PROJECTION
Is used by method calculateRepresentations.
|
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
Constructor and Description |
---|
PjRungeKutta()
If (this.instanceOf("PjRungeKutta")) it calls init-method.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent event)
Starts a new thread that calculates the LIC texture.
|
void |
calculateRepresentations()
Calculates the representations of vectors at every vertex star.
|
void |
computeIntegralCurve(int elemInd,
PdBary bary,
double length,
int discr)
Computes the integral curve with initial values internally given.
|
void |
computeRandomVectorField()
Calculates (pseudo) random vector field.
|
java.lang.String |
getFileName()
Get current file name.
|
double |
getTime()
Return running time of latest Lic calculation in milliseconds.
|
void |
init()
Initialize and reset project, stops the running animation if any.
|
boolean |
isEnabledFast()
Sets integration method to euler-mode or 4th-order Runge-Kutta mode.
|
boolean |
isRunning()
Check if lic computation is currently running.
|
boolean |
load()
Loads geometry via PjImportModel and then calls load().
|
void |
pickInitial(PvPickEvent pos)
Initiates calculation of an integral line that starts at picked position.
|
void |
run()
Gets an appropriate Runge-Kutta class and initiates LIC calculation
element by element.
|
void |
setEnabledFast(boolean flag)
Sets integration method to Euler-mode or 4th-order Runge-Kutta mode.
|
void |
setFileName(java.lang.String fullFileName)
Sets filename from outside of this project.
|
boolean |
setGeometry(PgElementSet geom)
Sets the geometry loaded from PjImportModel and then
triangulates, updates the number of elements,
gets a vector field and fits that all in the display.
|
void |
setMethod(int method)
Set integration method used in calculateRepresentations.
|
void |
start()
Start project with loading geometry from file.
|
void |
startLIC()
Start computation of lic image.
|
void |
stopLIC()
Stop computation of lic image.
|
boolean |
update(java.lang.Object event)
Perform update handling when dependent objects change.
|
addDisplay, addGeometry, addGeometry, dispose, dragDisplay, dragInitial, dragVertex, fitDisplays, getAnimation, getDisplay, getDisplays, getGeometry, getGeometry, getNumGeometries, getParameter, getViewer, hasAnimation, hasDisplay, isEnabledAutoFit, markVertices, pickDisplay, pickVertex, removeDisplay, removeGeometries, removeGeometry, selectDisplay, selectGeometry, setAnimation, setBackColor, setBorderType, setDisplay, setEnabledAutoFit, setGeometry, setParameter, setTime, setViewer, stop, unmarkVertices
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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getName
getName
public static final int PROJECTION
public static final int GEODESIC
public static final int GEODESIC2
public static final int GEODESIC3
public PjRungeKutta()
public void init()
PjProject
public void start()
start
in class PjProject
PvViewerIf.start()
,
PjProject.isEnabledAutoFit()
public boolean update(java.lang.Object event)
update
in interface PsUpdateIf
update
in class PsObject
event
- carries a lot of informationPsObject.setParent(PsUpdateIf)
,
PsObject.getFather()
,
PsObject.addUpdateListener(PsUpdateIf)
public java.lang.String getFileName()
public void setFileName(java.lang.String fullFileName)
fullFileName
- fully specified file name including code base, or URL.load()
public void actionPerformed(java.awt.event.ActionEvent event)
actionPerformed
in interface java.awt.event.ActionListener
run()
public boolean load()
setGeometry(PgElementSet)
public boolean setGeometry(PgElementSet geom)
Lic computation must be stopped before loading a new geometry.
public void setMethod(int method)
PROJECTION
,
GEODESIC
,
GEODESIC2
,
GEODESIC3
public void pickInitial(PvPickEvent pos)
pickInitial
in interface PvPickListenerIf
pickInitial
in class PjProject
pos
- Pick event issued by the displaycomputeIntegralCurve(int, jv.vecmath.PdBary, double, int)
public boolean isEnabledFast()
public void setEnabledFast(boolean flag)
flag
- true: Euler; false: 4th-order Runge-Kuttapublic double getTime()
public boolean isRunning()
public void startLIC()
public void stopLIC()
public void run()
run
in interface java.lang.Runnable
PnLIC
,
PnVertexRK
,
PnTranslationRK
public void computeRandomVectorField()
public void calculateRepresentations()
PnTranslationRK
,
PwBary.getGeodRepresentation(jv.geom.PgElementSet, int, jv.vecmath.PdBaryDir, int, jv.vecmath.PiVector, jv.vecmath.PiVector)
,
PwBary.getTransRepresentation(jv.geom.PgElementSet, int, jv.vecmath.PdBaryDir, int, jv.vecmath.PiVector, jv.vecmath.PiVector)
,
PwBary.getProjRepresentation(jv.geom.PgElementSet, int, jv.vecmath.PdBaryDir, int, jv.vecmath.PiVector, jv.vecmath.PiVector)
public void computeIntegralCurve(int elemInd, PdBary bary, double length, int discr)
"