IceTriList.h
Go to the documentation of this file.
00001 
00002 
00008 
00009 
00011 // Include Guard
00012 #ifndef __ICETRILIST_H__
00013 #define __ICETRILIST_H__
00014 
00015         class ICEMATHS_API TriList : public Container
00016         {
00017                 public:
00018                 // Constructor / Destructor
00019                                                                 TriList()                                       {}
00020                                                                 ~TriList()                                      {}
00021 
00022                 inline_ udword                  GetNbTriangles()        const   { return GetNbEntries()/9;                      }
00023                 inline_ Triangle*               GetTriangles()          const   { return (Triangle*)GetEntries();       }
00024 
00025                                 void                    AddTri(const Triangle& tri)
00026                                                                 {
00027                                                                         Add(tri.mVerts[0].x).Add(tri.mVerts[0].y).Add(tri.mVerts[0].z);
00028                                                                         Add(tri.mVerts[1].x).Add(tri.mVerts[1].y).Add(tri.mVerts[1].z);
00029                                                                         Add(tri.mVerts[2].x).Add(tri.mVerts[2].y).Add(tri.mVerts[2].z);
00030                                                                 }
00031 
00032                                 void                    AddTri(const Point& p0, const Point& p1, const Point& p2)
00033                                                                 {
00034                                                                         Add(p0.x).Add(p0.y).Add(p0.z);
00035                                                                         Add(p1.x).Add(p1.y).Add(p1.z);
00036                                                                         Add(p2.x).Add(p2.y).Add(p2.z);
00037                                                                 }
00038         };
00039 
00040         class ICEMATHS_API TriangleList : public Container
00041         {
00042                 public:
00043                 // Constructor / Destructor
00044                                                                         TriangleList()                          {}
00045                                                                         ~TriangleList()                         {}
00046 
00047                 inline_ udword                          GetNbTriangles()        const   { return GetNbEntries()/3;                              }
00048                 inline_ IndexedTriangle*        GetTriangles()          const   { return (IndexedTriangle*)GetEntries();}
00049 
00050                                 void                            AddTriangle(const IndexedTriangle& tri)
00051                                                                         {
00052                                                                                 Add(tri.mVRef[0]).Add(tri.mVRef[1]).Add(tri.mVRef[2]);
00053                                                                         }
00054 
00055                                 void                            AddTriangle(udword vref0, udword vref1, udword vref2)
00056                                                                         {
00057                                                                                 Add(vref0).Add(vref1).Add(vref2);
00058                                                                         }
00059         };
00060 
00061 #endif //__ICETRILIST_H__


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:17