TrackAttachment.h

Go to the documentation of this file.
00001 
00005 /* Copyright © 2009, 2010 James Legg.
00006     This program is free software: you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation, either version 3 of the License, or
00009     (at your option) any later version.
00010 */
00011 #ifndef LIBTRACK_TRACK_ATTACHMENT_H_
00012 #define LIBTRACK_TRACK_ATTACHMENT_H_
00013 
00014 #include <iostream>
00015 #include <LinearMath/btScalar.h>
00016 #include <LinearMath/btTransform.h>
00017 #include "UniqueIdentifier.h"
00018 #include "ClassLoader.h"
00019 #include "NearTrack.h"
00020 
00021 namespace Track
00022 {
00023 
00029 class TrackAttachment
00030     :   public UniqueIdentifier
00031     ,   public Savable
00032 {
00033 public:
00034     TrackAttachment(std::istream & source);
00035     TrackAttachment();
00036     virtual ~TrackAttachment();
00037     
00038     btScalar get_t_position() const;
00040     void set_t_position(btScalar value);
00041     
00042     btScalar get_lateral_position() const;
00044     void set_lateral_position(btScalar value);
00045     
00046     btScalar get_vertical_position() const;
00050     void set_vertical_position(btScalar value);
00051     
00054     virtual void add_data(std::ostream & stream) const;
00055     
00056     virtual std::string get_class_identifier() const;
00057     
00058     std::size_t edge_name;
00063     virtual void draw() const;
00069     void set_global_transform(btTransform pos);
00071     const btTransform & get_global_transform() const;
00072 protected:
00074     btTransform m_global_transform;
00078     btScalar m_t_position;
00083     btScalar m_lateral_position;
00088     btScalar m_vertical_position;
00089 };
00090 
00091 // Add a TrackAttachment or its children to a stream.
00092 std::ostream & operator<<(std::ostream & destination, const TrackAttachment & attachment);
00093 
00094 } // namespace Track
00095 
00096 
00097 #endif // LIBTRACK_TRACK_ATTACHMENT_H_

Get Racer at SourceForge.net. Fast, secure and Free Open Source software downloads

Generated at Mon Sep 6 00:41:12 2010 by Doxygen version 1.4.7 for Racer version svn335.