10 #include "../render/renderlist.h" 26 std::shared_ptr<MaterialRenderer> _material;
27 std::shared_ptr<Mesh> _mesh;
29 std::function<void(const Interaction &)> _interact_callback;
30 Eigen::Affine3d _parent_pose = Eigen::Affine3d::Identity();
36 const std::shared_ptr<MaterialRenderer> &material);
38 const std::shared_ptr<Mesh> &mesh,
39 std::shared_ptr<const Material> material,
40 std::shared_ptr<const MaterialOverride> material_override =
nullptr);
42 std::shared_ptr<const Material> material,
43 const Eigen::Isometry3d &pose);
45 const std::shared_ptr<Mesh> &mesh,
46 std::shared_ptr<const Material> material,
47 const std::function<
void(
const Interaction &)> &interact_callback);
49 virtual bool pick(uint32_t
id)
const override;
50 virtual bool interact(
const Interaction &interaction)
override;
53 const std::shared_ptr<Mesh> &mesh()
const;
54 const std::shared_ptr<MaterialRenderer> &materialRenderer();
61 std::vector<Eigen::Isometry3d, Eigen::aligned_allocator<Eigen::Isometry3d>>
66 std::shared_ptr<const Material> material);
67 void clearInstances();
68 void addInstance(
const Eigen::Isometry3d &pose);