59 #ifndef ACG_DRAWMODES_HH 60 #define ACG_DRAWMODES_HH 79 #include "../Config/ACGDefines.hh" 83 #if defined (_MSC_VER) 84 # pragma warning (disable:4251) 130 PRIMITIVE_HIDDENLINE,
173 typedef std::bitset<128> ModeFlagSet;
192 bool _envMapping =
false);
244 return ( (envMapped_ != _other.envMapped_) ||
246 (lightStage_ != _other.lightStage_) ||
247 (colorSource_ != _other.colorSource_) ||
248 (texcoordSource_ != _other.texcoordSource_) ||
249 (normalSource_ != _other.normalSource_)
258 return ( (envMapped_ == _other.envMapped_) &&
260 (lightStage_ == _other.lightStage_) &&
261 (colorSource_ == _other.colorSource_) &&
262 (texcoordSource_ == _other.texcoordSource_) &&
263 (normalSource_ == _other.normalSource_)
325 static DrawMode getFromDescription(std::string _description);
334 bool operator==(
const DrawMode& _mode)
const;
344 bool operator!=(
const DrawMode& _mode2 )
const;
352 operator bool()
const;
381 size_t getNumLayers()
const;
393 bool removeLayer(
unsigned int _i);
416 size_t getIndex()
const;
433 std::string description()
const;
439 bool isAtomic()
const;
443 bool containsAtomicDrawMode(
DrawMode _atomicDrawMode )
const;
450 std::vector< DrawMode > getAtomicDrawModes()
const;
454 size_t maxModes()
const;
487 bool checkConsistency()
const;
499 ModeFlagSet modeFlags_;
679 #endif // ACG_DRAWMODES_HH defined ACGDLLEXPORT DrawMode SOLID_FACES_COLORED_2DTEXTURED_FACE_SMOOTH_SHADED
draw per halfedge texture faces modulated with face colors with smooth shading
ACGDLLEXPORT DrawMode NONE
not a valid draw mode
ACGDLLEXPORT DrawMode WIREFRAME
draw wireframe
DrawModeNormalSource
Source of Normals.
DrawModeProperties stores a set of properties that defines, how to render an object.
ACGDLLEXPORT DrawMode SOLID_2DTEXTURED_FACE
draw per halfedge textured faces
ACGDLLEXPORT DrawMode POINTS
draw unlighted points using the default base color
std::vector< DrawModeProperties > layers_
ACGDLLEXPORT DrawMode SOLID_FACES_COLORED_SMOOTH_SHADED
draw smooth shaded and colored faces (requires vertex normals and face colors)
bool operator!=(const DrawModeProperties &_other) const
compare two properties
bool flatShaded() const
Is flat shading used (Normals per face)?
bool textured() const
Is texturing enabled?
ACGDLLEXPORT DrawMode SOLID_SHADER
bool colored() const
Are colors used?
DrawModeColorSource
Source of Primitive Colors.
ACGDLLEXPORT DrawMode SOLID_3DTEXTURED
draw textured faces
ACGDLLEXPORT const DrawMode & getDrawMode(const std::string &_name)
Get a custom DrawMode.
ACGDLLEXPORT void initializeDefaultDrawModes(void)
ACGDLLEXPORT DrawMode HIDDENLINE
draw hidden line (2 rendering passes needed)
ACGDLLEXPORT DrawMode SOLID_1DTEXTURED
draw textured faces
ACGDLLEXPORT DrawMode SOLID_TEXTURED
draw textured faces
ACGDLLEXPORT DrawMode UNUSED
marks the last used ID
ACGDLLEXPORT DrawMode SOLID_1DTEXTURED_SHADED
draw smooth shaded textured faces
bool lighting() const
Is lighting enabled?
ACGDLLEXPORT const DrawMode & addDrawMode(const std::string &_name, bool _propertyBased=false)
Add a custom DrawMode.
bool operator==(const DrawModeProperties &_other) const
compare two properties
ACGDLLEXPORT DrawMode SOLID_FACES_COLORED
draw colored, but not lighted faces using face colors
DrawModeTexCoordSource
Source of Texture Coordinates.
DrawModePrimitive primitive_
Specify which type of primitives will get uploaded to the graphics card.
ACGDLLEXPORT DrawMode SOLID_SMOOTH_SHADED_FEATURES
draw smooth shaded (Gouraud shaded) faces (requires halfedge normals)
ACGDLLEXPORT DrawMode SOLID_PHONG_SHADED
draw phong shaded faces
DrawModeLightStage
Lighting stage of a mesh: unlit, smooth, phong.
ACGDLLEXPORT DrawMode HALFEDGES
draw halfedges
ACGDLLEXPORT DrawMode SOLID_2DTEXTURED_FACE_SHADED
draw per halfedge textured faces
DrawModePrimitive
Primitive mode of a mesh.
ACGDLLEXPORT DrawMode POINTS_SHADED
draw shaded points (requires point normals)
ACGDLLEXPORT DrawMode SOLID_FACES_COLORED_FLAT_SHADED
draw flat shaded and colored faces (requires face normals and colors)
Namespace providing different geometric functions concerning angles.
ACGDLLEXPORT DrawMode SOLID_POINTS_COLORED
draw colored, but not lighted faces using interpolated vertex colors
ACGDLLEXPORT DrawMode EDGES
draw edges
ACGDLLEXPORT DrawMode SOLID_SMOOTH_SHADED
draw smooth shaded (Gouraud shaded) faces (requires halfedge normals)
ACGDLLEXPORT DrawMode SOLID_3DTEXTURED_SHADED
draw smooth shaded textured faces
ACGDLLEXPORT DrawMode DEFAULT
use the default (global) draw mode and not the node's own.
ACGDLLEXPORT DrawMode POINTS_COLORED
draw colored, but not lighted points (requires point colors)
ACGDLLEXPORT bool drawModeExists(const std::string &_name)
Check if the given draw mode exists.
ACGDLLEXPORT DrawMode EDGES_COLORED
draw edges with colors (without shading)
ACGDLLEXPORT DrawMode SOLID_POINTS_COLORED_SHADED
draw faces, but use Gouraud shading to interpolate vertex colors
ACGDLLEXPORT DrawMode getDrawModeFromIndex(unsigned int _index)
given an index of an atomic draw mode, return the drawmode
ACGDLLEXPORT DrawMode SOLID_ENV_MAPPED
draw environment mapped
ACGDLLEXPORT DrawMode SOLID_FLAT_SHADED
draw flat shaded faces (requires face normals)
ACGDLLEXPORT DrawMode CELLS_COLORED
draw cells with colors (without shading)
ACGDLLEXPORT DrawMode HALFEDGES_COLORED
draw halfedges with colors (without shading)
ACGDLLEXPORT DrawMode SOLID_TEXTURED_SHADED
draw smooth shaded textured faces