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);
49 std::shared_ptr<Node>
_node(
const std::shared_ptr<Mesh>& mesh =
nullptr,
50 const std::shared_ptr<std::vector<std::shared_ptr<Node>>>& children =
nullptr,
51 const std::shared_ptr<Matrix4f>& transform =
nullptr,
52 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
53 const std::string& name =
"Node",
54 const std::shared_ptr<Material>& material =
nullptr,
55 const std::shared_ptr<Geometry>& geometry =
nullptr,
56 const std::shared_ptr<Query>& query =
nullptr);
57 std::shared_ptr<Node>
_node(
const std::vector<std::shared_ptr<Primitive>>& primitives,
58 const std::shared_ptr<Matrix4f>& transform =
nullptr);
59 std::shared_ptr<Node>
_node(
const std::vector<std::shared_ptr<Node>>& nodes,
60 const std::shared_ptr<Matrix4f>& transform =
nullptr);
61 std::shared_ptr<Node>
_node(
const std::vector<std::shared_ptr<Primitive>>& primitives,
62 const std::vector<std::shared_ptr<Node>>& nodes,
63 const std::shared_ptr<Matrix4f>& transform =
nullptr);
64 std::shared_ptr<std::vector<std::shared_ptr<Node>>>
_nodes(
const std::vector<std::shared_ptr<Node>>& nodes = {});
67 std::shared_ptr<Pass>
_pass(
const std::shared_ptr<Node>& node =
nullptr,
68 const std::shared_ptr<Background>& background =
nullptr,
69 const std::shared_ptr<Camera>& camera =
nullptr,
70 const std::shared_ptr<Target>& target =
nullptr,
71 const std::string& name =
"Pass",
75 std::shared_ptr<Scene>
_scene(
const std::shared_ptr<std::vector<std::shared_ptr<Pass>>>& passes =
nullptr,
76 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
77 const std::string& name =
"Scene");
78 std::shared_ptr<Scene>
_scene(
const std::vector<std::shared_ptr<Pass>>& passes,
79 const std::shared_ptr<BoundingBox>& boundingBox =
nullptr,
80 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)