![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <BlobNodeImpl.h>


Public Member Functions | |
| BlobNodeImpl (ImageFileImplWeakPtr destImageFile, int64_t byteCount) | |
| BlobNodeImpl (ImageFileImplWeakPtr destImageFile, int64_t fileOffset, int64_t length) | |
| ~BlobNodeImpl () override=default | |
| NodeType | type () const override |
| bool | isTypeEquivalent (NodeImplSharedPtr ni) override |
| bool | isDefined (const ustring &pathName) override |
| int64_t | byteCount () |
| void | read (uint8_t *buf, int64_t start, size_t count) |
| void | write (uint8_t *buf, int64_t start, size_t count) |
| void | checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin) 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::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 |
| virtual void | setAttachedRecursive () |
| void | setParent (NodeImplSharedPtr parent, const ustring &elementName) |
| bool | isTypeConstrained () |
| virtual NodeImplSharedPtr | get (const ustring &pathName) |
| virtual void | set (const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false) |
| virtual void | set (const StringList &fields, unsigned level, NodeImplSharedPtr ni, bool autoPathCreate=false) |
| 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::NodeImpl | |
| NodeImpl (ImageFileImplWeakPtr destImageFile) | |
| NodeImpl & | operator= (NodeImpl &n) |
| virtual NodeImplSharedPtr | lookup (const ustring &) |
| NodeImplSharedPtr | getRoot () |
Protected Attributes inherited from e57::NodeImpl | |
| ImageFileImplWeakPtr | destImageFile_ |
| NodeImplWeakPtr | parent_ |
| ustring | elementName_ |
| bool | isAttached_ |
Definition at line 33 of file BlobNodeImpl.h.
| e57::BlobNodeImpl::BlobNodeImpl | ( | ImageFileImplWeakPtr | destImageFile, |
| int64_t | byteCount | ||
| ) |
This what caller thinks blob length is
Round segment length up to multiple of 4 bytes
Reserve space for blob in file, extend with zeros since writes will happen at later time by caller
Prepare BlobSectionHeader
Write header at beginning of section
Definition at line 35 of file BlobNodeImpl.cpp.
References byteCount(), e57::NodeImpl::destImageFile(), e57::BlobSectionHeader::dump(), and e57::BlobSectionHeader::sectionLogicalLength.
| e57::BlobNodeImpl::BlobNodeImpl | ( | ImageFileImplWeakPtr | destImageFile, |
| int64_t | fileOffset, | ||
| int64_t | length | ||
| ) |
Init blob object that already exists in E57 file currently reading.
Init state from values read from XML
Definition at line 68 of file BlobNodeImpl.cpp.
References e57::NodeImpl::destImageFile(), and length().
|
overridedefault |
| int64_t e57::BlobNodeImpl::byteCount | ( | ) |
Definition at line 116 of file BlobNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen().
Referenced by BlobNodeImpl().
|
overridevirtual |
We are a leaf node, so verify that we are listed in set. ???true for blobs? what exception get if try blob in compressedvector?
Implements e57::NodeImpl.
Definition at line 169 of file BlobNodeImpl.cpp.
References e57::E57_ERROR_NO_BUFFER_FOR_ELEMENT, E57_EXCEPTION2, e57::NodeImpl::pathName(), and e57::NodeImpl::relativePathName().
|
overridevirtual |
Reimplemented from e57::NodeImpl.
Definition at line 205 of file BlobNodeImpl.cpp.
References e57::NodeImpl::dump(), QtCompat::endl(), e57::space(), and type().
|
overridevirtual |
We have no sub-structure, so if path not empty return false
Implements e57::NodeImpl.
Definition at line 108 of file BlobNodeImpl.cpp.
References e57::NodeImpl::pathName().
|
overridevirtual |
Same node type?
Downcast to shared_ptr<BlobNodeImpl>
blob lengths must match
ignore blob contents, doesn't have to match
Types match
Implements e57::NodeImpl.
Definition at line 83 of file BlobNodeImpl.cpp.
References e57::E57_BLOB.
| void e57::BlobNodeImpl::read | ( | uint8_t * | buf, |
| int64_t | start, | ||
| size_t | count | ||
| ) |
Definition at line 122 of file BlobNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen(), count, e57::NodeImpl::destImageFile_, e57::E57_ERROR_BAD_API_ARGUMENT, E57_EXCEPTION2, e57::NodeImpl::pathName(), and e57::toString().
|
inlineoverridevirtual |
Implements e57::NodeImpl.
Definition at line 40 of file BlobNodeImpl.h.
References e57::E57_BLOB.
Referenced by dump().
| void e57::BlobNodeImpl::write | ( | uint8_t * | buf, |
| int64_t | start, | ||
| size_t | count | ||
| ) |
Definition at line 140 of file BlobNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen(), count, e57::NodeImpl::destImageFile(), e57::NodeImpl::destImageFile_, e57::E57_ERROR_BAD_API_ARGUMENT, e57::E57_ERROR_FILE_IS_READ_ONLY, e57::E57_ERROR_NODE_UNATTACHED, E57_EXCEPTION2, e57::NodeImpl::isAttached(), e57::NodeImpl::pathName(), and e57::toString().
|
overridevirtual |
Implements e57::NodeImpl.
Definition at line 181 of file BlobNodeImpl.cpp.
References e57::NodeImpl::elementName_, e57::CheckedFile::logicalToPhysical(), and e57::space().