37 #ifndef RIEGL_RDB_POINTCLOUD_QUERYSELECT_HPP 38 #define RIEGL_RDB_POINTCLOUD_QUERYSELECT_HPP 55 namespace pointcloud {
89 riegl::rdb::PointcloudData *pointcloud,
90 const std::vector<GraphNode::ID> *nodes,
91 const std::string &filter
99 operator bool()
const;
133 const std::string &attribute,
136 const int32_t stride = 0
140 template <
typename ValueType>
142 const std::string &attribute,
144 const int32_t stride = 0
151 template <
typename ValueType>
153 const std::string &attribute,
155 const int32_t stride = 0
171 template <
typename ObjectType,
typename MemberPo
inter>
173 const std::string &attribute,
175 const MemberPointer member
179 attribute,
object.*member,
180 static_cast<int32_t>(
sizeof(ObjectType))
185 template <
typename ObjectType,
typename MemberPo
inter>
187 const std::string &attribute,
189 const MemberPointer member,
194 attribute, (
object.*member)[index],
195 static_cast<int32_t>(
sizeof(ObjectType))
234 std::shared_ptr<Private> data;
239 #endif // RIEGL_RDB_POINTCLOUD_QUERYSELECT_HPP void bind(const std::string &attribute, const DataType dataType, void *buffer, const int32_t stride=0)
Bind attribute buffer.
uint32_t next(uint32_t count)
Select points.
void close()
Finish query.
DataType
Point attribute access data type.
void bindBuffer(const std::string &attribute, ValueType *buffer, const int32_t stride=0)
Bind attribute buffer.
ValueType * dataPointerOf(ValueType *const value)
Get pointer to variable or to data in a std::array or vector container.
RIEGL Laser Measurement Systems GmbH, Austria.
DataType dataTypeOf()
Convenience wrapper for DataTypeOf class.
QuerySelect()
Default constructor.
bool valid() const
Check if query is not null.
void bindMember(const std::string &attribute, ObjectType &object, const MemberPointer member, const size_t index)
Bind attribute buffer.
void bindBuffer(const std::string &attribute, ValueType &buffer, const int32_t stride=0)
Bind attribute buffer.
Point attribute access data types.
Pointcloud class implementation details.
uint32_t progress() const
Progress.
void bindMember(const std::string &attribute, ObjectType &object, const MemberPointer member)
Bind attribute buffer.