17 #ifndef _MITK_MATERIAL_H_
18 #define _MITK_MATERIAL_H_
21 #include <itkObject.h>
22 #include <itkRGBPixel.h>
23 #include <itkVectorContainer.h>
26 #include <vtkSystemIncludes.h>
43 typedef itk::RGBPixel<double>
Color;
71 smartPtr->UnRegister();
89 smartPtr->UnRegister();
105 static Pointer New(
double red,
double green,
double blue,
double opacity = 1.0f)
108 smartPtr->UnRegister();
133 double colorCoefficient,
134 double specularCoefficient,
135 double specularPower,
138 Pointer smartPtr =
new Material(red, green, blue, colorCoefficient, specularCoefficient, specularPower, opacity);
139 smartPtr->UnRegister();
162 Color color,
double colorCoefficient,
double specularCoefficient,
double specularPower,
double opacity)
164 Pointer smartPtr =
new Material(color, colorCoefficient, specularCoefficient, specularPower, opacity);
165 smartPtr->UnRegister();
179 const Material &property,
double red,
double green,
double blue,
double opacity = 1.0, std::string name =
"")
181 Pointer smartPtr =
new Material(property, red, green, blue, opacity, name);
182 smartPtr->UnRegister();
186 virtual bool Assignable(
const Material &other)
const;
193 virtual void SetColor(Color color);
202 virtual void SetColor(
double red,
double green,
double blue);
209 virtual void SetColorCoefficient(
double coefficient);
216 virtual void SetSpecularColor(Color color);
224 virtual void SetSpecularColor(
double red,
double green,
double blue);
232 virtual void SetSpecularCoefficient(
double specularCoefficient);
240 virtual void SetSpecularPower(
double specularPower);
248 virtual void SetOpacity(
double opacity);
257 virtual void SetInterpolation(InterpolationType interpolation);
266 virtual void SetRepresentation(RepresentationType representation);
271 virtual void SetLineWidth(
float lineWidth);
276 virtual Color GetColor()
const;
281 virtual double GetColorCoefficient()
const;
287 virtual Color GetSpecularColor()
const;
292 virtual double GetSpecularCoefficient()
const;
297 virtual double GetSpecularPower()
const;
302 virtual double GetOpacity()
const;
307 virtual InterpolationType GetInterpolation()
const;
312 virtual RepresentationType GetRepresentation()
const;
318 virtual int GetVtkInterpolation()
const;
324 virtual int GetVtkRepresentation()
const;
329 virtual float GetLineWidth()
const;
337 virtual void Initialize(
const Material &property);
348 void PrintSelf(std::ostream &os, itk::Indent)
const override;
355 itkSetMacro(Name, std::string);
360 itkGetConstMacro(Name, std::string);
385 Material(Color color,
double opacity = 1.0f);
399 Material(
double red,
double green,
double blue,
double opacity = 1.0f);
422 double colorCoefficient,
423 double specularCoefficient,
424 double specularPower,
445 Material(Color color,
double colorCoefficient,
double specularCoefficient,
double specularPower,
double opacity);
457 const Material &property,
double red,
double green,
double blue,
double opacity = 1.0, std::string name =
"");
459 virtual void InitializeStandardValues();
Class for storing surfaces (vtkPolyData).
double m_ColorCoefficient
#define mitkNewMacro1Param(classname, type)
InterpolationType m_Interpolation
static void Update(vtkPolyData *)
DataCollection - Class to facilitate loading/accessing structured data.
static Pointer New(const Material &property, double red, double green, double blue, double opacity=1.0, std::string name="")
double m_SpecularCoefficient
MITKCORE_EXPORT bool operator==(const InteractionEvent &a, const InteractionEvent &b)
static Pointer New(Color color, double colorCoefficient, double specularCoefficient, double specularPower, double opacity)
#define mitkClassMacroItkParent(className, SuperClassName)
itk::VectorContainer< unsigned int, Material::Pointer > MaterialVectorContainer
static Pointer New(Color color, double opacity=1.0f)
itk::RGBPixel< float > Color
Color Standard RGB color typedef (float)
static Pointer New(double red, double green, double blue, double opacity=1.0f)
RepresentationType m_Representation
static Pointer New(double red, double green, double blue, double colorCoefficient, double specularCoefficient, double specularPower, double opacity)