public class PnAlignmentEnergy extends PnEnergy
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 |
---|
PnAlignmentEnergy() |
Modifier and Type | Method and Description |
---|---|
double |
eval(PdVector coord)
Compute edge energy of a coord vector.
|
PdVector |
evalGradient(PdVector coord,
PdVector gradient)
Evaluate gradient of a coord vector using the stiffness matrix.
|
void |
init()
If instance has missing name then assign default name 'Object_NUMBER' where
number is the total number of already created instances.
|
void |
initJc(PdVector coord)
Recalculate an array containing all rotated edge vectors.
|
void |
initSurface(PgElementSet domain,
PgElementSet surface)
Method called from energyMinimizer.minimizeStep() to update the stiffness matrix
after conjugate gradient method has returned.
|
boolean |
setSurface(PgElementSet domain,
PgElementSet surface)
Set domain and surface, and initialize energy structure.
|
computeNormalizedHessian, evalHessian, getConstrain, getNumOfVariables, getSpectrum, getZeroGradientAtBounds, isEnabledConstrainMatrix, isUseConstrainMatrix, setConstrain, setEnabledConstrainMatrix, setUseConstrainMatrix, setZeroGradientAtBounds, testEigenvalues
enableEvaluation, isEvaluable
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, update, updatePanels
public void init()
PsObject
public void initSurface(PgElementSet domain, PgElementSet surface)
initSurface
in class PnEnergy
public void initJc(PdVector coord)
public boolean setSurface(PgElementSet domain, PgElementSet surface)
setSurface
in class PnEnergy
domain
- additional geometry used to specify mapssurface
- geometry which is usually optimizedpublic double eval(PdVector coord)
public PdVector evalGradient(PdVector coord, PdVector gradient)
null
may be passed. In this case the gradient information is
store in an internal variable which is returned as gradient. Handle with care and do not
modify size returned gradient.
If no special boundary constraints are set, then you may use setZeroGradientAtBounds(boolean)
to set the gradient zero at the boundary (or free again).
evalGradient
in class PnEnergy
coord
- Coordinate vector with list of doublesgradient
- Gradient vector to be modified, maybe null
.PnAreaEnergy
"