KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Macros | Functions
st_draw_shape.h File Reference
#include <m_cpp/m_vector.h>
#include <gr_cpp/gr_opengl.h>
#include <gr_cpp/gr_opengl_headers.h>
#include <gr_cpp/gr_camera.h>
#include <gr_cpp/gr_polymesh.h>
#include <st_cpp/st_perspective_camera.h>
#include <g_cpp/g_cylinder.h>
#include <g_cpp/g_cylinder_section.h>

Go to the source code of this file.

Namespaces

 kjb
 Classes and functions for dealing with trajectory files.
 

Macros

#define rad_to_deg   57.2957795
 

Functions

int kjb::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 cylinder and with the given radius. More...
 
int kjb::draw_cylinder (Perspective_camera &c, GLUquadricObj *myQuadric, const Vector &p1, const Vector &p2, double r)
 
int kjb::draw_cylinder (GLUquadricObj *myQuadric, const Cylinder cyl)
 
int kjb::draw_cylinder (Perspective_camera &c, GLUquadricObj *myQuadric, const std::vector< Cylinder > cylinders)
 
int kjb::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. More...
 
int kjb::draw_cylinder_section (Perspective_camera &c, GLUquadricObj *myQuadric, const std::vector< Cylinder_section > cylinders)
 
void kjb::compute_cylinder_rotation_angles (const Vector &p1, const Vector &p2, Vector &top, Vector &bottom, double &magnitude, double &angle_y, double &angle_x)
 
void kjb::draw_translated_and_rotated_cylinder (GLUquadricObj *myQuadric, const Vector &bottom, const double angle_y, const double angle_x, const double radius, const double magnitude)
 
void kjb::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 bottom face centered at the origin. Also creates a corresponding list containing the normal vector for each vertex. More...
 
void kjb::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 the z-axis with the bottom face centered at the origin. Also creates a corresponding list containing the normal vector for each vertex. More...
 
void kjb::untransform_points (std::vector< Vector > &vlist, const Vector &bottom, const double angle_y, const double angle_x, std::vector< Vector > &vlist_tr)
 
void kjb::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 kjb::draw_cylinder_facets (std::vector< Vector > &vlist, int facets, int ribs)
 
void kjb::render_cylinder_silhouette (const Polymesh *polymesh, const Perspective_camera *camera)
 
void kjb::render_occlude_cylinder_silhouette (const Polymesh *polymesh, const Perspective_camera *camera)
 
void kjb::render_frustum_silhouette (const Polymesh *polymesh, Perspective_camera *camera)
 
void kjb::render_occlude_frustum_silhouette (const Polymesh *polymesh, Perspective_camera *camera)
 

Macro Definition Documentation

#define rad_to_deg   57.2957795

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

http://creativecommons.org/licenses/by-nc-sa/3.0/us/

You are free:

to Share - to copy, distribute, display, and perform the work to Remix - to make derivative works

Under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Noncommercial. You may not use this work for commercial purposes.

Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.

Any of the above conditions can be waived if you get permission from the copyright holder.

Apart from the remix rights granted under this license, nothing in this license impairs or restricts the author's moral rights.