Slicer 5.9
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
25
26// STD includes
27#include <cstdlib>
28#include <vector>
29
34class VTK_MRML_LOGIC_EXPORT vtkMRMLColorLogic : public vtkMRMLAbstractLogic
35{
36public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
144 virtual void AddDefaultColorNodes();
145
150
152 static const char* GetColorTableNodeID(int type);
153
155 static const char* GetdGEMRICColorNodeID(int type);
156
158 static const char* GetPETColorNodeID(int type);
159
163 static const char* GetProceduralColorNodeID(const char* name);
164
169 static const char* GetFileColorNodeID(const char* fileName);
170 static std::string GetFileColorNodeSingletonTag(const char* fileName);
171
173 virtual const char* GetDefaultVolumeColorNodeID();
174
176 virtual const char* GetDefaultLabelMapColorNodeID();
177
179 virtual const char* GetDefaultEditorColorNodeID();
180
182 virtual const char* GetDefaultModelColorNodeID();
183
185 virtual const char* GetDefaultChartColorNodeID();
186
188 virtual const char* GetDefaultPlotColorNodeID();
189
191 void AddColorFile(const char* fileName, std::vector<std::string>* Files);
192
206 vtkMRMLColorNode* LoadColorFile(const char* fileName, const char* nodeName = nullptr, vtkMRMLMessageCollection* userMessages = nullptr, bool userType = false);
207
209 vtkGetStringMacro(UserColorFilePaths);
210 vtkSetStringMacro(UserColorFilePaths);
211
215 static vtkMRMLColorTableNode* CopyNode(vtkMRMLColorNode* colorNode, const char* copyName);
216
222 static vtkMRMLProceduralColorNode* CopyProceduralNode(vtkMRMLColorNode* colorNode, const char* copyName);
223
224protected:
227 // disable copy constructor and operator
230
232 void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
233
236 virtual void OnMRMLSceneNewEvent();
237
244 vtkMRMLColorTableNode* CreateDefaultFileNode(const std::string& colorname);
245 vtkMRMLColorTableNode* CreateUserFileNode(const std::string& colorname);
246 vtkMRMLColorTableNode* CreateFileNode(const char* fileName, vtkMRMLMessageCollection* userMessages = nullptr, bool userType = false);
247 vtkMRMLProceduralColorNode* CreateProceduralFileNode(const char* fileName, vtkMRMLMessageCollection* userMessages = nullptr, bool userType = false);
248
252 void AddPETNode(int type);
253 void AddDGEMRICNode(int type);
255 void AddUserFileNode(int i);
256
262
263 virtual std::vector<std::string> FindDefaultColorFiles();
264 virtual std::vector<std::string> FindUserColorFiles();
265
268 static const char* GetColorNodeID(vtkMRMLColorNode* colorNode);
269
274 std::vector<std::string> ColorFiles;
275
278 std::vector<std::string> UserColorFiles;
283
284 static std::string TempColorNodeID;
285
286 std::string RemoveLeadAndTrailSpaces(std::string);
287};
288
289#endif
virtual const char * GetDefaultPlotColorNodeID()
Return a default color node id for a plot.
virtual void AddDefaultColorNodes()
Add default color nodes.
vtkMRMLColorNode * LoadColorFile(const char *fileName, const char *nodeName=nullptr, vtkMRMLMessageCollection *userMessages=nullptr, bool userType=false)
vtkMRMLColorTableNode * CreateLabelsNode()
static vtkMRMLColorTableNode * CopyNode(vtkMRMLColorNode *colorNode, const char *copyName)
vtkMRMLProceduralColorNode * CreateProceduralFileNode(const char *fileName, vtkMRMLMessageCollection *userMessages=nullptr, bool userType=false)
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)
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.
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.
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.
vtkMRMLColorTableNode * CreateFileNode(const char *fileName, vtkMRMLMessageCollection *userMessages=nullptr, bool userType=false)
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.