8#include <unordered_map> 
   84            std::shared_ptr<Shader> 
shader,
 
   85            std::multimap<RenderPriority,ShapeId> & ids,
 
   89            std::vector<std::pair<Info, Shape>> shapes = 
vectorise(ids);
 
 
  104            std::multimap<RenderPriority, ShapeId> & ids,
 
  108            std::vector<std::pair<Info, Shape>> shapes = 
vectorise(ids);
 
 
  119            std::shared_ptr<Shader> 
shader,
 
 
  146            std::shared_ptr<Shader> 
shader,
 
  147            std::vector<std::pair<Info, Shape>> & shapes,
 
 
Store elements in a priority ordering, with identities.
Definition priorityStore.h:32
 
std::vector< std::pair< Info, Shape > > vectorise(std::multimap< Priority, ElementId > &oids)
Return a vector from overriding priorities.
Definition priorityStore.h:142
 
Shape & operator[](ElementId id)
Definition priorityStore.h:155
 
std::vector< std::pair< Info, Shape > > cache
Definition priorityStore.h:169
 
std::unordered_map< ElementId, std::pair< Shape, Priority > > idToElement
Definition priorityStore.h:167
 
Renders shapes with optional rendering priority.
Definition shapeRenderer.h:31
 
glm::mat4 projection
Definition shapeRenderer.h:153
 
virtual void draw(std::shared_ptr< Shader > shader, UpdateInfo info=UpdateInfo())
Draw with overriding shader and cached priorities.
Definition shapeRenderer.h:118
 
virtual void draw(std::shared_ptr< Shader > shader, std::multimap< RenderPriority, ShapeId > &ids, UpdateInfo info=UpdateInfo())
Draw with overriding render priority and shader.
Definition shapeRenderer.h:83
 
std::shared_ptr< Shader > shader
Definition shapeRenderer.h:151
 
virtual void draw(UpdateInfo info=UpdateInfo())
Draw with default shader and cached priorities.
Definition shapeRenderer.h:131
 
const glm::vec4 * getColour(ShapeId id)
Definition shapeRenderer.h:70
 
virtual void draw(std::shared_ptr< Shader > shader, std::vector< std::pair< Info, Shape > > &shapes, UpdateInfo info=UpdateInfo())=0
 
ShapeRenderer(std::shared_ptr< Shader > shader, size_t sizeHint=8)
Construct a new ShapeRenderer.
Definition shapeRenderer.h:63
 
virtual void setProjection(glm::mat4 p)
Definition shapeRenderer.h:140
 
bool hasId(const ShapeId id) const
Definition shapeRenderer.h:138
 
const Transform * getTransform(ShapeId id)
Definition shapeRenderer.h:69
 
virtual void draw(std::multimap< RenderPriority, ShapeId > &ids, UpdateInfo info=UpdateInfo())
Draw with overriding render priority.
Definition shapeRenderer.h:103
 
ShapeRenderer(size_t sizeHint=8)
Construct a new ShapeRenderer.
Definition shapeRenderer.h:53
 
Shape & getShape(ShapeId id)
Definition shapeRenderer.h:67
 
A drawable shape.
Definition shape.h:14
 
const Transform * transform
Definition shape.h:26
 
const glm::vec4 * colour
Definition shape.h:27
 
A drawable graphic.
Definition id.h:10
 
std::string ShapeId
Definition shapeRenderer.h:24
 
Control updated data for drawing.
Definition shapeRenderer.h:40
 
bool xytheta
Definition shapeRenderer.h:45
 
bool colour
Definition shapeRenderer.h:45
 
UpdateInfo()
Definition shapeRenderer.h:41
 
bool scale
Definition shapeRenderer.h:45