32 std::shared_ptr<std::vector<std::shared_ptr<T>>>
m_entities;
36 SelectionBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
46 std::shared_ptr<std::vector<std::shared_ptr<T>>>
entities()
56 virtual std::shared_ptr<std::vector<std::shared_ptr<Node>>>
build() = 0;
63 EntityBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
72 virtual std::shared_ptr<std::vector<std::shared_ptr<Node>>>
build()
76 unsigned int index = 0;
80 auto value =
_clr4((
unsigned char)index / 255.0, (
unsigned char)(index >> 8) / 255.0, (
unsigned char)(index >> 16) / 255.0, (
unsigned char)(index >> 24) / 255.0);
86 nodes->push_back(node);
99 FaceBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
109 template <
typename T>
113 VertexBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
123 template <
typename T>
127 EdgeBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
137 template <
typename T>
141 AttributeBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
150 virtual std::shared_ptr<std::vector<std::shared_ptr<Node>>>
build()
157 nodes->push_back(node);
164 template <
typename T>
168 PositionBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
178 template <
typename T>
182 NormalBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
192 template <
typename T>
196 PrimitiveBuilder(
const std::shared_ptr<std::vector<std::shared_ptr<T>>>&
entities,
const std::function<std::shared_ptr<Node>(std::shared_ptr<T>)>& entity2node)
virtual ~AttributeBuilder()
Definition builder.h:146
AttributeBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:141
virtual std::shared_ptr< std::vector< std::shared_ptr< Node > > > build()
Definition builder.h:150
virtual ~EdgeBuilder()
Definition builder.h:132
EdgeBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:127
EntityBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:63
virtual ~EntityBuilder()
Definition builder.h:68
virtual std::shared_ptr< std::vector< std::shared_ptr< Node > > > build()
Definition builder.h:72
FaceBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:99
virtual ~FaceBuilder()
Definition builder.h:104
NormalBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:182
virtual ~NormalBuilder()
Definition builder.h:187
PositionBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:168
virtual ~PositionBuilder()
Definition builder.h:173
PrimitiveBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:196
virtual ~PrimitiveBuilder()
Definition builder.h:201
std::shared_ptr< std::vector< std::shared_ptr< T > > > entities()
Definition builder.h:46
void setEntities(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities)
Definition builder.h:51
std::shared_ptr< std::vector< std::shared_ptr< T > > > m_entities
Definition builder.h:32
virtual ~SelectionBuilder()
Definition builder.h:42
SelectionBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:36
std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> m_entity2node
Definition builder.h:33
virtual std::shared_ptr< std::vector< std::shared_ptr< Node > > > build()=0
virtual ~VertexBuilder()
Definition builder.h:118
VertexBuilder(const std::shared_ptr< std::vector< std::shared_ptr< T > > > &entities, const std::function< std::shared_ptr< Node >(std::shared_ptr< T >)> &entity2node)
Definition builder.h:113
std::shared_ptr< std::map< std::string, std::shared_ptr< Variant > > > _parameters(const std::map< std::string, std::shared_ptr< Variant > > ¶meters={})
std::shared_ptr< Color4f > _clr4()
std::shared_ptr< Material > _material(const std::shared_ptr< Program > &program=nullptr, const std::shared_ptr< std::map< std::string, std::shared_ptr< Variant > > > ¶meters=nullptr, const std::shared_ptr< std::vector< std::shared_ptr< State > > > &states=nullptr)
std::shared_ptr< std::vector< std::shared_ptr< Node > > > _nodes(const std::vector< std::shared_ptr< Node > > &nodes={})