|
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.surface.PgDomainDescr
|
+--vgp.surface.common.PgSurfaceDescr
Describes a parametrized function including higher derivatives and fundamental forms.
Subclasses should override methods with prefix calc_. If derivatives are
not overridden, this superclass approximates derivatives using finite differences.
External classes must call the public methods, and not the calc_ methods, since
the public classes are optimized using buffers with previously computed values.
A function object should be create somewhere else and set via setFunction().
For example, a subclass may do the task. If there exists a function object, and a user
has modified this function object in the info panel, then the descriptor no longer
uses the smooth derivatives but approximates derivatives using the finite difference
methods.
eval(PdVector, double, double), Serialized Form| Field Summary | |
protected boolean |
m_bUseFunctionExpression
Flag whether user has modified function object, so that smooth derivatives are no longer usable. |
protected vgp.surface.common.PdMatrVecUVBuff |
m_christoffel
|
protected vgp.surface.common.PdVectorUVBuff |
m_ddf_dUdU
|
protected vgp.surface.common.PdVectorUVBuff |
m_ddf_dUdV
|
protected vgp.surface.common.PdVectorUVBuff |
m_ddf_dVdV
|
protected vgp.surface.common.PdMatrixUVBuff |
m_df
|
protected vgp.surface.common.PdVectorUVBuff |
m_df_dU
Different other buffers to reduce recomputations. |
protected vgp.surface.common.PdVectorUVBuff |
m_df_dV
|
protected vgp.surface.common.PdMatrixUVBuff |
m_dN
|
protected vgp.surface.common.PdVectorUVBuff |
m_dN_dU
|
protected vgp.surface.common.PdVectorUVBuff |
m_dN_dV
|
protected vgp.surface.common.PdVectorUVBuff |
m_f
Buffer for function value. |
protected vgp.surface.common.PdMatrixUVBuff |
m_firstFundamental
|
protected PuFunction |
m_function
Function object consisting of functions as strings. |
protected vgp.surface.common.PdVectorUVBuff |
m_normal
|
protected int |
m_numFunctions
Dimension of image space. |
protected int |
m_numVariables
Dimension of domain space. |
protected java.util.Vector |
m_parm
Function parameters stored in vector as PuDouble and PuInteger objects. |
protected vgp.surface.common.PdMatrixUVBuff |
m_secondFundamental
|
protected vgp.surface.common.PdMatrixUVBuff |
m_weingarten
|
protected static java.lang.String[] |
SCENES
|
protected static java.lang.String[] |
SURFACES
|
| Fields inherited from class jvx.surface.PgDomainDescr |
m_bMaxSizeEnabled, m_bShowULine, m_bShowVLine, m_dimOfVertices, m_numULines, m_numVLines, m_stripSize, m_uMax, m_uMin, m_vMax, m_vMin |
| 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 | |
PgSurfaceDescr()
|
|
| Method Summary | |
void |
addParameter(PsObject parm)
Store function parameters in vector as PuDouble and PuInteger objects. |
protected PdMatrix[] |
calc_christoffel(double u,
double v)
|
protected PdVector |
calc_ddf_dUdU(double u,
double v)
|
protected PdVector |
calc_ddf_dUdV(double u,
double v)
|
protected PdVector |
calc_ddf_dVdV(double u,
double v)
|
protected PdVector |
calc_df_dU(double u,
double v)
These default functions compute the differential by difference quotients and should be overridden when explicit derivatives are known. |
protected PdVector |
calc_df_dV(double u,
double v)
|
protected PdMatrix |
calc_df(double u,
double v)
|
protected PdVector |
calc_dN_dU(double u,
double v)
|
protected PdVector |
calc_dN_dV(double u,
double v)
|
protected PdMatrix |
calc_dN(double u,
double v)
|
boolean |
calc_f(PdVector f,
double u,
double v)
Internal function called by eval(..) to compute function value. |
protected PdMatrix |
calc_firstFundamental(double u,
double v)
|
protected PdVector |
calc_normal(double u,
double v)
|
protected PdMatrix |
calc_secondFundamental(double u,
double v)
|
protected PdMatrix |
calc_weingarten(double u,
double v)
|
PdMatrix[] |
christoffel(double u,
double v)
|
PdVector |
ddf_dUdU(double u,
double v)
|
PdVector |
ddf_dUdV(double u,
double v)
|
PdVector |
ddf_dVdV(double u,
double v)
|
PdVector |
df_dU(double u,
double v)
buffered versions, used by all other classes, should not be overwritten |
PdVector |
df_dV(double u,
double v)
|
PdMatrix |
df(double u,
double v)
|
PdVector |
dN_dU(double u,
double v)
|
PdVector |
dN_dV(double u,
double v)
|
PdMatrix |
dN(double u,
double v)
|
PdVector |
eval(PdVector f,
double u,
double v)
Buffered version of calc_f, should not be overridden. |
PdMatrix |
firstFundamental(double u,
double v)
|
PsPanel |
getDomainPanel()
Create the info panel of superclass PgDomainDescr which has less gui components. |
PuFunction |
getFunction()
Get function object, e.g. to modify function strings. |
static java.lang.String[] |
getListOfScenes()
Get list of existing scenes. |
static java.lang.String[] |
getListOfSurfaces()
Get list of existing surface descriptors. |
PsObject |
getParameter(java.lang.String parmLabel)
Return stored function parameters as PuDouble or PuInteger objects. |
java.util.Enumeration |
getParameters()
Return stored function parameters as PuDouble or PuInteger objects. |
void |
init()
Initialize and reset data structure and all instance variables. |
boolean |
isUPeriodic()
|
boolean |
isVPeriodic()
|
PdVector |
normal(double u,
double v)
|
PdMatrix |
secondFundamental(double u,
double v)
|
boolean |
setFunction(PuFunction fun)
Set function object, which has been setup somewhere else. |
boolean |
update(java.lang.Object event)
Catch events from function strings. |
boolean |
useFunctionExpression()
Check whether function string has been modified by user. |
void |
useFunctionExpression(boolean flag)
Set flag whether function string has been modified by user. |
PdMatrix |
weingarten(double u,
double v)
|
| Methods inherited from class jvx.surface.PgDomainDescr |
eval, getNumULines, getNumVLines, getUMax, getUMin, getVMax, getVMin, isShowingULine, isShowingVLine, setDiscr, setDiscrBounds, setMaxSize, setNumULines, setNumVLines, setSize, setUMax, setUMin, setVMax, setVMin, showULine, showVLine |
| Methods inherited from class jv.object.PsObject |
addInspector, addUpdateListener, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, toString, updatePanels |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected static java.lang.String[] SURFACES
protected static java.lang.String[] SCENES
protected java.util.Vector m_parm
getParameter(String) to return parameter objects.getParameter(String)protected int m_numVariables
protected int m_numFunctions
protected PuFunction m_function
protected boolean m_bUseFunctionExpression
true finite difference methods
will be used to compute all derivatives.
Flag is set false if user has not overridden the eval()
function method.protected vgp.surface.common.PdVectorUVBuff m_f
protected vgp.surface.common.PdVectorUVBuff m_df_dU
protected vgp.surface.common.PdVectorUVBuff m_df_dV
protected vgp.surface.common.PdMatrixUVBuff m_df
protected vgp.surface.common.PdVectorUVBuff m_ddf_dUdU
protected vgp.surface.common.PdVectorUVBuff m_ddf_dUdV
protected vgp.surface.common.PdVectorUVBuff m_ddf_dVdV
protected vgp.surface.common.PdMatrixUVBuff m_firstFundamental
protected vgp.surface.common.PdMatrixUVBuff m_secondFundamental
protected vgp.surface.common.PdMatrixUVBuff m_weingarten
protected vgp.surface.common.PdMatrVecUVBuff m_christoffel
protected vgp.surface.common.PdVectorUVBuff m_normal
protected vgp.surface.common.PdVectorUVBuff m_dN_dU
protected vgp.surface.common.PdVectorUVBuff m_dN_dV
protected vgp.surface.common.PdMatrixUVBuff m_dN
| Constructor Detail |
public PgSurfaceDescr()
| Method Detail |
public void init()
PgDomainDescrinit in class PgDomainDescrpublic static java.lang.String[] getListOfSurfaces()
public static java.lang.String[] getListOfScenes()
public PuFunction getFunction()
public boolean setFunction(PuFunction fun)
public boolean useFunctionExpression()
public void useFunctionExpression(boolean flag)
public PsPanel getDomainPanel()
public boolean isUPeriodic()
public boolean isVPeriodic()
public boolean update(java.lang.Object event)
update in class PgDomainDescrjv.object.PsObjectPsObject.setParent(PsUpdateIf),
PsObject.getFather(),
PsObject.addUpdateListener(PsUpdateIf)public void addParameter(PsObject parm)
getParameter(String) to return parameter objects.getParameter(String)public PsObject getParameter(java.lang.String parmLabel)
addParameter(PsObject) to store function parameter.addParameter(PsObject)public java.util.Enumeration getParameters()
addParameter(PsObject) to store function parameter.addParameter(PsObject)
public boolean calc_f(PdVector f,
double u,
double v)
m_bUseFunctionExpression==false then we use this indicator that
function has not been overridden and use the string functions.
This function should be overwritten by subclasses to compute surfaces.
HACK: Access lowered to public since other javadoc comments refer to class.
f - vector where to place the function values.true if function has been overridden and evaluated successfully.eval(PdVector, double, double)
protected PdVector calc_df_dU(double u,
double v)
protected PdVector calc_df_dV(double u,
double v)
protected PdMatrix calc_df(double u,
double v)
protected PdVector calc_ddf_dUdU(double u,
double v)
protected PdVector calc_ddf_dUdV(double u,
double v)
protected PdVector calc_ddf_dVdV(double u,
double v)
protected PdMatrix calc_firstFundamental(double u,
double v)
protected PdMatrix[] calc_christoffel(double u,
double v)
protected PdVector calc_normal(double u,
double v)
protected PdVector calc_dN_dU(double u,
double v)
protected PdVector calc_dN_dV(double u,
double v)
protected PdMatrix calc_dN(double u,
double v)
protected PdMatrix calc_secondFundamental(double u,
double v)
protected PdMatrix calc_weingarten(double u,
double v)
public PdVector eval(PdVector f,
double u,
double v)
public PdVector df_dU(double u,
double v)
public PdVector df_dV(double u,
double v)
public PdMatrix df(double u,
double v)
public PdVector ddf_dUdU(double u,
double v)
public PdVector ddf_dUdV(double u,
double v)
public PdVector ddf_dVdV(double u,
double v)
public PdVector normal(double u,
double v)
public PdVector dN_dU(double u,
double v)
public PdVector dN_dV(double u,
double v)
public PdMatrix dN(double u,
double v)
public PdMatrix firstFundamental(double u,
double v)
public PdMatrix secondFundamental(double u,
double v)
public PdMatrix weingarten(double u,
double v)
public PdMatrix[] christoffel(double u,
double v)
|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||