~ubuntu-branches/ubuntu/intrepid/blender/intrepid-updates

« back to all changes in this revision

Viewing changes to intern/boolop/intern/BOP_MaterialContainer.h

  • Committer: Bazaar Package Importer
  • Author(s): Cyril Brulebois
  • Date: 2008-08-08 02:45:40 UTC
  • mfrom: (12.1.14 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080808024540-kkjp7ekfivzhuw3l
Tags: 2.46+dfsg-4
* Fix python syntax warning in import_dxf.py, which led to nasty output
  in installation/upgrade logs during byte-compilation, using a patch
  provided by the script author (Closes: #492280):
   - debian/patches/45_fix_python_syntax_warning

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
3
 
 *
4
 
 * This program is free software; you can redistribute it and/or
5
 
 * modify it under the terms of the GNU General Public License
6
 
 * as published by the Free Software Foundation; either version 2
7
 
 * of the License, or (at your option) any later version. The Blender
8
 
 * Foundation also sells licenses for use in proprietary software under
9
 
 * the Blender License.  See http://www.blender.org/BL/ for information
10
 
 * about this.
11
 
 *
12
 
 * This program is distributed in the hope that it will be useful,
13
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
 * GNU General Public License for more details.
16
 
 *
17
 
 * You should have received a copy of the GNU General Public License
18
 
 * along with this program; if not, write to the Free Software Foundation,
19
 
 * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
 
 *
21
 
 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
22
 
 * All rights reserved.
23
 
 *
24
 
 * The Original Code is: all of this file.
25
 
 *
26
 
 * Contributor(s): none yet.
27
 
 *
28
 
 * ***** END GPL/BL DUAL LICENSE BLOCK *****
29
 
 */
30
 
 
31
 
#ifndef BOP_MATERIALCONTAINER_H
32
 
#define BOP_MATERIALCONTAINER_H
33
 
 
34
 
#include "BOP_Mesh.h"
35
 
#include "BOP_Material.h"
36
 
#include "BOP_Interface.h"
37
 
#include <vector>
38
 
using namespace std;
39
 
 
40
 
typedef vector<BOP_Material> BOP_Materials;
41
 
typedef vector<BOP_Material>::iterator BOP_IT_Materials;
42
 
 
43
 
class BOP_MaterialContainer
44
 
{
45
 
private:
46
 
        BOP_Materials m_materialList;
47
 
        CSG_InterpolateUserFaceVertexDataFunc m_interpFunc;
48
 
 
49
 
public:
50
 
        BOP_MaterialContainer();
51
 
        ~BOP_MaterialContainer();
52
 
        BOP_Index addMaterial(BOP_Material m);
53
 
        void setInterpFunc(CSG_InterpolateUserFaceVertexDataFunc interpFunc);
54
 
        BOP_Materials& getMaterialList();
55
 
        BOP_Material* getMaterial(BOP_Index index);
56
 
        char* getFaceMaterial(BOP_Index index);
57
 
        char* getFaceVertexMaterial(BOP_Mesh *mesh, 
58
 
                                                                BOP_Index originalFaceIndex, 
59
 
                                                                MT_Point3 point, 
60
 
                                                                char* faceVertexMaterial);
61
 
 
62
 
        friend ostream &operator<<(ostream &stream, BOP_MaterialContainer *mc);
63
 
          
64
 
private:
65
 
        char* interpolateMaterial(BOP_Mesh* mesh,
66
 
                                                          BOP_Face* face, 
67
 
                                                          BOP_Material& material,
68
 
                                                          MT_Point3 point, 
69
 
                                                          char* faceVertexMaterial);
70
 
};
71
 
 
72
 
#endif