class Object

Defined at line 18 of file ../../src/ui/lib/escher/scene/object.h

An object instance to be drawn using a shape and a material.

Does not retain ownership of the material.

Public Methods

void Object (const Transform & transform, MeshPtr mesh, MaterialPtr material)

Constructors.

Defined at line 9 of file ../../src/ui/lib/escher/scene/object.cc

void Object (const mat4 & transform, MeshPtr mesh, MaterialPtr material)

Defined at line 12 of file ../../src/ui/lib/escher/scene/object.cc

void Object (const vec3 & position, MeshPtr mesh, MaterialPtr material)

Defined at line 15 of file ../../src/ui/lib/escher/scene/object.cc

void Object (std::vector<Object> clippers, std::vector<Object> clippees)

Defined at line 18 of file ../../src/ui/lib/escher/scene/object.cc

void Object (const Object & other)

Defined at line 25 of file ../../src/ui/lib/escher/scene/object.h

Object NewRect (const vec2 & top_left_position, const vec2 & size, float z, MaterialPtr material)

Defined at line 25 of file ../../src/ui/lib/escher/scene/object.cc

void Object (Object && other)

Defined at line 26 of file ../../src/ui/lib/escher/scene/object.h

Object NewRect (const vec3 & top_left_position, const vec2 & size, MaterialPtr material)

Defined at line 30 of file ../../src/ui/lib/escher/scene/object.cc

const mat4 & transform ()

Return the object's 4x4 transformation matrix.

Defined at line 37 of file ../../src/ui/lib/escher/scene/object.h

const Shape & shape ()

The shape to draw.

Defined at line 40 of file ../../src/ui/lib/escher/scene/object.h

Object NewRect (const Transform & transform, MaterialPtr material)

Defined at line 40 of file ../../src/ui/lib/escher/scene/object.cc

Shape & mutable_shape ()

Defined at line 41 of file ../../src/ui/lib/escher/scene/object.h

const MaterialPtr & material ()

The material with which to fill the shape.

Defined at line 44 of file ../../src/ui/lib/escher/scene/object.h

Object NewRect (const mat4 & transform, MaterialPtr material)

Defined at line 44 of file ../../src/ui/lib/escher/scene/object.cc

void set_material (MaterialPtr material)

Defined at line 45 of file ../../src/ui/lib/escher/scene/object.h

Object NewCircle (const vec2 & center_position, float radius, float z, MaterialPtr material)

Defined at line 48 of file ../../src/ui/lib/escher/scene/object.cc

Object NewCircle (const vec3 & center_position, float radius, MaterialPtr material)

Defined at line 52 of file ../../src/ui/lib/escher/scene/object.cc

const std::vector<Object> & clippers ()

Return the list of objects whose shapes will be used to clip 'clippees()'.

It is OK for these objects to not have a material; in this case the objects

update the stencil buffer, but not the color/depth buffers.

Defined at line 55 of file ../../src/ui/lib/escher/scene/object.h

const std::vector<Object> & clippees ()

Return the list of objects whose shapes will be clipped by 'clippers()'.

Defined at line 58 of file ../../src/ui/lib/escher/scene/object.h

Object NewCircle (const mat4 & transform, float radius, MaterialPtr material)

Defined at line 62 of file ../../src/ui/lib/escher/scene/object.cc

BoundingBox bounding_box ()

Return the bounding box that encompasses the object's shape, as well as

all of its clippers (but not clippees, since their clipped bounds are

by definition within the clippers' bounds).

Defined at line 67 of file ../../src/ui/lib/escher/scene/object.cc