1#ifndef CYLINDER_INCLUDED
2#define CYLINDER_INCLUDED
36 static std::string
Directive(
void ){
return "shape_cylinder"; }
45 void _write( std::ostream &stream )
const;
46 void _read( std::istream &stream );
48 std::string
name(
void )
const {
return "cylinder"; }
Definition: GLSLProgram.h:33
Definition: cylinder.h:13
void updateBoundingBox(void)
Definition: cylinder.todo.cpp:27
int _materialIndex
Definition: cylinder.h:21
Cylinder(void)
Definition: cylinder.cpp:13
void init(const class LocalSceneData &data)
Definition: cylinder.todo.cpp:13
bool isInside(Util::Point3D p) const
Definition: cylinder.todo.cpp:69
GLuint _vertexBufferID
Definition: cylinder.h:15
Util::Point3D center
Definition: cylinder.h:27
bool processFirstIntersection(const Util::Ray3D &ray, const Util::BoundingBox1D &range, const RayIntersectionFilter &rFilter, const RayIntersectionKernel &rKernel, ShapeProcessingInfo spInfo, unsigned int tIdx) const
Definition: cylinder.todo.cpp:46
GLuint _elementBufferID
Definition: cylinder.h:18
void drawOpenGL(GLSLProgram *glslProgram) const
Definition: cylinder.todo.cpp:78
const class Material * _material
Definition: cylinder.h:24
double height
Definition: cylinder.h:30
static std::string Directive(void)
Definition: cylinder.h:36
int processAllIntersections(const Util::Ray3D &ray, const Util::BoundingBox1D &range, const RayIntersectionFilter &rFilter, const RayIntersectionKernel &rKernel, ShapeProcessingInfo spInfo, unsigned int tIdx) const
Definition: cylinder.todo.cpp:58
std::string name(void) const
Definition: cylinder.h:48
void initOpenGL(void)
Definition: cylinder.todo.cpp:35
double radius
Definition: cylinder.h:33
void _write(std::ostream &stream) const
Definition: cylinder.cpp:20
void _read(std::istream &stream)
Definition: cylinder.cpp:15
std::function< bool(double) > RayIntersectionFilter
Definition: shape.h:163
std::function< void(const ShapeProcessingInfo &, const class RayShapeIntersectionInfo &) > RayIntersectionKernel
Definition: shape.h:164
Definition: geometry.h:345
Definition: geometry.h:299