55 #ifndef KJB_DRAW_SHAPE_H
56 #define KJB_DRAW_SHAPE_H
67 #define rad_to_deg 57.2957795
106 void build_cylinder(std::vector<Vector>& vlist, std::vector<Vector>& nlist,
int facets,
int ribs,
float radius,
float length);
113 void build_frustum(std::vector<Vector>& vlist, std::vector<Vector>& nlist,
int facets,
int ribs,
float radius_bottom,
float radius_top,
float length);
119 void untransform_points(std::vector<Vector>& vlist,
const Vector& bottom,
const double angle_y,
const double angle_x, std::vector<Vector>& vlist_tr);
125 void draw_cylinder_edges(std::vector<Vector>& vlist,
int facets,
int ribs,
const Vector& bottom,
const double angle_y,
const double angle_x,
const Perspective_camera* camera);
void render_cylinder_silhouette(const Polymesh *polymesh, const Perspective_camera *camera)
Definition: st_draw_shape.cpp:908
void build_cylinder(std::vector< Vector > &vlist, std::vector< Vector > &nlist, int facets, int ribs, float radius, float length)
Creates a list of vertices for a cylinder with the given height and radius on the z-axis with the bot...
Definition: st_draw_shape.cpp:556
void draw_cylinder_facets(std::vector< Vector > &vlist, int facets, int ribs)
Definition: st_draw_shape.cpp:858
void render_frustum_silhouette(const Polymesh *polymesh, Perspective_camera *camera)
Definition: st_draw_shape.cpp:1074
void render_occlude_frustum_silhouette(const Polymesh *polymesh, Perspective_camera *camera)
Definition: st_draw_shape.cpp:1146
classes to interface camera models to opengl for rendering
void draw_cylinder_edges(std::vector< Vector > &vlist, int facets, int ribs, const Vector &bottom, const double angle_y, const double angle_x, const Perspective_camera *camera)
Definition: st_draw_shape.cpp:755
int draw_cylinder_section(GLUquadricObj *myQuadric, const Vector &p1, const Vector &p2, double radius, double angle, const Vector &angle_startpt, const Vector &angle_endpt, GLuint &MY_CLIP_PLANE, GLuint &MY_CLIP_PLANE1)
Uses opengl to draw a cylinder section.
Definition: st_draw_shape.cpp:272
r
Definition: APPgetLargeConnectedEdges.m:127
void draw_translated_and_rotated_cylinder(GLUquadricObj *myQuadric, const Vector &bottom, const double angle_y, const double angle_x, const double radius, const double magnitude)
Definition: st_draw_shape.cpp:148
size_t length(const C &cner)
Counts the total number of elements in a 2D STL-style container.
Definition: l_util.h:17
void compute_cylinder_rotation_angles(const Vector &p1, const Vector &p2, Vector &top, Vector &bottom, double &magnitude, double &angle_y, double &angle_x)
Definition: st_draw_shape.cpp:76
Abstract class of connected polygons (faces) forming a mesh.
void untransform_points(std::vector< Vector > &vlist, const Vector &bottom, const double angle_y, const double angle_x, std::vector< Vector > &vlist_tr)
Definition: st_draw_shape.cpp:655
Cylinder_section: a section of a geometric cylinder.
void build_frustum(std::vector< Vector > &vlist, std::vector< Vector > &nlist, int facets, int ribs, float radius_bottom, float radius_top, float length)
Creates a list of vertices for a frustum with the given height and radius of bottom and top faces on ...
Definition: st_draw_shape.cpp:601
void render_occlude_cylinder_silhouette(const Polymesh *polymesh, const Perspective_camera *camera)
Definition: st_draw_shape.cpp:982
Definition for the Vector class, a thin wrapper on the KJB Vector struct and its related functionalit...
int draw_cylinder(GLUquadricObj *myQuadric, const Vector &p1, const Vector &p2, double r)
Uses opengl to draw a cylinder with the given points as the centers of the top and bottom of the cyli...
Definition: st_draw_shape.cpp:182