36 #ifndef RIEGL_RDB_POINTCLOUD_QUERYREMOVE_HPP
37 #define RIEGL_RDB_POINTCLOUD_QUERYREMOVE_HPP
51 namespace pointcloud {
84 explicit QueryRemove(riegl::rdb::PointcloudData *pointcloud);
91 operator bool()
const;
128 const std::string &attribute,
131 const int32_t stride = 0
135 template <
typename ValueType>
137 const std::string &attribute,
138 const ValueType &buffer,
139 const int32_t stride = 0
155 template <
typename ObjectType,
typename MemberPo
inter>
157 const std::string &attribute,
158 const ObjectType &
object,
159 const MemberPointer member
163 attribute,
object.*member,
164 static_cast<int32_t>(
sizeof(ObjectType))
169 template <
typename ObjectType,
typename MemberPo
inter>
171 const std::string &attribute,
172 const ObjectType &
object,
173 const MemberPointer member,
178 attribute, (
object.*member)[index],
179 static_cast<int32_t>(
sizeof(ObjectType))
205 std::shared_ptr<Private> data;
210 #endif // RIEGL_RDB_POINTCLOUD_QUERYREMOVE_HPP
void bindBuffer(const std::string &attribute, const ValueType &buffer, const int32_t stride=0)
Bind attribute buffer.
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.
uint32_t next(uint32_t count)
Remove points.
DataType dataTypeOf()
Convenience wrapper for DataTypeOf class.
void bind(const std::string &attribute, const DataType dataType, const void *buffer, const int32_t stride=0)
Bind attribute buffer.
void bindMember(const std::string &attribute, const ObjectType &object, const MemberPointer member, const size_t index)
Bind attribute buffer.
bool valid() const
Check if query is not null.
void bindMember(const std::string &attribute, const ObjectType &object, const MemberPointer member)
Bind attribute buffer.
QueryRemove()
Default constructor.
Point attribute access data types.
Pointcloud class implementation details.
void close()
Finish query.