Slicer 5.6
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLColorLogic.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8=========================================================================auto=*/
9
10#ifndef __vtkMRMLColorLogic_h
11#define __vtkMRMLColorLogic_h
12
13// MRMLLogic includes
15#include "vtkMRMLLogicExport.h"
16
17// MRML includes
24
25// STD includes
26#include <cstdlib>
27#include <vector>
28
33class VTK_MRML_LOGIC_EXPORT vtkMRMLColorLogic : public vtkMRMLAbstractLogic
34{
35public:
36
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
131 virtual void AddDefaultColorNodes();
132
137
139 static const char * GetColorTableNodeID(int type);
140
142 static const char * GetdGEMRICColorNodeID(int type);
143
145 static const char * GetPETColorNodeID(int type);
146
150 static const char * GetProceduralColorNodeID(const char *name);
151
156 static const char * GetFileColorNodeID(const char *fileName);
157 static std::string GetFileColorNodeSingletonTag(const char * fileName);
158
160 virtual const char * GetDefaultVolumeColorNodeID();
161
163 virtual const char * GetDefaultLabelMapColorNodeID();
164
166 virtual const char * GetDefaultEditorColorNodeID();
167
169 virtual const char * GetDefaultModelColorNodeID();
170
172 virtual const char * GetDefaultChartColorNodeID();
173
175 virtual const char * GetDefaultPlotColorNodeID();
176
178 void AddColorFile(const char *fileName, std::vector<std::string> *Files);
179
191 vtkMRMLColorNode* LoadColorFile(const char *fileName, const char *nodeName = nullptr);
192
194 vtkGetStringMacro(UserColorFilePaths);
195 vtkSetStringMacro(UserColorFilePaths);
196
200 static vtkMRMLColorTableNode* CopyNode(vtkMRMLColorNode* colorNode, const char* copyName);
201
207 static vtkMRMLProceduralColorNode* CopyProceduralNode(vtkMRMLColorNode* colorNode, const char* copyName);
208
209protected:
212 // disable copy constructor and operator
215
217 void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
218
221 virtual void OnMRMLSceneNewEvent();
222
229 vtkMRMLColorTableNode* CreateDefaultFileNode(const std::string& colorname);
230 vtkMRMLColorTableNode* CreateUserFileNode(const std::string& colorname);
231 vtkMRMLColorTableNode* CreateFileNode(const char* fileName);
233
237 void AddPETNode(int type);
238 void AddDGEMRICNode(int type);
240 void AddUserFileNode(int i);
241
247
248 virtual std::vector<std::string> FindDefaultColorFiles();
249 virtual std::vector<std::string> FindUserColorFiles();
250
253 static const char * GetColorNodeID(vtkMRMLColorNode* colorNode);
254
259 std::vector<std::string> ColorFiles;
260
263 std::vector<std::string> UserColorFiles;
268
269 static std::string TempColorNodeID;
270
271 std::string RemoveLeadAndTrailSpaces(std::string);
272};
273
274#endif
Superclass for MRML logic classes.
MRML logic class for color manipulation.
virtual const char * GetDefaultPlotColorNodeID()
Return a default color node id for a plot.
virtual void AddDefaultColorNodes()
Add default color nodes.
vtkMRMLColorTableNode * CreateLabelsNode()
static vtkMRMLColorTableNode * CopyNode(vtkMRMLColorNode *colorNode, const char *copyName)
static std::string GetFileColorNodeSingletonTag(const char *fileName)
void AddDefaultTableNode(int i)
void AddDefaultProceduralNodes()
static const char * GetColorTableNodeID(int type)
Return the default color table node id for a given type.
std::string RemoveLeadAndTrailSpaces(std::string)
virtual const char * GetDefaultVolumeColorNodeID()
Return a default color node id for a volume.
std::vector< std::string > ColorFiles
virtual std::vector< std::string > FindUserColorFiles()
void PrintSelf(ostream &os, vtkIndent indent) override
static const char * GetColorNodeID(vtkMRMLColorNode *colorNode)
vtkMRMLColorTableNode * CreateFileNode(const char *fileName)
static const char * GetFileColorNodeID(const char *fileName)
Return a default color node id for a file based node, based on the file name.
static vtkMRMLColorLogic * New()
The Usual vtk class functions.
vtkMRMLProceduralColorNode * CreateProceduralFileNode(const char *fileName)
static const char * GetPETColorNodeID(int type)
Return the default PET color node id for a given type.
std::vector< std::string > UserColorFiles
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
Reimplemented to listen to specific scene events.
virtual std::vector< std::string > FindDefaultColorFiles()
void AddUserFileNode(int i)
static const char * GetdGEMRICColorNodeID(int type)
Return the default dGEMRIC color node id for a given type.
vtkMRMLColorTableNode * CreateDefaultFileNode(const std::string &colorname)
void operator=(const vtkMRMLColorLogic &)
void AddColorFile(const char *fileName, std::vector< std::string > *Files)
Add a file to the input list Files, checking first for null, duplicates.
void AddDGEMRICNode(int type)
void AddDefaultFileNodes()
vtkMRMLProceduralColorNode * CreateRandomNode()
vtkMRMLColorTableNode * CreateDefaultTableNode(int type)
vtkMRMLdGEMRICProceduralColorNode * CreatedGEMRICColorNode(int type)
static std::string TempColorNodeID
virtual const char * GetDefaultModelColorNodeID()
Return a default color node id for a model.
vtkMRMLColorTableNode * CreateUserFileNode(const std::string &colorname)
virtual const char * GetDefaultChartColorNodeID()
Return a default color node id for a chart.
vtkMRMLColorNode * LoadColorFile(const char *fileName, const char *nodeName=nullptr)
virtual const char * GetDefaultEditorColorNodeID()
Return a default color node id for the editor.
void AddDefaultFileNode(int i)
~vtkMRMLColorLogic() override
static vtkMRMLProceduralColorNode * CopyProceduralNode(vtkMRMLColorNode *colorNode, const char *copyName)
static const char * GetProceduralColorNodeID(const char *name)
Return a default color node id for a procedural color node.
vtkMRMLPETProceduralColorNode * CreatePETColorNode(int type)
vtkMRMLProceduralColorNode * CreateRedGreenBlueNode()
void AddPETNode(int type)
void AddDefaultTableNodes()
vtkMRMLColorLogic(const vtkMRMLColorLogic &)
virtual void RemoveDefaultColorNodes()
Remove default color nodes.
virtual void OnMRMLSceneNewEvent()
virtual const char * GetDefaultLabelMapColorNodeID()
Return a default color node id for a label map.
Abstract MRML node to represent color information.
MRML node to represent discrete color information.
MRML node to represent procedurally defined color information.
A set of MRML Nodes that supports serialization and undo/redo.
MRML node to represent procedurally defined color information.