33#ifndef DART_GUI_OPENGLRENDERINTERFACE_HPP_
34#define DART_GUI_OPENGLRENDERINTERFACE_HPP_
67 void setViewport(
int _x,
int _y,
int _width,
int _height)
override;
68 void getViewport(
int& _x,
int& _y,
int& _width,
int& _height)
const override;
70 void clear(
const Eigen::Vector3d& _color)
override;
73 const Eigen::Vector3d& _diffuse,
74 const Eigen::Vector3d& _specular,
75 double _cosinePow)
override;
77 Eigen::Vector3d& _diffuse,
78 Eigen::Vector3d& _specular,
79 double& _cosinePow)
const override;
87 void translate(
const Eigen::Vector3d& _offset)
override;
88 void rotate(
const Eigen::Vector3d& _axis,
double _rad)
override;
89 void transform(
const Eigen::Isometry3d& _transform)
override;
90 void scale(
const Eigen::Vector3d& _scale)
override;
95 GLuint
compileList(
const Eigen::Vector3d& _scale,
const aiScene* _mesh);
97 void drawSphere(
double radius,
int slices = 16,
int stacks = 16)
override;
99 const std::vector<std::pair<double, Eigen::Vector3d>>& spheres,
101 int stacks = 16)
override;
103 const std::vector<std::pair<double, Eigen::Vector3d>>& spheres,
104 std::size_t subdivisions)
override;
105 void drawEllipsoid(
const Eigen::Vector3d& _diameters)
override;
106 void drawCube(
const Eigen::Vector3d& _size)
override;
112 int stacks = 16)
override;
117 int stacks = 16)
override;
118 void drawCapsule(
double radius,
double height)
override;
119 void drawCone(
double radius,
double height)
override;
120 void drawPyramid(
double baseWidth,
double baseDepth,
double height)
override;
121 void drawMesh(
const Eigen::Vector3d& _scale,
const aiScene* _mesh)
override;
125 const std::vector<Eigen::Vector3d>& _vertices,
128 void setPenColor(
const Eigen::Vector4d& _col)
override;
129 void setPenColor(
const Eigen::Vector3d& _col)
override;
140 void set_float4(
float f[4],
float a,
float b,
float c,
float d);
142 void recursiveRender(
const struct aiScene* sc,
const struct aiNode* nd);
147 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
std::size_t index
Definition SkelParser.cpp:1672
BodyNode class represents a single node of the skeleton.
Definition BodyNode.hpp:79
class Skeleton
Definition Skeleton.hpp:60
Definition OpenGLRenderInterface.hpp:53
void scale(const Eigen::Vector3d &_scale) override
Definition OpenGLRenderInterface.cpp:164
void transform(const Eigen::Isometry3d &_transform) override
Definition OpenGLRenderInterface.cpp:159
void drawCapsule(double radius, double height) override
Definition OpenGLRenderInterface.cpp:445
void drawMultiSphere(const std::vector< std::pair< double, Eigen::Vector3d > > &spheres, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:224
void drawEllipsoid(const Eigen::Vector3d &_diameters) override
Definition OpenGLRenderInterface.cpp:281
void drawList(GLuint index) override
Definition OpenGLRenderInterface.cpp:765
void compileList(dynamics::Skeleton *_skel)
Definition OpenGLRenderInterface.cpp:786
void drawCube(const Eigen::Vector3d &_size) override
Definition OpenGLRenderInterface.cpp:288
void translate(const Eigen::Vector3d &_offset) override
Definition OpenGLRenderInterface.cpp:149
void clear(const Eigen::Vector3d &_color) override
Definition OpenGLRenderInterface.cpp:107
void rotate(const Eigen::Vector3d &_axis, double _rad) override
Definition OpenGLRenderInterface.cpp:154
void popName() override
Definition OpenGLRenderInterface.cpp:144
void destroy() override
Definition OpenGLRenderInterface.cpp:87
int mViewportX
Definition OpenGLRenderInterface.hpp:144
OpenGLRenderInterface()
Definition OpenGLRenderInterface.hpp:55
virtual ~OpenGLRenderInterface()
Definition OpenGLRenderInterface.hpp:62
void getMaterial(Eigen::Vector3d &_diffuse, Eigen::Vector3d &_specular, double &_cosinePow) const override
Definition OpenGLRenderInterface.cpp:120
void saveToImage(const char *_filename, DecoBufferType _buffType=BT_Back) override
Definition OpenGLRenderInterface.cpp:874
void setDefaultMaterial() override
Definition OpenGLRenderInterface.cpp:127
void set_float4(float f[4], float a, float b, float c, float d)
Definition OpenGLRenderInterface.cpp:561
void drawSoftMesh(const aiMesh *mesh) override
Definition OpenGLRenderInterface.cpp:741
void popMatrix() override
Definition OpenGLRenderInterface.cpp:134
void getViewport(int &_x, int &_y, int &_width, int &_height) const override
Definition OpenGLRenderInterface.cpp:98
void drawMultiSphereConvexHull(const std::vector< std::pair< double, Eigen::Vector3d > > &spheres, std::size_t subdivisions) override
Definition OpenGLRenderInterface.cpp:241
void readFrameBuffer(DecoBufferType _buffType, DecoColorChannel _ch, void *_pixels) override
Definition OpenGLRenderInterface.cpp:869
int mViewportY
Definition OpenGLRenderInterface.hpp:144
int mViewportWidth
Definition OpenGLRenderInterface.hpp:144
void applyMaterial(const struct aiMaterial *mtl)
Definition OpenGLRenderInterface.cpp:571
void drawOpenCylinder(double baseRadius, double topRadius, double height, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:330
int mViewportHeight
Definition OpenGLRenderInterface.hpp:144
void initialize() override
Definition OpenGLRenderInterface.cpp:73
void setPenColor(const Eigen::Vector4d &_col) override
Definition OpenGLRenderInterface.cpp:854
void setMaterial(const Eigen::Vector3d &_diffuse, const Eigen::Vector3d &_specular, double _cosinePow) override
Definition OpenGLRenderInterface.cpp:113
void setLineWidth(float _width) override
Definition OpenGLRenderInterface.cpp:864
void drawCylinder(double _radius, double _height, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:352
void drawSphere(double radius, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:169
void drawLineSegments(const std::vector< Eigen::Vector3d > &_vertices, const common::aligned_vector< Eigen::Vector2i > &_connections) override
Definition OpenGLRenderInterface.cpp:770
void drawMesh(const Eigen::Vector3d &_scale, const aiScene *_mesh) override
Definition OpenGLRenderInterface.cpp:726
void color4_to_float4(const aiColor4D *c, float f[4])
Definition OpenGLRenderInterface.cpp:553
void recursiveRender(const struct aiScene *sc, const struct aiNode *nd)
Definition OpenGLRenderInterface.cpp:646
void drawPyramid(double baseWidth, double baseDepth, double height) override
Definition OpenGLRenderInterface.cpp:507
void setViewport(int _x, int _y, int _width, int _height) override
Definition OpenGLRenderInterface.cpp:89
void drawCone(double radius, double height) override
Definition OpenGLRenderInterface.cpp:478
void pushMatrix() override
Definition OpenGLRenderInterface.cpp:129
void pushName(int _id) override
Definition OpenGLRenderInterface.cpp:139
Definition RenderInterface.hpp:72
std::vector< _Tp, Eigen::aligned_allocator< _Tp > > aligned_vector
Definition Memory.hpp:71
DecoBufferType
Definition RenderInterface.hpp:47
@ BT_Back
Definition RenderInterface.hpp:49
DecoColorChannel
Definition RenderInterface.hpp:53
Definition BulletCollisionDetector.cpp:60