rtcMeshSet3D.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2008
00003  * Robert Bosch LLC
00004  * Research and Technology Center North America
00005  * Palo Alto, California
00006  *
00007  * All rights reserved.
00008  *
00009  *------------------------------------------------------------------------------
00010  * project ....: PUMA: Probablistic Unsupervised Model Acquisition
00011  * file .......: MeshSet3D.h
00012  * authors ....: Benjamin Pitzer
00013  * organization: Robert Bosch LLC
00014  * creation ...: 02/29/2008
00015  * modified ...: $Date:2008-03-03 10:26:02 -0800 (Mon, 03 Mar 2008) $
00016  * changed by .: $Author:benjaminpitzer $
00017  * revision ...: $Revision:141 $
00018  */
00019 #ifndef MESHSET3D_H
00020 #define MESHSET3D_H
00021 
00022 //== INCLUDES ==================================================================
00023 #include <vector>
00024 #include <iostream>
00025 #include <rtc/rtcIOObject.h>
00026 #include "rtc/rtcMesh3D.h"
00027 
00028 //== NAMESPACES ================================================================
00029 namespace rtc {
00030 #define MESHSET3D_HAS_AABB 0x01
00031 
00032 //== TYPE DECLARATIONS =========================================================
00033 typedef std::vector<Mesh3D*> VecMesh3D;
00034 
00035 //== CLASS DEFINITION ==========================================================
00036 class MeshSet3D : public IOObject
00037 {
00038 public:
00039   using IOObject::writeToFile;
00040   using IOObject::readFromFile;
00041 
00042   // standard c'tor and d'tor
00043   MeshSet3D();
00044   MeshSet3D(const MeshSet3D& other);
00045   const MeshSet3D &operator=(const MeshSet3D& other);
00046   ~MeshSet3D();
00047 
00048   // Accessors
00049   int numMeshes() const;
00050 
00051   // Mutators
00052   void clear();
00053   void set(const MeshSet3D& other);
00054   // updates the normals in all meshes
00055   void updateNormals();
00056 
00057   // flags
00058   void setFlag(int flag, bool value);
00059   bool getFlag(int flag) const;
00060   bool hasAABB() const;
00061 
00062   // stream IO
00063   virtual bool write(OutputHandler &oh) const;
00064   virtual bool read(InputHandler &ih);
00065   void write(FILE *fp) const;
00066   void read(FILE *fp);
00067   bool writeToFile( const char* filename ) const;
00068   bool readFromFile( const char* filename );
00069 
00070 
00071   void loadToGPU();
00072   void unloadGPU();
00073 
00074   // Protected Data
00075   int flags;
00076   VecMesh3D meshes;
00077   Point3Df topleft,bottomright;
00078 };
00079 
00080 //==============================================================================
00081 } // NAMESPACE rtc
00082 //==============================================================================
00083 #endif // MESHSET3D_H defined
00084 //==============================================================================


rtc
Author(s): Benjamin Pitzer
autogenerated on Thu Jan 2 2014 11:04:53