Differential D11057 Diff 36451 source/blender/freestyle/intern/view_map/ArbitraryGridDensityProvider.cpp
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/freestyle/intern/view_map/ArbitraryGridDensityProvider.cpp
| Show First 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | ArbitraryGridDensityProvider::ArbitraryGridDensityProvider(OccluderSource &source, | ||||
| : GridDensityProvider(source), numCells(numCells) | : GridDensityProvider(source), numCells(numCells) | ||||
| { | { | ||||
| real proscenium[4]; | real proscenium[4]; | ||||
| calculateOptimalProscenium(source, proscenium); | calculateOptimalProscenium(source, proscenium); | ||||
| initialize(proscenium); | initialize(proscenium); | ||||
| } | } | ||||
| ArbitraryGridDensityProvider::~ArbitraryGridDensityProvider() | |||||
| { | |||||
| } | |||||
| void ArbitraryGridDensityProvider::initialize(const real proscenium[4]) | void ArbitraryGridDensityProvider::initialize(const real proscenium[4]) | ||||
| { | { | ||||
| float prosceniumWidth = (proscenium[1] - proscenium[0]); | float prosceniumWidth = (proscenium[1] - proscenium[0]); | ||||
| float prosceniumHeight = (proscenium[3] - proscenium[2]); | float prosceniumHeight = (proscenium[3] - proscenium[2]); | ||||
| real cellArea = prosceniumWidth * prosceniumHeight / numCells; | real cellArea = prosceniumWidth * prosceniumHeight / numCells; | ||||
| if (G.debug & G_DEBUG_FREESTYLE) { | if (G.debug & G_DEBUG_FREESTYLE) { | ||||
| cout << prosceniumWidth << " x " << prosceniumHeight << " grid with cells of area " << cellArea | cout << prosceniumWidth << " x " << prosceniumHeight << " grid with cells of area " << cellArea | ||||
| << "." << endl; | << "." << endl; | ||||
| Show All 24 Lines | void ArbitraryGridDensityProvider::initialize(const real proscenium[4]) | ||||
| _cellOrigin[1] = ((proscenium[2] + proscenium[3]) / 2.0) - (_cellsY / 2.0) * _cellSize; | _cellOrigin[1] = ((proscenium[2] + proscenium[3]) / 2.0) - (_cellsY / 2.0) * _cellSize; | ||||
| } | } | ||||
| ArbitraryGridDensityProviderFactory::ArbitraryGridDensityProviderFactory(unsigned numCells) | ArbitraryGridDensityProviderFactory::ArbitraryGridDensityProviderFactory(unsigned numCells) | ||||
| : numCells(numCells) | : numCells(numCells) | ||||
| { | { | ||||
| } | } | ||||
| ArbitraryGridDensityProviderFactory::~ArbitraryGridDensityProviderFactory() | |||||
| { | |||||
| } | |||||
| AutoPtr<GridDensityProvider> ArbitraryGridDensityProviderFactory::newGridDensityProvider( | AutoPtr<GridDensityProvider> ArbitraryGridDensityProviderFactory::newGridDensityProvider( | ||||
| OccluderSource &source, const real proscenium[4]) | OccluderSource &source, const real proscenium[4]) | ||||
| { | { | ||||
| return AutoPtr<GridDensityProvider>( | return AutoPtr<GridDensityProvider>( | ||||
| new ArbitraryGridDensityProvider(source, proscenium, numCells)); | new ArbitraryGridDensityProvider(source, proscenium, numCells)); | ||||
| } | } | ||||
| AutoPtr<GridDensityProvider> ArbitraryGridDensityProviderFactory::newGridDensityProvider( | AutoPtr<GridDensityProvider> ArbitraryGridDensityProviderFactory::newGridDensityProvider( | ||||
| Show All 13 Lines | |||||