public abstract class MaterialBase extends java.lang.Object implements CompositeProperty, PostScannable, ScalableUnits, Clonable, HasMaterialState
| Modifier and Type | Field and Description |
|---|---|
static PropertyList |
myProps |
| Constructor and Description |
|---|
MaterialBase() |
| Modifier and Type | Method and Description |
|---|---|
void |
advanceState(MaterialStateObject state,
double t0,
double t1) |
MaterialBase |
clone()
Returns a clone of this composite property.
|
MaterialStateObject |
createStateObject() |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
Property |
getProperty(java.lang.String name)
Returns a property associated with a specified path name.
|
HasProperties |
getPropertyHost()
Returns the host for this property
|
PropertyInfo |
getPropertyInfo()
If this object is a property, returns the corresponding information
|
boolean |
hasProperty(java.lang.String name) |
boolean |
hasState() |
boolean |
hasSymmetricTangent()
Returns true if the tangent matrix for this material is symmetric.
|
boolean |
isWritable()
Returns
true if this component should in fact be written to
secondary storage. |
void |
postscan(java.util.Deque<ScanToken> tokens,
CompositeComponent ancestor)
Performs any required post-scanning for this component.
|
void |
scaleDistance(double s)
Scales all distance coordinates.
|
void |
scaleMass(double s)
Scales all mass units.
|
void |
scan(ReaderTokenizer rtok,
java.lang.Object ref)
Scans this element from a ReaderTokenizer.
|
void |
setPropertyHost(HasProperties newParent)
Sets the host for this property.
|
void |
setPropertyInfo(PropertyInfo info)
Sets the property information for this property.
|
static MaterialChangeEvent |
symmetryOrStateChanged(java.lang.String name,
MaterialBase mat1,
MaterialBase mat2) |
static <T extends MaterialBase> |
updateMaterial(HasProperties comp,
java.lang.String matName,
MaterialBase oldMat,
T newMat) |
void |
write(java.io.PrintWriter pw,
NumberFormat fmt,
java.lang.Object ref)
Writes a text description of this element to a PrintWriter.
|
void |
writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor) |
public static PropertyList myProps
public PropertyInfo getPropertyInfo()
CompositePropertygetPropertyInfo in interface CompositePropertypublic void setPropertyInfo(PropertyInfo info)
CompositePropertysetPropertyInfo in interface CompositePropertyinfo - property informationpublic HasProperties getPropertyHost()
CompositePropertygetPropertyHost in interface CompositePropertypublic void setPropertyHost(HasProperties newParent)
CompositePropertysetPropertyHost in interface CompositePropertynewParent - host for this propertypublic Property getProperty(java.lang.String name)
HasProperties.' characters. A sub-property
exists if the value of a property is itself an object which exports
properties. It is only possible to obtain a sub-property handle if each of
its ancestor properties exports their values by reference.getProperty in interface HasPropertiesname - name of the desired property or sub-propertypublic boolean hasProperty(java.lang.String name)
public PropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiespublic MaterialBase clone()
CompositePropertyclone in interface CompositePropertyclone in interface Clonableclone in class java.lang.Objectpublic boolean isWritable()
Scannabletrue if this component should in fact be written to
secondary storage. This gives subclasses control over whether or
not they are actually written out.isWritable in interface Scannabletrue if this component should be written to
secondary storage.public void writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor)
throws java.io.IOException
java.io.IOExceptionpublic void write(java.io.PrintWriter pw,
NumberFormat fmt,
java.lang.Object ref)
throws java.io.IOException
Scannablescan and complete
enough to allow full reconstruction of the element.public void scan(ReaderTokenizer rtok, java.lang.Object ref) throws java.io.IOException
Scannablewrite.public void postscan(java.util.Deque<ScanToken> tokens, CompositeComponent ancestor) throws java.io.IOException
PostScannablescan() method and stored in the token queue.
The most common use of this method is to resolve the paths
of component references, which may not have been created
at the time of the initial scan() call.postscan in interface PostScannabletokens - token information that was stored during
scan().ancestor - ancestor component with respect to which
reference component paths are defined.java.io.IOException - if an error is encountered (such as a reference to a
non-existent component)public static <T extends MaterialBase> T updateMaterial(HasProperties comp, java.lang.String matName, MaterialBase oldMat, T newMat)
public boolean hasSymmetricTangent()
public void scaleDistance(double s)
ScalableUnitsscaleDistance in interface ScalableUnitss - scaling factorpublic void scaleMass(double s)
ScalableUnitsscaleMass in interface ScalableUnitss - scaling factorpublic static MaterialChangeEvent symmetryOrStateChanged(java.lang.String name, MaterialBase mat1, MaterialBase mat2)
public boolean hasState()
hasState in interface HasMaterialStatepublic MaterialStateObject createStateObject()
createStateObject in interface HasMaterialStatepublic void advanceState(MaterialStateObject state, double t0, double t1)
advanceState in interface HasMaterialState