33#ifndef DART_GUI_OPENGLRENDERINTERFACE_HPP_
34#define DART_GUI_OPENGLRENDERINTERFACE_HPP_
69 void setViewport(
int _x,
int _y,
int _width,
int _height)
override;
70 void getViewport(
int& _x,
int& _y,
int& _width,
int& _height)
const override;
72 void clear(
const Eigen::Vector3d& _color)
override;
75 const Eigen::Vector3d& _diffuse,
76 const Eigen::Vector3d& _specular,
77 double _cosinePow)
override;
79 Eigen::Vector3d& _diffuse,
80 Eigen::Vector3d& _specular,
81 double& _cosinePow)
const override;
89 void translate(
const Eigen::Vector3d& _offset)
override;
90 void rotate(
const Eigen::Vector3d& _axis,
double _rad)
override;
91 void transform(
const Eigen::Isometry3d& _transform)
override;
92 void scale(
const Eigen::Vector3d& _scale)
override;
97 GLuint
compileList(
const Eigen::Vector3d& _scale,
const aiScene* _mesh);
99 void drawSphere(
double radius,
int slices = 16,
int stacks = 16)
override;
101 const std::vector<std::pair<double, Eigen::Vector3d>>& spheres,
103 int stacks = 16)
override;
105 const std::vector<std::pair<double, Eigen::Vector3d>>& spheres,
106 std::size_t subdivisions)
override;
107 void drawEllipsoid(
const Eigen::Vector3d& _diameters)
override;
108 void drawCube(
const Eigen::Vector3d& _size)
override;
114 int stacks = 16)
override;
119 int stacks = 16)
override;
120 void drawCapsule(
double radius,
double height)
override;
121 void drawCone(
double radius,
double height)
override;
122 void drawPyramid(
double baseWidth,
double baseDepth,
double height)
override;
123 void drawMesh(
const Eigen::Vector3d& _scale,
const aiScene* _mesh)
override;
127 const std::vector<Eigen::Vector3d>& _vertices,
130 void setPenColor(
const Eigen::Vector4d& _col)
override;
131 void setPenColor(
const Eigen::Vector3d& _col)
override;
142 void set_float4(
float f[4],
float a,
float b,
float c,
float d);
144 void recursiveRender(
const struct aiScene* sc,
const struct aiNode* nd);
149 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:59
Definition OpenGLRenderInterface.hpp:52
void scale(const Eigen::Vector3d &_scale) override
Definition OpenGLRenderInterface.cpp:166
void transform(const Eigen::Isometry3d &_transform) override
Definition OpenGLRenderInterface.cpp:161
void drawCapsule(double radius, double height) override
Definition OpenGLRenderInterface.cpp:447
void drawMultiSphere(const std::vector< std::pair< double, Eigen::Vector3d > > &spheres, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:226
void drawEllipsoid(const Eigen::Vector3d &_diameters) override
Definition OpenGLRenderInterface.cpp:283
void drawList(GLuint index) override
Definition OpenGLRenderInterface.cpp:767
void compileList(dynamics::Skeleton *_skel)
Definition OpenGLRenderInterface.cpp:788
void drawCube(const Eigen::Vector3d &_size) override
Definition OpenGLRenderInterface.cpp:290
void translate(const Eigen::Vector3d &_offset) override
Definition OpenGLRenderInterface.cpp:151
void clear(const Eigen::Vector3d &_color) override
Definition OpenGLRenderInterface.cpp:107
void rotate(const Eigen::Vector3d &_axis, double _rad) override
Definition OpenGLRenderInterface.cpp:156
void popName() override
Definition OpenGLRenderInterface.cpp:146
void destroy() override
Definition OpenGLRenderInterface.cpp:85
int mViewportX
Definition OpenGLRenderInterface.hpp:146
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:876
void setDefaultMaterial() override
Definition OpenGLRenderInterface.cpp:127
void set_float4(float f[4], float a, float b, float c, float d)
Definition OpenGLRenderInterface.cpp:563
void drawSoftMesh(const aiMesh *mesh) override
Definition OpenGLRenderInterface.cpp:743
void popMatrix() override
Definition OpenGLRenderInterface.cpp:136
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:243
void readFrameBuffer(DecoBufferType _buffType, DecoColorChannel _ch, void *_pixels) override
Definition OpenGLRenderInterface.cpp:871
int mViewportY
Definition OpenGLRenderInterface.hpp:146
int mViewportWidth
Definition OpenGLRenderInterface.hpp:146
void applyMaterial(const struct aiMaterial *mtl)
Definition OpenGLRenderInterface.cpp:573
void drawOpenCylinder(double baseRadius, double topRadius, double height, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:332
int mViewportHeight
Definition OpenGLRenderInterface.hpp:146
void initialize() override
Definition OpenGLRenderInterface.cpp:71
void setPenColor(const Eigen::Vector4d &_col) override
Definition OpenGLRenderInterface.cpp:856
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:866
void drawCylinder(double _radius, double _height, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:354
void drawSphere(double radius, int slices=16, int stacks=16) override
Definition OpenGLRenderInterface.cpp:171
void drawLineSegments(const std::vector< Eigen::Vector3d > &_vertices, const common::aligned_vector< Eigen::Vector2i > &_connections) override
Definition OpenGLRenderInterface.cpp:772
void drawMesh(const Eigen::Vector3d &_scale, const aiScene *_mesh) override
Definition OpenGLRenderInterface.cpp:728
void color4_to_float4(const aiColor4D *c, float f[4])
Definition OpenGLRenderInterface.cpp:555
void recursiveRender(const struct aiScene *sc, const struct aiNode *nd)
Definition OpenGLRenderInterface.cpp:648
void drawPyramid(double baseWidth, double baseDepth, double height) override
Definition OpenGLRenderInterface.cpp:509
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:480
void pushMatrix() override
Definition OpenGLRenderInterface.cpp:131
void pushName(int _id) override
Definition OpenGLRenderInterface.cpp:141
Definition RenderInterface.hpp:71
std::vector< _Tp, Eigen::aligned_allocator< _Tp > > aligned_vector
Definition Memory.hpp:71
DecoBufferType
Definition RenderInterface.hpp:46
@ BT_Back
Definition RenderInterface.hpp:48
DecoColorChannel
Definition RenderInterface.hpp:52
Definition BulletCollisionDetector.cpp:65