#include <FloatNodeImpl.h>
Public Member Functions | |
void | checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin) override |
FloatNodeImpl (ImageFileImplWeakPtr destImageFile, double value=0, FloatPrecision precision=E57_DOUBLE, double minimum=E57_DOUBLE_MIN, double maximum=E57_DOUBLE_MAX) | |
bool | isDefined (const ustring &pathName) override |
bool | isTypeEquivalent (NodeImplSharedPtr ni) override |
double | maximum () const |
double | minimum () const |
FloatPrecision | precision () const |
NodeType | type () const override |
double | value () const |
void | writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr) override |
~FloatNodeImpl () override=default | |
Public Member Functions inherited from e57::NodeImpl | |
void | checkBuffers (const std::vector< SourceDestBuffer > &sdbufs, bool allowMissing) |
void | checkImageFileOpen (const char *srcFileName, int srcLineNumber, const char *srcFunctionName) const |
virtual void | checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin)=0 |
ImageFileImplSharedPtr | destImageFile () |
ustring | elementName () const |
bool | findTerminalPosition (const NodeImplSharedPtr &target, uint64_t &countFromLeft) |
virtual NodeImplSharedPtr | get (const ustring &pathName) |
ustring | imageFileName () const |
bool | isAttached () const |
virtual bool | isDefined (const ustring &pathName)=0 |
bool | isRoot () const |
bool | isTypeConstrained () |
virtual bool | isTypeEquivalent (NodeImplSharedPtr ni)=0 |
NodeImplSharedPtr | parent () |
ustring | pathName () const |
ustring | relativePathName (const NodeImplSharedPtr &origin, ustring childPathName=ustring()) const |
virtual void | set (const StringList &fields, unsigned level, NodeImplSharedPtr ni, bool autoPathCreate=false) |
virtual void | set (const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false) |
virtual void | setAttachedRecursive () |
void | setParent (NodeImplSharedPtr parent, const ustring &elementName) |
virtual NodeType | type () const =0 |
virtual void | writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr)=0 |
virtual | ~NodeImpl ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from e57::NodeImpl | |
NodeImplSharedPtr | getRoot () |
virtual NodeImplSharedPtr | lookup (const ustring &) |
NodeImpl (ImageFileImplWeakPtr destImageFile) | |
NodeImpl & | operator= (NodeImpl &n) |
Protected Attributes inherited from e57::NodeImpl | |
ImageFileImplWeakPtr | destImageFile_ |
ustring | elementName_ |
bool | isAttached_ |
NodeImplWeakPtr | parent_ |
e57::FloatNodeImpl::FloatNodeImpl | ( | ImageFileImplWeakPtr | destImageFile, |
double | value = 0 , |
||
FloatPrecision | precision = E57_DOUBLE , |
||
double | minimum = E57_DOUBLE_MIN , |
||
double | maximum = E57_DOUBLE_MAX |
||
) |
Since this ctor also used to construct single precision, and defaults for minimum/maximum are for double precision, adjust bounds smaller if single.
Enforce the given bounds on raw value
References e57::E57_ERROR_VALUE_OUT_OF_BOUNDS, e57::E57_SINGLE, maximum(), minimum(), e57::NodeImpl::pathName(), and e57::toString().
|
overridedefault |
|
overridevirtual |
We are a leaf node, so verify that we are listed in set (either relative or absolute form)
Implements e57::NodeImpl.
References e57::E57_ERROR_NO_BUFFER_FOR_ELEMENT, e57::NodeImpl::pathName(), and e57::NodeImpl::relativePathName().
We have no sub-structure, so if path not empty return false
Implements e57::NodeImpl.
References e57::NodeImpl::pathName().
|
overridevirtual |
Same node type?
Downcast to shared_ptr<FloatNodeImpl>
precision must match
minimum must match
maximum must match
ignore value_, doesn't have to match
Types match
Implements e57::NodeImpl.
References e57::E57_FLOAT.
double e57::FloatNodeImpl::maximum | ( | void | ) | const |
References e57::NodeImpl::checkImageFileOpen().
Referenced by FloatNodeImpl().
double e57::FloatNodeImpl::minimum | ( | void | ) | const |
References e57::NodeImpl::checkImageFileOpen().
Referenced by FloatNodeImpl().
FloatPrecision e57::FloatNodeImpl::precision | ( | ) | const |
|
overridevirtual |
Implements e57::NodeImpl.
References e57::E57_FLOAT.
Referenced by ArchProfile.ProfileTaskPanel::accept(), and ArchProfile.ProfileTaskPanel::retranslateUi().
double e57::FloatNodeImpl::value | ( | ) | const |
References e57::NodeImpl::checkImageFileOpen().
Referenced by PathScripts.PathProperty.Property::displayString(), PathScripts.PathProperty.PropertyQuantity::displayString(), PathScripts.PathSetupSheetOpPrototype.Property::displayString(), PathScripts.PathSetupSheetOpPrototype.PropertyQuantity::displayString(), Mod.PartDesign.WizardShaft.SegmentFunction.SegmentFunction::evaluate(), PathScripts.PathProperty.Property::getValue(), PathScripts.PathSetupSheetOpPrototype.Property::getValue(), Mod.PartDesign.WizardShaft.SegmentFunction.IntervalFunction::lowervalue(), PathScripts.PathProperty.Property::setValue(), and PathScripts.PathSetupSheetOpPrototype.Property::setValue().
|
overridevirtual |
Don't need to write if are default values
Write value as child text, unless it is the default value
Don't need to write precision="double", because that's the default
Don't need to write if are default values
Write value as child text, unless it is the default value
Implements e57::NodeImpl.
References e57::E57_SINGLE, e57::NodeImpl::elementName_, and e57::space().