ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
e57::VectorNodeImpl Class Reference

#include <VectorNodeImpl.h>

Inheritance diagram for e57::VectorNodeImpl:
Collaboration diagram for e57::VectorNodeImpl:

Public Member Functions

 VectorNodeImpl (ImageFileImplWeakPtr destImageFile, bool allowHeteroChildren)
 
 ~VectorNodeImpl () override=default
 
NodeType type () const override
 
bool isTypeEquivalent (NodeImplSharedPtr ni) override
 
bool allowHeteroChildren () const
 
void set (int64_t index, NodeImplSharedPtr ni) override
 
void writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr) override
 
void dump (int indent=0, std::ostream &os=std::cout) const override
 
- Public Member Functions inherited from e57::StructureNodeImpl
 StructureNodeImpl (ImageFileImplWeakPtr destImageFile)
 
 ~StructureNodeImpl () override=default
 
bool isDefined (const ustring &pathName) override
 
void setAttachedRecursive () override
 
virtual int64_t childCount () const
 
virtual NodeImplSharedPtr get (int64_t index)
 
NodeImplSharedPtr get (const ustring &pathName) override
 
void set (const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false) override
 
void set (const StringList &fields, unsigned level, NodeImplSharedPtr ni, bool autoPathCreate=false) override
 
virtual void append (NodeImplSharedPtr ni)
 
void checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin) override
 
- Public Member Functions inherited from e57::NodeImpl
void checkImageFileOpen (const char *srcFileName, int srcLineNumber, const char *srcFunctionName) const
 
bool isRoot () const
 
NodeImplSharedPtr parent ()
 
ustring pathName () const
 
ustring relativePathName (const NodeImplSharedPtr &origin, ustring childPathName=ustring()) const
 
ustring elementName () const
 
ImageFileImplSharedPtr destImageFile ()
 
ustring imageFileName () const
 
bool isAttached () const
 
void setParent (NodeImplSharedPtr parent, const ustring &elementName)
 
bool isTypeConstrained ()
 
void checkBuffers (const std::vector< SourceDestBuffer > &sdbufs, bool allowMissing)
 
bool findTerminalPosition (const NodeImplSharedPtr &target, uint64_t &countFromLeft)
 
virtual ~NodeImpl ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from e57::StructureNodeImpl
NodeImplSharedPtr lookup (const ustring &pathName) override
 
- Protected Member Functions inherited from e57::NodeImpl
 NodeImpl (ImageFileImplWeakPtr destImageFile)
 
NodeImploperator= (NodeImpl &n)
 
NodeImplSharedPtr getRoot ()
 
- Protected Attributes inherited from e57::StructureNodeImpl
std::vector< NodeImplSharedPtrchildren_
 
- Protected Attributes inherited from e57::NodeImpl
ImageFileImplWeakPtr destImageFile_
 
NodeImplWeakPtr parent_
 
ustring elementName_
 
bool isAttached_
 

Detailed Description

Definition at line 33 of file VectorNodeImpl.h.

Constructor & Destructor Documentation

◆ VectorNodeImpl()

e57::VectorNodeImpl::VectorNodeImpl ( ImageFileImplWeakPtr  destImageFile,
bool  allowHeteroChildren 
)
explicit

don't checkImageFileOpen, StructNodeImpl() will do it

Definition at line 33 of file VectorNodeImpl.cpp.

◆ ~VectorNodeImpl()

e57::VectorNodeImpl::~VectorNodeImpl ( )
overridedefault

Member Function Documentation

◆ allowHeteroChildren()

bool e57::VectorNodeImpl::allowHeteroChildren ( ) const

Definition at line 76 of file VectorNodeImpl.cpp.

References e57::NodeImpl::checkImageFileOpen().

Referenced by dump().

◆ dump()

void e57::VectorNodeImpl::dump ( int  indent = 0,
std::ostream &  os = std::cout 
) const
overridevirtual

don't checkImageFileOpen

Reimplemented from e57::StructureNodeImpl.

Definition at line 125 of file VectorNodeImpl.cpp.

References allowHeteroChildren(), e57::StructureNodeImpl::children_, e57::NodeImpl::dump(), QtCompat::endl(), e57::space(), and type().

◆ isTypeEquivalent()

bool e57::VectorNodeImpl::isTypeEquivalent ( NodeImplSharedPtr  ni)
overridevirtual

don't checkImageFileOpen

Same node type?

allowHeteroChildren must match

Same number of children?

Check each child, must be in same order

Types match

Reimplemented from e57::StructureNodeImpl.

Definition at line 39 of file VectorNodeImpl.cpp.

References e57::StructureNodeImpl::childCount(), e57::StructureNodeImpl::children_, and e57::E57_VECTOR.

◆ set()

void e57::VectorNodeImpl::set ( int64_t  index,
NodeImplSharedPtr  ni 
)
overridevirtual

New node type must match all existing children

??? for now, use base implementation

Reimplemented from e57::StructureNodeImpl.

Definition at line 82 of file VectorNodeImpl.cpp.

References e57::NodeImpl::checkImageFileOpen(), e57::StructureNodeImpl::children_, e57::E57_ERROR_HOMOGENEOUS_VIOLATION, E57_EXCEPTION2, e57::NodeImpl::pathName(), and e57::StructureNodeImpl::set().

◆ type()

NodeType e57::VectorNodeImpl::type ( ) const
inlineoverridevirtual

Reimplemented from e57::StructureNodeImpl.

Definition at line 39 of file VectorNodeImpl.h.

References e57::E57_VECTOR.

Referenced by dump().

◆ writeXml()

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

don't checkImageFileOpen

Reimplemented from e57::StructureNodeImpl.

Definition at line 101 of file VectorNodeImpl.cpp.

References e57::StructureNodeImpl::children_, e57::NodeImpl::elementName_, and e57::space().


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