#include <Path.h>
Inheritance diagram for Track::Path:

Public Types | |
| typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, PathVertex, PathEdge > | Graph |
| Graph of track layout. | |
Public Member Functions | |
| Path (std::istream &source, const Theme &theme, const Track *track, bool editor=false) | |
| initalise from a stream | |
| Path (const Theme &theme, const Track *track, bool editor=false) | |
| Make an empty path. | |
| virtual | ~Path () |
| AxisAlignedBoundingBox | get_bounding_box () const |
| Get the axis aligned bounding box of the vertices and control points in the path with some padding. | |
| PathVertex & | get_node (const std::size_t index) |
| find a graph node by ID | |
| const PathVertex & | get_node (const std::size_t index) const |
| find a graph node by ID | |
| Path::Graph::vertex_descriptor | get_node_descriptor (const std::size_t index) |
| find a graph node descriptor by ID | |
| const Path::Graph::vertex_descriptor | get_node_descriptor (const std::size_t index) const |
| find a graph node descriptor by ID | |
| PathEdge & | get_edge (const std::size_t index) |
| find a graph edge by ID | |
| const PathEdge & | get_edge (const std::size_t index) const |
| find a graph edge by ID | |
| Path::Graph::edge_descriptor | get_edge_descriptor (const std::size_t index) |
| find a graph edge descriptor by ID | |
| const Path::Graph::edge_descriptor | get_edge_descriptor (const std::size_t index) const |
| find a graph edge descriptor by ID | |
| void | set_handle_lengths (btScalar handle_length) |
| Set the lengths of the rotation handles present in the path's vertices. | |
| void | update_connected_edges (Path::Graph::vertex_descriptor vertex_descriptor) |
| Update the edges connected to a particular vertex. | |
| const EditAssist::SegmentConnectionHandle * | get_nearest_segment_connection_handle (btVector3 position) const |
| Find the nearest SegmentConnectionHandle to the given position. | |
| const EditAssist::SegmentConnectionHandle * | get_nearest_segment_connection_handle (btVector3 position, btVector3 normal) const |
| Find the nearest SegmentConnectionHandle to the given line. | |
| void | add_collision_faces (btTriangleMesh &shape) const |
| Add the surfaces you can collide with to a shape. | |
| void | add_floor_faces (btTriangleMesh &shape) const |
| Add the surfaces you should be able to drive on to a shape. | |
| void | add_ai_faces (MeshFaces &mesh) const |
| Add the surface AI considers to a mesh. | |
| unsigned long int | get_starting_edge () const |
| return the name of the edge which cars should start the race on. | |
| void | set_starting_edge (unsigned long int new_edge_name) |
| change the edge cars start on. | |
| void | find_start_plane (btVector3 &normal, btScalar &distance) const |
| Find the plane where start/finish line is on. | |
| btVector3 | find_start_position () const |
| Get the centre of the disc used as the start finish line. | |
| virtual void | draw () const |
| Draw the object. | |
| virtual void | conditional_draw (const OcclusionTester &occlusion_tester) const |
| Draw the object if it is visible. | |
| virtual AxisAlignedBoundingBox | get_bounds () const |
| Get the Axis aligned bounding box of the object. | |
Public Attributes | |
| Graph | graph |
| bool | editor |
| True to make paths appear wireframe, false for solid shading. | |
Private Member Functions | |
| Path::Graph::vertex_descriptor | get_node_descriptor_internal (const std::size_t index) const |
| Path::Graph::edge_descriptor | get_edge_descriptor_internal (const std::size_t index) const |
Private Attributes | |
| const unsigned int | file_version |
| const Theme & | theme |
| unsigned long int | starting_edge |
| The name of the edge to start the cars on, or 0 if not set properly. | |
Friends | |
| std::ostream & | operator<< (std::ostream &destination, const Path &path) |
Definition at line 43 of file Path.h.
| typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, PathVertex, PathEdge> Track::Path::Graph |
| void Track::Path::add_ai_faces | ( | MeshFaces & | mesh | ) | const |
| void Track::Path::add_collision_faces | ( | btTriangleMesh & | shape | ) | const |
| void Track::Path::add_floor_faces | ( | btTriangleMesh & | shape | ) | const |
| void Track::Path::conditional_draw | ( | const OcclusionTester & | occlusion_tester | ) | const [virtual] |
Draw the object if it is visible.
| occlusion_tester | Reference to object describing planes of the view's frustrum to test against. |
Reimplemented from Track::Drawable.
| void Track::Path::draw | ( | ) | const [virtual] |
Draw the object.
Called indirectly by draw(const OcclusionTester &) const when it is on the screen, but can also be called manually if view bounds are not known.
Implements Track::Drawable.
| void Track::Path::find_start_plane | ( | btVector3 & | normal, | |
| btScalar & | distance | |||
| ) | const |
| btVector3 Track::Path::find_start_position | ( | ) | const |
| AxisAlignedBoundingBox Track::Path::get_bounding_box | ( | ) | const |
| AxisAlignedBoundingBox Track::Path::get_bounds | ( | ) | const [virtual] |
Get the Axis aligned bounding box of the object.
The object is contained entierly within this region.
Implements Track::AABBBounded.
| const PathEdge & Track::Path::get_edge | ( | const std::size_t | index | ) | const |
| PathEdge & Track::Path::get_edge | ( | const std::size_t | index | ) |
| const Path::Graph::edge_descriptor Track::Path::get_edge_descriptor | ( | const std::size_t | index | ) | const |
| Path::Graph::edge_descriptor Track::Path::get_edge_descriptor | ( | const std::size_t | index | ) |
| Path::Graph::edge_descriptor Track::Path::get_edge_descriptor_internal | ( | const std::size_t | index | ) | const [private] |
| const EditAssist::SegmentConnectionHandle * Track::Path::get_nearest_segment_connection_handle | ( | btVector3 | position, | |
| btVector3 | normal | |||
| ) | const |
| const EditAssist::SegmentConnectionHandle * Track::Path::get_nearest_segment_connection_handle | ( | btVector3 | position | ) | const |
| const PathVertex & Track::Path::get_node | ( | const std::size_t | index | ) | const |
| PathVertex & Track::Path::get_node | ( | const std::size_t | index | ) |
| const Path::Graph::vertex_descriptor Track::Path::get_node_descriptor | ( | const std::size_t | index | ) | const |
| Path::Graph::vertex_descriptor Track::Path::get_node_descriptor | ( | const std::size_t | index | ) |
| Path::Graph::vertex_descriptor Track::Path::get_node_descriptor_internal | ( | const std::size_t | index | ) | const [private] |
| unsigned long int Track::Path::get_starting_edge | ( | ) | const |
| void Track::Path::set_handle_lengths | ( | btScalar | handle_length | ) |
| void Track::Path::set_starting_edge | ( | unsigned long int | new_edge_name | ) |
| void Track::Path::update_connected_edges | ( | Path::Graph::vertex_descriptor | vertex_descriptor | ) |
Update the edges connected to a particular vertex.
This recalculates the length, number of segments, and meshes. You should call this after changing a vertex's position, segment, or angle.
| vertex_descriptor | The vertex descriptor of the vertex that was changed. |
| std::ostream& operator<< | ( | std::ostream & | destination, | |
| const Path & | path | |||
| ) | [friend] |
| bool Track::Path::editor |
const unsigned int Track::Path::file_version [private] |
unsigned long int Track::Path::starting_edge [private] |
const Theme& Track::Path::theme [private] |
Generated at Mon Sep 6 00:41:18 2010 by Doxygen version 1.4.7 for Racer version svn335.