anatomist  5.1.2
3D neuroimaging data viewer
anatomist::Material Class Reference

This class has to be rewritten, it's really really a shame....... More...

#include <anatomist/color/Material.h>

Public Types

enum  RenderProperty {
  RenderLighting , RenderSmoothShading , RenderFiltering , RenderZBuffer ,
  RenderFaceCulling , FrontFace , RenderMode , Ghost ,
  SelectableMode = Ghost , UseShader , ShaderColorNormals , NormalIsDirection
}
 Rendering properties flags. More...
 
enum  RenderingMode {
  Normal , Wireframe , Outlined , HiddenWireframe ,
  Fast , ExtOutlined
}
 
enum  SelectableMode { AlwaysSelectable , GhostSelection , SelectableWhenOpaque , SelectableWhenNotTotallyTransparent }
 
enum  LightingModel { NoLighting , PhongLighting , BlinnPhongLighting }
 
enum  ShadingModel { FlatShading , GouraudShading , PhongShading }
 

Public Member Functions

 Material ()
 
 Material (const Material &)
 
virtual ~Material ()
 
GLfloat * Ambient ()
 
GLfloat * Diffuse ()
 
GLfloat * Specular ()
 
GLfloat Shininess () const
 
GLfloat * Emission ()
 
GLfloat Ambient (int i) const
 
GLfloat Diffuse (int i) const
 
GLfloat Specular (int i) const
 
GLfloat Emission (int i) const
 
void SetAmbient (float, float, float, float)
 
void SetDiffuse (float, float, float, float)
 
void SetSpecular (float, float, float, float)
 
void SetShininess (float val)
 
void SetEmission (float, float, float, float)
 
void SetAmbientR (float val)
 
void SetAmbientG (float val)
 
void SetAmbientB (float val)
 
void SetAmbientA (float val)
 
void SetDiffuseR (float val)
 
void SetDiffuseG (float val)
 
void SetDiffuseB (float val)
 
void SetDiffuseA (float val)
 
void SetSpecularR (float val)
 
void SetSpecularG (float val)
 
void SetSpecularB (float val)
 
void SetSpecularA (float val)
 
void SetEmissionR (float val)
 
void SetEmissionG (float val)
 
void SetEmissionB (float val)
 
void SetEmissionA (float val)
 
GLfloat * unlitColor () const
 color used without lighting (filar meshes, wireframe) More...
 
GLfloat unlitColor (int i) const
 
void setUnlitColor (float, float, float, float)
 
float lineWidth () const
 
void setLineWidth (float w)
 
void setGLMaterial () const
 setup OpenGL properties. More...
 
void popGLState () const
 Pops previous OpenGL state. More...
 
bool IsBlended () const
 
int renderProperty (RenderProperty) const
 a property set to -1 is neutral (use window or app default) More...
 
void setRenderProperty (RenderProperty, int)
 
Materialoperator= (const Material &)
 
bool operator!= (const Material &) const
 
bool operator== (const Material &mat) const
 
void set (const carto::GenericObject &)
 
carto::Object genericDescription () const
 

Protected Attributes

GLfloat _ambient [4]
 
GLfloat _diffuse [4]
 
GLfloat _specular [4]
 
GLfloat _shininess
 
GLfloat _emission [4]
 

Friends

std::istream & operator>> (std::istream &, anatomist::Material &)
 
std::ostream & operator<< (std::ostream &, const anatomist::Material &)
 

Detailed Description

This class has to be rewritten, it's really really a shame.......

Definition at line 47 of file Material.h.

Member Enumeration Documentation

◆ LightingModel

Enumerator
NoLighting 
PhongLighting 
BlinnPhongLighting 

Definition at line 98 of file Material.h.

◆ RenderingMode

Enumerator
Normal 
Wireframe 
Outlined 
HiddenWireframe 
Fast 
ExtOutlined 

Definition at line 80 of file Material.h.

◆ RenderProperty

Rendering properties flags.

Enumerator
RenderLighting 

lighting effect according to vertices normals

RenderSmoothShading 

polygons color interpolation

RenderFiltering 

line/polygon filtering

RenderZBuffer 

print in Z-buffer

RenderFaceCulling 

filter back side polygons

FrontFace 

specify which is the front face (normally CW in our indirect referentials): 0 is CW, 1 is CCW.

RenderMode 

wireframe rendering

Ghost 

ghost mode (invisible to clicks)

SelectableMode 
UseShader 
ShaderColorNormals 
NormalIsDirection 

if set, the normal in a mesh is actually its wireframe direction, and interpreted as if the wireframes were cylindric tubes for lighting when shaders are activated.

Definition at line 51 of file Material.h.

◆ SelectableMode

Enumerator
AlwaysSelectable 
GhostSelection 
SelectableWhenOpaque 
SelectableWhenNotTotallyTransparent 

Definition at line 90 of file Material.h.

◆ ShadingModel

Enumerator
FlatShading 
GouraudShading 
PhongShading 

Definition at line 105 of file Material.h.

Constructor & Destructor Documentation

◆ Material() [1/2]

anatomist::Material::Material ( )

◆ Material() [2/2]

anatomist::Material::Material ( const Material )

◆ ~Material()

virtual anatomist::Material::~Material ( )
virtual

Member Function Documentation

◆ Ambient() [1/2]

GLfloat* anatomist::Material::Ambient ( )
inline

Definition at line 117 of file Material.h.

References _ambient.

◆ Ambient() [2/2]

GLfloat anatomist::Material::Ambient ( int  i) const
inline

Definition at line 123 of file Material.h.

References _ambient.

◆ Diffuse() [1/2]

GLfloat* anatomist::Material::Diffuse ( )
inline

Definition at line 118 of file Material.h.

References _diffuse.

◆ Diffuse() [2/2]

GLfloat anatomist::Material::Diffuse ( int  i) const
inline

Definition at line 124 of file Material.h.

References _diffuse.

◆ Emission() [1/2]

GLfloat* anatomist::Material::Emission ( )
inline

Definition at line 121 of file Material.h.

References _emission.

◆ Emission() [2/2]

GLfloat anatomist::Material::Emission ( int  i) const
inline

Definition at line 126 of file Material.h.

References _emission.

◆ genericDescription()

carto::Object anatomist::Material::genericDescription ( ) const

◆ IsBlended()

bool anatomist::Material::IsBlended ( ) const

◆ lineWidth()

float anatomist::Material::lineWidth ( ) const

◆ operator!=()

bool anatomist::Material::operator!= ( const Material ) const

◆ operator=()

Material& anatomist::Material::operator= ( const Material )

◆ operator==()

bool anatomist::Material::operator== ( const Material mat) const
inline

Definition at line 178 of file Material.h.

◆ popGLState()

void anatomist::Material::popGLState ( ) const

Pops previous OpenGL state.

This is an almost private function that should only be called by GLComponent internals

◆ renderProperty()

int anatomist::Material::renderProperty ( RenderProperty  ) const

a property set to -1 is neutral (use window or app default)

◆ set()

void anatomist::Material::set ( const carto::GenericObject )

◆ SetAmbient()

void anatomist::Material::SetAmbient ( float  ,
float  ,
float  ,
float   
)

◆ SetAmbientA()

void anatomist::Material::SetAmbientA ( float  val)

◆ SetAmbientB()

void anatomist::Material::SetAmbientB ( float  val)

◆ SetAmbientG()

void anatomist::Material::SetAmbientG ( float  val)

◆ SetAmbientR()

void anatomist::Material::SetAmbientR ( float  val)

◆ SetDiffuse()

void anatomist::Material::SetDiffuse ( float  ,
float  ,
float  ,
float   
)

◆ SetDiffuseA()

void anatomist::Material::SetDiffuseA ( float  val)

◆ SetDiffuseB()

void anatomist::Material::SetDiffuseB ( float  val)

◆ SetDiffuseG()

void anatomist::Material::SetDiffuseG ( float  val)

◆ SetDiffuseR()

void anatomist::Material::SetDiffuseR ( float  val)

◆ SetEmission()

void anatomist::Material::SetEmission ( float  ,
float  ,
float  ,
float   
)

◆ SetEmissionA()

void anatomist::Material::SetEmissionA ( float  val)

◆ SetEmissionB()

void anatomist::Material::SetEmissionB ( float  val)

◆ SetEmissionG()

void anatomist::Material::SetEmissionG ( float  val)

◆ SetEmissionR()

void anatomist::Material::SetEmissionR ( float  val)

◆ setGLMaterial()

void anatomist::Material::setGLMaterial ( ) const

setup OpenGL properties.

This is an almost private function that should only be called by GLComponent internals. It implies a glPushAttrib() so popGLState() should be called after the object rendering

◆ setLineWidth()

void anatomist::Material::setLineWidth ( float  w)

◆ setRenderProperty()

void anatomist::Material::setRenderProperty ( RenderProperty  ,
int   
)

◆ SetShininess()

void anatomist::Material::SetShininess ( float  val)

◆ SetSpecular()

void anatomist::Material::SetSpecular ( float  ,
float  ,
float  ,
float   
)

◆ SetSpecularA()

void anatomist::Material::SetSpecularA ( float  val)

◆ SetSpecularB()

void anatomist::Material::SetSpecularB ( float  val)

◆ SetSpecularG()

void anatomist::Material::SetSpecularG ( float  val)

◆ SetSpecularR()

void anatomist::Material::SetSpecularR ( float  val)

◆ setUnlitColor()

void anatomist::Material::setUnlitColor ( float  ,
float  ,
float  ,
float   
)

◆ Shininess()

GLfloat anatomist::Material::Shininess ( ) const
inline

Definition at line 120 of file Material.h.

References _shininess.

◆ Specular() [1/2]

GLfloat* anatomist::Material::Specular ( )
inline

Definition at line 119 of file Material.h.

References _specular.

◆ Specular() [2/2]

GLfloat anatomist::Material::Specular ( int  i) const
inline

Definition at line 125 of file Material.h.

References _specular.

◆ unlitColor() [1/2]

GLfloat* anatomist::Material::unlitColor ( ) const

color used without lighting (filar meshes, wireframe)

◆ unlitColor() [2/2]

GLfloat anatomist::Material::unlitColor ( int  i) const

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  ,
const anatomist::Material  
)
friend

◆ operator>>

std::istream& operator>> ( std::istream &  ,
anatomist::Material  
)
friend

Member Data Documentation

◆ _ambient

GLfloat anatomist::Material::_ambient[4]
protected

Definition at line 185 of file Material.h.

Referenced by Ambient().

◆ _diffuse

GLfloat anatomist::Material::_diffuse[4]
protected

Definition at line 186 of file Material.h.

Referenced by Diffuse().

◆ _emission

GLfloat anatomist::Material::_emission[4]
protected

Definition at line 189 of file Material.h.

Referenced by Emission().

◆ _shininess

GLfloat anatomist::Material::_shininess
protected

Definition at line 188 of file Material.h.

Referenced by Shininess().

◆ _specular

GLfloat anatomist::Material::_specular[4]
protected

Definition at line 187 of file Material.h.

Referenced by Specular().


The documentation for this class was generated from the following file: