e57::FloatNodeImpl Class Reference

#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)
NodeImploperator= (NodeImpl &n)
- Protected Attributes inherited from e57::NodeImpl
ImageFileImplWeakPtr destImageFile_
ustring elementName_
bool isAttached_
NodeImplWeakPtr parent_

Constructor & Destructor Documentation

◆ FloatNodeImpl()

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().

◆ ~FloatNodeImpl()

e57::FloatNodeImpl::~FloatNodeImpl ( )

Member Function Documentation

◆ checkLeavesInSet()

void e57::FloatNodeImpl::checkLeavesInSet ( const StringSet pathNames,
NodeImplSharedPtr  origin 

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().

◆ isDefined()

bool e57::FloatNodeImpl::isDefined ( const ustring pathName)

We have no sub-structure, so if path not empty return false

Implements e57::NodeImpl.

References e57::NodeImpl::pathName().

◆ isTypeEquivalent()

bool e57::FloatNodeImpl::isTypeEquivalent ( NodeImplSharedPtr  ni)

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.

◆ maximum()

double e57::FloatNodeImpl::maximum ( void  ) const

◆ minimum()

double e57::FloatNodeImpl::minimum ( void  ) const

◆ precision()

◆ type()

NodeType e57::FloatNodeImpl::type ( ) const

◆ value()

◆ writeXml()

void e57::FloatNodeImpl::writeXml ( ImageFileImplSharedPtr  imf,
CheckedFile cf,
int  indent,
const char *  forcedFieldName = nullptr 

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().

The documentation for this class was generated from the following files: