7 #ifndef CAFU_MATSYS_MAP_COMPOSITION_HPP_INCLUDED
8 #define CAFU_MATSYS_MAP_COMPOSITION_HPP_INCLUDED
10 #include "TextParser/TextParser.hpp"
23 enum MinMagFiltersT { Nearest, Linear, Nearest_MipMap_Nearest, Nearest_MipMap_Linear, Linear_MipMap_Nearest, Linear_MipMap_Linear };
31 enum TypeT { Empty, Map, Add, Mul, CombineNormals, HeightMapToNormalMap, FlipNormalMapYAxis, ReNormalize, BlueToAlpha };
41 MapCompositionT(
TextParserT& TP,
const std::string& BaseDir_,
bool NoCompression_=
false,
const unsigned long RecursionCount=0) ;
57 bool IsEmpty()
const {
return Type==Empty; };
96 void Init(
TextParserT& TP,
const unsigned long RecursionCount) ;
106 std::string FileName;
107 std::string* BaseDir;
MapCompositionT(MinMagFiltersT MinFilter_=Linear_MipMap_Linear, MinMagFiltersT MagFilter_=Linear, WrapModesT WrapS_=Repeat, WrapModesT WrapT_=Repeat, bool NoScaleDown_=false, bool NoCompression_=false)
Constructor for creating an "empty" map composition.
Definition: MapComposition.cpp:30
MinMagFiltersT GetMinFilter() const
Returns the filter for minification.
Definition: MapComposition.hpp:63
WrapModesT GetWrapModeT() const
Returns the wrapping mode in t-direction.
Definition: MapComposition.hpp:66
MapCompositionT & operator=(const MapCompositionT &Source)
Assignment Operator (Law of the Big Three).
Definition: MapComposition.cpp:266
This class represents a RGBA bitmap.
Definition: Bitmap.hpp:20
std::string GetBaseDir() const
Returns the base dir of this MapCompositionT. Can be the empty string for empty map compositions...
Definition: MapComposition.cpp:777
bool GetNoScaleDown() const
Returns whether the texture should not be scaled down (e.g. for optimizing performance).
Definition: MapComposition.hpp:67
BitmapT * GetBitmap() const
This function loads all image source files from disk (at *BaseDir+FileName), and combines them (accor...
Definition: MapComposition.cpp:334
WrapModesT
This enum describes the wrap mode of this map composition, kept in the root MapCompositionT (the chil...
Definition: MapComposition.hpp:26
~MapCompositionT()
Destructor (Law of the Big Three).
Definition: MapComposition.cpp:258
MinMagFiltersT GetMagFilter() const
Returns the filter for magnification.
Definition: MapComposition.hpp:64
TypeT GetType() const
Returns the type of this map composition.
Definition: MapComposition.hpp:69
bool GetNoCompression() const
Returns whether the texture should not be compressed (e.g. for optimizing performance/memory).
Definition: MapComposition.hpp:68
const MapCompositionT * GetChild(int Num) const
Returns one of the children of this MapCompositionT.
Definition: MapComposition.hpp:61
WrapModesT GetWrapModeS() const
Returns the wrapping mode in s-direction.
Definition: MapComposition.hpp:65
std::string GetString() const
Returns a string description of this MapCompositionT (quasi the counter-piece to the constructor)...
Definition: MapComposition.cpp:659
A MapCompositionT is a description of how a SINGLE texture map image is composited from several sourc...
Definition: MapComposition.hpp:18
TypeT
This enum describes the type of the map composition.
Definition: MapComposition.hpp:31
bool operator==(const MapCompositionT &rhs) const
Equal Operator.
Definition: MapComposition.cpp:292
bool IsEmpty() const
Returns true iff this MapComposition is empty.
Definition: MapComposition.hpp:57
std::string GetStringWithOptions(bool NoCompressionDefault=false) const
Like GetString(), which is kept for backwards-compatibility, but includes the list of options as well...
Definition: MapComposition.cpp:696
MinMagFiltersT
This enum describes the filter mode of this map composition, kept in the root MapCompositionT (the ch...
Definition: MapComposition.hpp:23
This is a class for parsing text.
Definition: TextParser.hpp:21