~ubuntu-branches/ubuntu/trusty/blender/trusty-proposed

« back to all changes in this revision

Viewing changes to source/blender/freestyle/intern/view_map/Pow23GridDensityProvider.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2013-08-14 10:43:49 UTC
  • mfrom: (14.2.19 sid)
  • Revision ID: package-import@ubuntu.com-20130814104349-t1d5mtwkphp12dyj
Tags: 2.68a-3
* Upload to unstable
* debian/: python3.3 Depends simplified
  - debian/control: python3.3 Depends dropped
    for blender-data package
  - 0001-blender_thumbnailer.patch refreshed
* debian/control: libavcodec b-dep versioning dropped

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * ***** BEGIN GPL 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.
 
8
 *
 
9
 * This program is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program; if not, write to the Free Software Foundation,
 
16
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
17
 *
 
18
 * ***** END GPL LICENSE BLOCK *****
 
19
 */
 
20
 
 
21
#ifndef __FREESTYLE_POW_23_GRID_DENSITY_PROVIDER_H__
 
22
#define __FREESTYLE_POW_23_GRID_DENSITY_PROVIDER_H__
 
23
 
 
24
/** \file blender/freestyle/intern/view_map/Pow23GridDensityProvider.h
 
25
 *  \ingroup freestyle
 
26
 *  \brief Class to define a cell grid surrounding the projected image of a scene
 
27
 *  \author Alexander Beels
 
28
 *  \date 2011-2-8
 
29
 */
 
30
 
 
31
#include "GridDensityProvider.h"
 
32
 
 
33
namespace Freestyle {
 
34
 
 
35
class Pow23GridDensityProvider : public GridDensityProvider
 
36
{
 
37
        // Disallow copying and assignment
 
38
        Pow23GridDensityProvider(const Pow23GridDensityProvider& other);
 
39
        Pow23GridDensityProvider& operator=(const Pow23GridDensityProvider& other);
 
40
 
 
41
public:
 
42
        Pow23GridDensityProvider(OccluderSource& source, const real proscenium[4], unsigned numFaces);
 
43
        Pow23GridDensityProvider(OccluderSource& source, const BBox<Vec3r>& bbox, const GridHelpers::Transform& transform,
 
44
                                 unsigned numFaces);
 
45
        Pow23GridDensityProvider(OccluderSource& source, unsigned numFaces);
 
46
        virtual ~Pow23GridDensityProvider();
 
47
 
 
48
protected:
 
49
        unsigned numFaces;
 
50
 
 
51
private:
 
52
        void initialize(const real proscenium[4]);
 
53
};
 
54
 
 
55
class Pow23GridDensityProviderFactory : public GridDensityProviderFactory
 
56
{
 
57
public:
 
58
        Pow23GridDensityProviderFactory(unsigned numFaces);
 
59
        ~Pow23GridDensityProviderFactory();
 
60
 
 
61
        auto_ptr<GridDensityProvider> newGridDensityProvider(OccluderSource& source, const real proscenium[4]);
 
62
        auto_ptr<GridDensityProvider> newGridDensityProvider(OccluderSource& source, const BBox<Vec3r>& bbox,
 
63
                                                             const GridHelpers::Transform& transform);
 
64
        auto_ptr<GridDensityProvider> newGridDensityProvider(OccluderSource& source);
 
65
 
 
66
protected:
 
67
        unsigned numFaces;
 
68
};
 
69
 
 
70
} /* namespace Freestyle */
 
71
 
 
72
#endif // __FREESTYLE_POW_23_GRID_DENSITY_PROVIDER_H__