11 #ifndef hifi_workload_Proxy_h
12 #define hifi_workload_Proxy_h
21 Owner(
const Owner& other) =
default;
22 Owner& operator=(
const Owner& other) =
default;
23 template <
class T> Owner(
const T& data) : _concept(std::make_shared<
Model<T>>(data)) {}
25 template <
class T>
const T get()
const {
return std::static_pointer_cast<const Model<T>>(_concept)->_data; }
29 virtual ~Concept() =
default;
31 template <
class T>
class Model :
public Concept {
35 Model(
const Data& data) : _data(data) {}
36 virtual ~
Model() =
default;
39 std::shared_ptr<Concept> _concept;
44 Proxy() : sphere(0.0f) {}
45 Proxy(
const Sphere& s) : sphere(s) {}
48 uint8_t region{ Region::INVALID };
49 uint8_t prevRegion{ Region::INVALID };
51 uint32_t _paddings[3];
53 using Vector = std::vector<Proxy>;
A generic 3D model displaying geometry loaded from a URL.
Definition: Model.h:84