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

Member Function Documentation

◆ checkLeavesInSet()

void e57::FloatNodeImpl::checkLeavesInSet ( const StringSet pathNames,
NodeImplSharedPtr  origin 
)
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().

◆ isDefined()

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

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

◆ maximum()

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

◆ minimum()

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

◆ precision()

◆ type()

NodeType e57::FloatNodeImpl::type ( ) const
overridevirtual

◆ value()

◆ writeXml()

void e57::FloatNodeImpl::writeXml ( ImageFileImplSharedPtr  imf,
CheckedFile cf,
int  indent,
const char *  forcedFieldName = nullptr 
)
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().


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