36 #ifndef RIEGL_RDB_POINTCLOUD_QUERYFILL_HPP
37 #define RIEGL_RDB_POINTCLOUD_QUERYFILL_HPP
54 namespace pointcloud {
91 riegl::rdb::PointcloudData *pointcloud,
92 const std::vector<GraphNode::ID> *nodes,
93 const std::string &filter
101 operator bool()
const;
140 const std::string &attribute,
146 template <
typename ValueType>
148 const std::string &attribute,
149 const ValueType &buffer
163 template <
typename ObjectType,
typename MemberPo
inter>
165 const std::string &attribute,
166 const ObjectType &
object,
167 const MemberPointer member
174 template <
typename ObjectType,
typename MemberPo
inter>
176 const std::string &attribute,
177 const ObjectType &
object,
178 const MemberPointer member,
182 bindBuffer(attribute, (
object.*member)[index]);
220 std::shared_ptr<Private> data;
225 #endif // RIEGL_RDB_POINTCLOUD_QUERYFILL_HPP
DataType
Point attribute access data type.
ValueType * dataPointerOf(ValueType *const value)
Get pointer to variable or to data in a std::array or vector container.
QueryFill()
Default constructor.
void bind(const std::string &attribute, const DataType dataType, const void *buffer)
Bind attribute buffer.
DataType dataTypeOf()
Convenience wrapper for DataTypeOf class.
void close()
Finish query.
void bindBuffer(const std::string &attribute, const ValueType &buffer)
Bind attribute buffer.
void bindMember(const std::string &attribute, const ObjectType &object, const MemberPointer member)
Bind attribute buffer.
bool valid() const
Check if query is not null.
uint32_t progress() const
Progress.
Point attribute access data types.
Pointcloud class implementation details.
uint32_t next(uint32_t count)
Fill points.
void bindMember(const std::string &attribute, const ObjectType &object, const MemberPointer member, const size_t index)
Bind attribute buffer.