OverviewFilesCommitsIssuesDocsReleasesPeers

proc-nodes / src / core / proc_pointcloud.h

34 lines · c ref:
#ifndef PROC_NODES_PROC_POINTCLOUD_H
#define PROC_NODES_PROC_POINTCLOUD_H

#include "attribute_storage.h"
#include <godot_cpp/classes/ref_counted.hpp>
#include <godot_cpp/variant/packed_float32_array.hpp>
#include <godot_cpp/variant/packed_vector3_array.hpp>

namespace godot {

class ProcPointCloud : public RefCounted {
	GDCLASS(ProcPointCloud, RefCounted);

protected:
	static void _bind_methods();

public:
	PackedVector3Array positions;
	PackedFloat32Array radii;

	AttributeStorage point_attrs;

	int point_count() const { return positions.size(); }
	int domain_size(AttrDomain p_domain) const;

	Ref<ProcPointCloud> duplicate_pointcloud() const;

	ProcPointCloud() = default;
};

} // namespace godot

#endif // PROC_NODES_PROC_POINTCLOUD_H