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


Public Member Functions | |
| CompressedVectorNodeImpl (ImageFileImplWeakPtr destImageFile) | |
| ~CompressedVectorNodeImpl () override=default | |
| NodeType | type () const override |
| bool | isTypeEquivalent (NodeImplSharedPtr ni) override |
| bool | isDefined (const ustring &pathName) override |
| void | setAttachedRecursive () override |
| void | setPrototype (const NodeImplSharedPtr &prototype) |
| NodeImplSharedPtr | getPrototype () const |
| void | setCodecs (const std::shared_ptr< VectorNodeImpl > &codecs) |
| std::shared_ptr< VectorNodeImpl > | getCodecs () const |
| int64_t | childCount () const |
| void | checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin) override |
| void | writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr) override |
| std::shared_ptr< CompressedVectorWriterImpl > | writer (std::vector< SourceDestBuffer > sbufs) |
| Iterator constructors. More... | |
| std::shared_ptr< CompressedVectorReaderImpl > | reader (std::vector< SourceDestBuffer > dbufs) |
| int64_t | getRecordCount () const |
| uint64_t | getBinarySectionLogicalStart () const |
| void | setRecordCount (int64_t recordCount) |
| void | setBinarySectionLogicalStart (uint64_t binarySectionLogicalStart) |
| 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 |
| 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 CompressedVectorNodeImpl.h.
| e57::CompressedVectorNodeImpl::CompressedVectorNodeImpl | ( | ImageFileImplWeakPtr | destImageFile | ) |
Definition at line 37 of file CompressedVectorNodeImpl.cpp.
|
overridedefault |
|
overridevirtual |
Since only called for prototype nodes, should't be able to get here since CompressedVectors can't be in prototypes
Implements e57::NodeImpl.
Definition at line 190 of file CompressedVectorNodeImpl.cpp.
References e57::E57_ERROR_INTERNAL, E57_EXCEPTION2, and e57::NodeImpl::pathName().
| int64_t e57::CompressedVectorNodeImpl::childCount | ( | ) | const |
Definition at line 184 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen().
Referenced by e57::Decoder::DecoderFactory().
|
overridevirtual |
Reimplemented from e57::NodeImpl.
Definition at line 232 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::dump(), QtCompat::endl(), e57::space(), and type().
|
inline |
Definition at line 67 of file CompressedVectorNodeImpl.h.
| std::shared_ptr< VectorNodeImpl > e57::CompressedVectorNodeImpl::getCodecs | ( | ) | const |
Definition at line 122 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen().
| NodeImplSharedPtr e57::CompressedVectorNodeImpl::getPrototype | ( | ) | const |
Definition at line 79 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen().
Referenced by e57::Decoder::DecoderFactory().
|
inline |
Definition at line 63 of file CompressedVectorNodeImpl.h.
|
overridevirtual |
Implements e57::NodeImpl.
Definition at line 161 of file CompressedVectorNodeImpl.cpp.
References e57::E57_ERROR_NOT_IMPLEMENTED, E57_EXCEPTION2, and e57::NodeImpl::pathName().
|
overridevirtual |
Same node type?
recordCount must match
Prototypes and codecs must match ???
Implements e57::NodeImpl.
Definition at line 128 of file CompressedVectorNodeImpl.cpp.
References e57::E57_COMPRESSED_VECTOR.
| std::shared_ptr< CompressedVectorReaderImpl > e57::CompressedVectorNodeImpl::reader | ( | std::vector< SourceDestBuffer > | dbufs | ) |
Check don't have any writers/readers open for this ImageFile
dbufs can't be empty
Can be read or write mode, but must be attached
Get pointer to me (really shared_ptr<CompressedVectorNodeImpl>)
Downcast pointer to right type
Return a shared_ptr to new object
Definition at line 309 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen(), CompressedVectorReaderImpl, e57::NodeImpl::destImageFile(), e57::NodeImpl::destImageFile_, e57::E57_ERROR_BAD_API_ARGUMENT, e57::E57_ERROR_NODE_UNATTACHED, e57::E57_ERROR_TOO_MANY_READERS, e57::E57_ERROR_TOO_MANY_WRITERS, E57_EXCEPTION2, e57::NodeImpl::isAttached(), and e57::toString().
|
overridevirtual |
Mark this node as attached to an ImageFile
Mark nodes in prototype tree, if defined
Mark nodes in codecs tree if defined
Reimplemented from e57::NodeImpl.
Definition at line 166 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::isAttached_.
|
inline |
Definition at line 75 of file CompressedVectorNodeImpl.h.
| void e57::CompressedVectorNodeImpl::setCodecs | ( | const std::shared_ptr< VectorNodeImpl > & | codecs | ) |
Can't set codecs twice.
codecs can't have a parent (must be a root node)
Verify that codecs is destined for same ImageFile as this is
Note that codecs is not attached to CompressedVector in a parent/child relationship. This means that codecs is a root node (has no parent).
Definition at line 85 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::destImageFile(), e57::E57_ERROR_ALREADY_HAS_PARENT, e57::E57_ERROR_DIFFERENT_DEST_IMAGEFILE, e57::E57_ERROR_SET_TWICE, E57_EXCEPTION2, and e57::NodeImpl::pathName().
| void e57::CompressedVectorNodeImpl::setPrototype | ( | const NodeImplSharedPtr & | prototype | ) |
Can't set prototype twice.
prototype can't have a parent (must be a root node)
Verify that prototype is destined for same ImageFile as this is
!! check for incomplete CompressedVectors when closing file
Note that prototype is not attached to CompressedVector in a parent/child relationship. This means that prototype is a root node (has no parent).
Definition at line 42 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::destImageFile(), e57::E57_ERROR_ALREADY_HAS_PARENT, e57::E57_ERROR_DIFFERENT_DEST_IMAGEFILE, e57::E57_ERROR_SET_TWICE, E57_EXCEPTION2, and e57::NodeImpl::pathName().
|
inline |
Definition at line 71 of file CompressedVectorNodeImpl.h.
|
inlineoverridevirtual |
Implements e57::NodeImpl.
Definition at line 39 of file CompressedVectorNodeImpl.h.
References e57::E57_COMPRESSED_VECTOR.
Referenced by dump().
| std::shared_ptr< CompressedVectorWriterImpl > e57::CompressedVectorNodeImpl::writer | ( | std::vector< SourceDestBuffer > | sbufs | ) |
Iterator constructors.
Check don't have any writers/readers open for this ImageFile
sbufs can't be empty
Get pointer to me (really shared_ptr<CompressedVectorNodeImpl>)
Downcast pointer to right type
Return a shared_ptr to new object
Definition at line 260 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::checkImageFileOpen(), e57::NodeImpl::CompressedVectorWriterImpl, 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::E57_ERROR_TOO_MANY_READERS, e57::E57_ERROR_TOO_MANY_WRITERS, E57_EXCEPTION2, e57::NodeImpl::isAttached(), and e57::toString().
|
overridevirtual |
Implements e57::NodeImpl.
Definition at line 199 of file CompressedVectorNodeImpl.cpp.
References e57::NodeImpl::elementName_, e57::CheckedFile::logicalToPhysical(), and e57::space().