Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/physics_new/src/ogrebullet/Collisions/Debug/OgreBulletCollisionsDebugLines.h @ 2119

Last change on this file since 2119 was 2119, checked in by rgrieder, 15 years ago

Merged physics branch into physics_new branch.

  • Property svn:eol-style set to native
File size: 2.7 KB
Line 
1/***************************************************************************
2
3This source file is part of OGREBULLET
4(Object-oriented Graphics Rendering Engine Bullet Wrapper)
5For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10
6
7Copyright (c) 2007 tuan.kuranes@gmail.com (Use it Freely, even Statically, but have to contribute any changes)
8
9
10
11This program is free software; you can redistribute it and/or modify it under
12the terms of the GPL General Public License with runtime exception as published by the Free Software
13Foundation; either version 2 of the License, or (at your option) any later
14version.
15
16This program is distributed in the hope that it will be useful, but WITHOUT
17ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18FOR A PARTICULAR PURPOSE. See the GPL General Public License with runtime exception for more details.
19
20You should have received a copy of the GPL General Public License with runtime exception along with
21this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22Place - Suite 330, Boston, MA 02111-1307, USA, or go to
23http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
24-----------------------------------------------------------------------------
25*/
26#ifndef _OgreBulletCollisions_DEBUGLines_H_
27#define _OgreBulletCollisions_DEBUGLines_H_
28
29#include "OgreBulletCollisionsPreRequisites.h"
30
31namespace OgreBulletCollisions
32{
33    //------------------------------------------------------------------------------------------------
34    class  DebugLines:public Ogre::SimpleRenderable
35    {
36    public:
37        DebugLines(void);
38        ~DebugLines(void);
39
40        void addLine (const Ogre::Vector3 &start,const Ogre::Vector3 &end)
41        {
42            clear ();
43
44            _points.push_back (start);
45            _points.push_back (end);
46        }
47
48        void addLine(Ogre::Real start_x, Ogre::Real start_y, Ogre::Real start_z, 
49            Ogre::Real end_x, Ogre::Real end_y, Ogre::Real end_z)
50        {
51            addLine (Ogre::Vector3(start_x,start_y,start_z),
52                Ogre::Vector3(end_x,end_y,end_z));
53        }
54
55        void addPoint (const Ogre::Vector3 &pt)
56        {
57            clear();
58
59            _points.push_back(pt);
60        }
61
62        void addPoint (Ogre::Real x, Ogre::Real y, Ogre::Real z)
63        {
64            addPoint (Ogre::Vector3(x, y, z));
65        }
66
67        void draw ();
68        void clear ();
69
70        Ogre::Real getSquaredViewDepth (const Ogre::Camera *cam) const;
71        Ogre::Real getBoundingRadius (void) const;
72
73    protected:
74
75        Vector3Array _points;
76        bool _drawn;
77
78        static bool _materials_created;
79    };
80}
81#endif //_OgreBulletCollisions_DEBUGLines_H_
82
Note: See TracBrowser for help on using the repository browser.