37 #ifndef RIEGL_RDB_POINTCLOUD_QUERYINSERT_HPP
38 #define RIEGL_RDB_POINTCLOUD_QUERYINSERT_HPP
52 namespace pointcloud {
85 explicit QueryInsert(riegl::rdb::PointcloudData *pointcloud);
92 operator bool()
const;
131 const std::string &attribute,
134 const int32_t stride = 0
151 const int32_t stride = 0
155 template <
typename ValueType>
157 const std::string &attribute,
158 const ValueType &buffer,
159 const int32_t stride = 0
169 template <
typename ValueType>
172 const int32_t stride = 0
182 template <
typename ValueType>
185 const int32_t stride = 0
201 template <
typename ObjectType,
typename MemberPo
inter>
203 const std::string &attribute,
204 const ObjectType &
object,
205 const MemberPointer member
209 attribute,
object.*member,
210 static_cast<int32_t>(
sizeof(ObjectType))
218 template <
typename ObjectType,
typename MemberPo
inter>
226 static_cast<int32_t>(
sizeof(ObjectType))
231 template <
typename ObjectType,
typename MemberPo
inter>
233 const std::string &attribute,
234 const ObjectType &
object,
235 const MemberPointer member,
240 attribute, (
object.*member)[index],
241 static_cast<int32_t>(
sizeof(ObjectType))
249 template <
typename ObjectType,
typename MemberPo
inter>
252 MemberPointer member,
257 (
object.*member)[index],
258 static_cast<int32_t>(
sizeof(ObjectType))
286 std::shared_ptr<Private> data;
291 #endif // RIEGL_RDB_POINTCLOUD_QUERYINSERT_HPP
void bindMember(const std::string &attribute, const ObjectType &object, const MemberPointer member)
Bind attribute buffer.
DataType
Point attribute access data type.
void bindBuffer(const std::string &attribute, const 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.
void bindIdMember(ObjectType &object, MemberPointer member, const size_t index)
Bind point id buffer.
void bindMember(const std::string &attribute, const ObjectType &object, const MemberPointer member, const size_t index)
Bind attribute buffer.
void bind(const std::string &attribute, const DataType dataType, const void *buffer, const int32_t stride=0)
Bind attribute buffer.
bool valid() const
Check if query is not null.
DataType dataTypeOf()
Convenience wrapper for DataTypeOf class.
void bindIdBuffer(ValueType &buffer, const int32_t stride=0)
Bind point id buffer.
void bindId(const DataType dataType, void *buffer, const int32_t stride=0)
Bind point id buffer.
void bindIdMember(ObjectType &object, MemberPointer member)
Bind point id buffer.
void close()
Finish query.
Point attribute access data types.
Pointcloud class implementation details.
uint32_t next(uint32_t count)
Insert points.
void bindIdBuffer(ValueType *buffer, const int32_t stride=0)
Bind point id buffer.
QueryInsert()
Default constructor.