37 class NodeImpl :
public std::enable_shared_from_this<NodeImpl>
41 void checkImageFileOpen(
const char *srcFileName,
int srcLineNumber,
const char *srcFunctionName )
const;
63 void checkBuffers(
const std::vector<SourceDestBuffer> &sdbufs,
bool allowMissing );
67 const char *forcedFieldName =
nullptr ) = 0;
72 virtual void dump(
int indent = 0, std::ostream &os = std::cout )
const;
76 bool _verifyPathNameAbsolute(
const ustring &inPathName );
std::vector< PCLPointField > fields
ustring imageFileName() const
ImageFileImplWeakPtr destImageFile_
virtual ~NodeImpl()=default
virtual NodeImplSharedPtr lookup(const ustring &)
ImageFileImplSharedPtr destImageFile()
virtual NodeType type() const =0
NodeImpl(ImageFileImplWeakPtr destImageFile)
ustring relativePathName(const NodeImplSharedPtr &origin, ustring childPathName=ustring()) const
bool findTerminalPosition(const NodeImplSharedPtr &target, uint64_t &countFromLeft)
void checkBuffers(const std::vector< SourceDestBuffer > &sdbufs, bool allowMissing)
virtual void setAttachedRecursive()
virtual void set(const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false)
void checkImageFileOpen(const char *srcFileName, int srcLineNumber, const char *srcFunctionName) const
NodeImplSharedPtr getRoot()
virtual bool isDefined(const ustring &pathName)=0
ustring elementName() const
NodeImpl & operator=(NodeImpl &n)
virtual void checkLeavesInSet(const StringSet &pathNames, NodeImplSharedPtr origin)=0
NodeImplSharedPtr parent()
virtual NodeImplSharedPtr get(const ustring &pathName)
virtual bool isTypeEquivalent(NodeImplSharedPtr ni)=0
void setParent(NodeImplSharedPtr parent, const ustring &elementName)
virtual void dump(int indent=0, std::ostream &os=std::cout) const
virtual void writeXml(ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr)=0
std::shared_ptr< class NodeImpl > NodeImplSharedPtr
std::weak_ptr< class ImageFileImpl > ImageFileImplWeakPtr
std::shared_ptr< class ImageFileImpl > ImageFileImplSharedPtr
std::weak_ptr< class NodeImpl > NodeImplWeakPtr
std::string ustring
UTF-8 encodeded Unicode string.
std::set< std::string > StringSet
NodeType
Identifiers for types of E57 elements.
std::vector< std::string > StringList