37 #ifndef RIEGL_RDB_POINTCLOUD_QUERYSELECT_HPP
38 #define RIEGL_RDB_POINTCLOUD_QUERYSELECT_HPP
56 namespace pointcloud {
90 riegl::rdb::PointcloudData *pointcloud,
91 const std::vector<GraphNode::ID> *nodes,
92 const std::string &filter
100 operator bool()
const;
134 const std::string &attribute,
137 const std::int32_t stride = 0
141 template <
typename ValueType>
143 const std::string &attribute,
145 const std::int32_t stride = 0
152 template <
typename ValueType>
154 const std::string &attribute,
156 const std::int32_t stride = 0
172 template <
typename ObjectType,
typename MemberPo
inter>
174 const std::string &attribute,
176 const MemberPointer member
180 attribute,
object.*member,
181 static_cast<std::int32_t>(
sizeof(ObjectType))
186 template <
typename ObjectType,
typename MemberPo
inter>
188 const std::string &attribute,
190 const MemberPointer member,
191 const std::size_t index
195 attribute, (
object.*member)[index],
196 static_cast<std::int32_t>(
sizeof(ObjectType))
235 std::shared_ptr<Private> data;
240 #endif // RIEGL_RDB_POINTCLOUD_QUERYSELECT_HPP
bool valid() const
Check if query is not null.
void close()
Finish query.
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.
void bind(const std::string &attribute, const DataType dataType, void *buffer, const std::int32_t stride=0)
Bind attribute buffer.
void bindBuffer(const std::string &attribute, ValueType *buffer, const std::int32_t stride=0)
Bind attribute buffer.
std::uint32_t progress() const
Progress.
void bindBuffer(const std::string &attribute, ValueType &buffer, const std::int32_t stride=0)
Bind attribute buffer.
DataType dataTypeOf()
Convenience wrapper for DataTypeOf class.
QuerySelect()
Default constructor.
std::uint32_t next(std::uint32_t count)
Select points.
void bindMember(const std::string &attribute, ObjectType &object, const MemberPointer member, const std::size_t index)
Bind attribute buffer.
Point attribute access data types.
Pointcloud class implementation details.
void bindMember(const std::string &attribute, ObjectType &object, const MemberPointer member)
Bind attribute buffer.