Public Types | Public Member Functions | Private Attributes | List of all members
tango_gl::Band Class Reference

#include <band.h>

Inheritance diagram for tango_gl::Band:
Inheritance graph
[legend]

Public Types

enum  BandMode { kNormal = 0, kKeepLeft = 1, kKeepRight = 2 }
 

Public Member Functions

 Band (const unsigned int max_legnth)
 
void ClearVertexArray ()
 
void Render (const glm::mat4 &projection_mat, const glm::mat4 &view_mat) const
 
void SetVertexArray (const std::vector< glm::vec3 > &v, const glm::vec3 &up)
 
void SetWidth (const float width)
 
void UpdateVertexArray (const glm::mat4 m)
 
void UpdateVertexArray (const glm::mat4 m, BandMode mode)
 
- Public Member Functions inherited from tango_gl::DrawableObject
void DeleteGlResources ()
 
 DrawableObject ()
 
 DrawableObject (const DrawableObject &other)=delete
 
const DrawableObjectoperator= (const DrawableObject &)=delete
 
void SetAlpha (const float alpha)
 
void SetColor (const Color &color)
 
void SetColor (const float red, const float green, const float blue)
 
void SetShader ()
 
void SetVertices (const std::vector< GLfloat > &vertices)
 
void SetVertices (const std::vector< GLfloat > &vertices, const std::vector< GLfloat > &normals)
 
void SetVertices (const std::vector< GLfloat > &vertices, const std::vector< GLushort > &indices)
 
- Public Member Functions inherited from tango_gl::Transform
TransformGetParent ()
 
const TransformGetParent () const
 
glm::vec3 GetPosition () const
 
glm::quat GetRotation () const
 
glm::vec3 GetScale () const
 
glm::mat4 GetTransformationMatrix () const
 
const Transformoperator= (const Transform &rhs)=delete
 
void SetParent (Transform *transform)
 
void SetPosition (const glm::vec3 &position)
 
void SetRotation (const glm::quat &rotation)
 
void SetScale (const glm::vec3 &scale)
 
void SetTransformationMatrix (const glm::mat4 &transform_mat)
 
 Transform ()
 
 Transform (const Transform &other)=delete
 
void Translate (const glm::vec3 &translation)
 
virtual ~Transform ()
 

Private Attributes

float band_width_
 
unsigned int max_length_
 
glm::vec3 pivot_left
 
glm::vec3 pivot_right
 
std::vector< glm::vec3vertices_v_
 

Additional Inherited Members

- Protected Attributes inherited from tango_gl::DrawableObject
float alpha_
 
GLuint attrib_normals_
 
GLuint attrib_vertices_
 
float blue_
 
float green_
 
std::vector< GLushort > indices_
 
std::vector< GLfloat > normals_
 
float red_
 
GLenum render_mode_
 
GLuint shader_program_
 
GLuint uniform_color_
 
GLuint uniform_mvp_mat_
 
std::vector< GLfloat > vertices_
 

Detailed Description

Definition at line 26 of file band.h.

Member Enumeration Documentation

◆ BandMode

Enumerator
kNormal 
kKeepLeft 
kKeepRight 

Definition at line 28 of file band.h.

Constructor & Destructor Documentation

◆ Band()

tango_gl::Band::Band ( const unsigned int  max_legnth)

Definition at line 25 of file band.cpp.

Member Function Documentation

◆ ClearVertexArray()

void tango_gl::Band::ClearVertexArray ( )

Definition at line 130 of file band.cpp.

◆ Render()

void tango_gl::Band::Render ( const glm::mat4 projection_mat,
const glm::mat4 view_mat 
) const
virtual

Implements tango_gl::DrawableObject.

Definition at line 132 of file band.cpp.

◆ SetVertexArray()

void tango_gl::Band::SetVertexArray ( const std::vector< glm::vec3 > &  v,
const glm::vec3 up 
)

Definition at line 104 of file band.cpp.

◆ SetWidth()

void tango_gl::Band::SetWidth ( const float  width)

Definition at line 33 of file band.cpp.

◆ UpdateVertexArray() [1/2]

void tango_gl::Band::UpdateVertexArray ( const glm::mat4  m)

Definition at line 99 of file band.cpp.

◆ UpdateVertexArray() [2/2]

void tango_gl::Band::UpdateVertexArray ( const glm::mat4  m,
BandMode  mode 
)

Definition at line 37 of file band.cpp.

Member Data Documentation

◆ band_width_

float tango_gl::Band::band_width_
private

Definition at line 47 of file band.h.

◆ max_length_

unsigned int tango_gl::Band::max_length_
private

Definition at line 48 of file band.h.

◆ pivot_left

glm::vec3 tango_gl::Band::pivot_left
private

Definition at line 51 of file band.h.

◆ pivot_right

glm::vec3 tango_gl::Band::pivot_right
private

Definition at line 52 of file band.h.

◆ vertices_v_

std::vector<glm::vec3> tango_gl::Band::vertices_v_
private

Definition at line 49 of file band.h.


The documentation for this class was generated from the following files:


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:29