20#include "../primitive/primitive.h"
21#include "../scene/mesh.h"
22#include "../scene/camera.h"
23#include "../scene/node.h"
24#include "../scene/pass.h"
25#include "../scene/scene.h"
26#include "variantmaker.h"
35 std::shared_ptr<Camera>
_camera(
const std::shared_ptr<Matrix4f>& viewMatrix =
_mat4(),
36 const std::shared_ptr<Matrix4f>& projectionMatrix =
_mat4(),
37 const std::shared_ptr<Vector3f>& orbitPoint =
_vec3());
40 std::shared_ptr<std::vector<std::shared_ptr<Primitive>>>
_primitives(
const std::vector<std::shared_ptr<Primitive>>& primitives = {});
43 std::shared_ptr<Mesh>
_mesh(
const std::shared_ptr<std::vector<std::shared_ptr<Primitive>>>& primitives =
nullptr,
44 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr);
45 std::shared_ptr<Mesh>
_mesh(
const std::vector<std::shared_ptr<Primitive>>& primitives,
46 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr);
50 const std::shared_ptr<Mesh>& mesh =
nullptr,
51 const std::shared_ptr<std::vector<std::shared_ptr<Node>>>& children =
nullptr,
52 const std::shared_ptr<Matrix4f>& transform =
nullptr,
53 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
54 const std::string& name =
"Node",
55 const std::shared_ptr<Material>& material =
nullptr,
56 const std::shared_ptr<Geometry>& geometry =
nullptr,
57 const std::shared_ptr<Query>& query =
nullptr);
59 const std::shared_ptr<std::vector<std::shared_ptr<Node>>>& children,
60 const std::shared_ptr<Matrix4f>& transform =
nullptr,
61 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
62 const std::string& name =
"Node",
63 const std::shared_ptr<Material>& material =
nullptr,
64 const std::shared_ptr<Geometry>& geometry =
nullptr,
65 const std::shared_ptr<Query>& query =
nullptr);
66 std::shared_ptr<Node>
_node(
const std::vector<std::shared_ptr<Primitive>>& primitives,
67 const std::shared_ptr<Matrix4f>& transform =
nullptr);
68 std::shared_ptr<Node>
_node(
const std::vector<std::shared_ptr<Node>>& nodes,
69 const std::shared_ptr<Matrix4f>& transform =
nullptr);
70 std::shared_ptr<Node>
_node(
const std::vector<std::shared_ptr<Primitive>>& primitives,
71 const std::vector<std::shared_ptr<Node>>& nodes,
72 const std::shared_ptr<Matrix4f>& transform =
nullptr);
73 std::shared_ptr<std::vector<std::shared_ptr<Node>>>
_nodes(
const std::vector<std::shared_ptr<Node>>& nodes = {});
76 std::shared_ptr<Pass>
_pass(
const std::shared_ptr<Node>& node =
nullptr,
77 const std::shared_ptr<Background>& background =
nullptr,
78 const std::shared_ptr<Camera>& camera =
nullptr,
79 const std::shared_ptr<Target>& target =
nullptr,
80 const std::string& name =
"Pass",
84 std::shared_ptr<Scene>
_scene(
const std::shared_ptr<std::vector<std::shared_ptr<Pass>>>& passes =
nullptr,
85 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
86 const std::string& name =
"Scene");
87 std::shared_ptr<Scene>
_scene(
const std::vector<std::shared_ptr<Pass>>& passes,
88 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
89 const std::string& name =
"Scene");
std::shared_ptr< Vector3f > _vec3()
std::shared_ptr< std::vector< std::shared_ptr< Primitive > > > _primitives(const std::vector< std::shared_ptr< Primitive > > &primitives={})
std::shared_ptr< Scene > _scene(const std::shared_ptr< std::vector< std::shared_ptr< Pass > > > &passes=nullptr, const std::shared_ptr< BoundingBox > &boundingBox=nullptr, const std::string &name="Scene")
std::shared_ptr< Mesh > _mesh(const std::shared_ptr< std::vector< std::shared_ptr< Primitive > > > &primitives=nullptr, const std::shared_ptr< BoundingBox > &boundingBox=nullptr)
std::shared_ptr< Matrix4f > _mat4()
std::shared_ptr< Camera > _camera(const std::shared_ptr< Matrix4f > &viewMatrix=_mat4(), const std::shared_ptr< Matrix4f > &projectionMatrix=_mat4(), const std::shared_ptr< Vector3f > &orbitPoint=_vec3())
std::shared_ptr< std::vector< std::shared_ptr< Node > > > _nodes(const std::vector< std::shared_ptr< Node > > &nodes={})
std::shared_ptr< Node > _node(const std::shared_ptr< Mesh > &mesh=nullptr, const std::shared_ptr< std::vector< std::shared_ptr< Node > > > &children=nullptr, const std::shared_ptr< Matrix4f > &transform=nullptr, const std::shared_ptr< BoundingBox > &boundingBox=nullptr, const std::string &name="Node", const std::shared_ptr< Material > &material=nullptr, const std::shared_ptr< Geometry > &geometry=nullptr, const std::shared_ptr< Query > &query=nullptr)
std::shared_ptr< Pass > _pass(const std::shared_ptr< Node > &node=nullptr, const std::shared_ptr< Background > &background=nullptr, const std::shared_ptr< Camera > &camera=nullptr, const std::shared_ptr< Target > &target=nullptr, const std::string &name="Pass", bool enabled=true)