VTK
vtkYoungsMaterialInterface.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: $RCSfile: vtkYoungsMaterialInterface.h,v $
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
39 #ifndef vtkYoungsMaterialInterface_h
40 #define vtkYoungsMaterialInterface_h
41 
42 #include "vtkFiltersGeneralModule.h" // For export macro
44 
45 #include "vtkSmartPointer.h" // For SP ivars
46 
47 class vtkIntArray;
48 class vtkInformation;
50 class vtkYoungsMaterialInterfaceInternals;
51 
53 {
54 public:
57  void PrintSelf(ostream& os, vtkIndent indent);
58 
60 
61  vtkSetMacro(InverseNormal,int);
62  vtkGetMacro(InverseNormal,int);
63  vtkBooleanMacro(InverseNormal,int);
65 
67 
69  vtkSetMacro(ReverseMaterialOrder,int);
70  vtkGetMacro(ReverseMaterialOrder,int);
71  vtkBooleanMacro(ReverseMaterialOrder,int);
73 
75 
78  vtkSetMacro(OnionPeel,int);
79  vtkGetMacro(OnionPeel,int);
80  vtkBooleanMacro(OnionPeel,int);
82 
84 
86  vtkSetMacro(AxisSymetric,int);
87  vtkGetMacro(AxisSymetric,int);
88  vtkBooleanMacro(AxisSymetric,int);
90 
92 
96  vtkSetMacro(UseFractionAsDistance,int);
97  vtkGetMacro(UseFractionAsDistance,int);
98  vtkBooleanMacro(UseFractionAsDistance,int);
100 
102 
104  vtkSetMacro(FillMaterial,int);
105  vtkGetMacro(FillMaterial,int);
106  vtkBooleanMacro(FillMaterial,int);
108 
110 
114  vtkSetVector2Macro(VolumeFractionRange,double);
115  vtkGetVectorMacro(VolumeFractionRange,double,2);
117 
119 
120  virtual void SetNumberOfMaterials(int n);
121  virtual int GetNumberOfMaterials();
123 
125 
127  vtkSetMacro(UseAllBlocks,bool);
128  vtkGetMacro(UseAllBlocks,bool);
129  vtkBooleanMacro(UseAllBlocks,bool);
131 
133 
135  vtkGetMacro(NumberOfDomains,int);
137 
139 
141  virtual void SetMaterialArrays( int i, const char* volume, const char* normalX, const char* normalY, const char* normalZ, const char* ordering );
142  virtual void SetMaterialArrays( int i, const char* volume, const char* normal, const char* ordering );
143  virtual void SetMaterialVolumeFractionArray( int i, const char* volume );
144  virtual void SetMaterialNormalArray( int i, const char* normal );
145  virtual void SetMaterialOrderingArray( int i, const char* ordering );
147 
149  virtual void RemoveAllMaterials();
150 
152 
158  virtual void SetMaterialNormalArray(const char* volume, const char* normal);
159  virtual void SetMaterialOrderingArray(const char* volume, const char* ordering);
161 
163 
165  virtual void AddMaterialBlockMapping(int b);
167 
168 
169 //BTX
170  enum
171  {
172  MAX_CELL_POINTS=256
173  };
174 //ETX
175 
176 protected:
179 
181  virtual int RequestData(vtkInformation *request,
182  vtkInformationVector **inputVector,
183  vtkInformationVector *outputVector);
184 
186  virtual void Aggregate ( int, int* );
187 
189 
190  int CellProduceInterface( int dim, int np, double fraction, double minFrac, double maxFrac );
191 
193 
200  double VolumeFractionRange[2];
201 //BTX
203 //ETX
206 
209 
210  // Desctiption:
211  // Internal data structures
212  vtkYoungsMaterialInterfaceInternals* Internals;
213 
214 private:
215  vtkYoungsMaterialInterface(const vtkYoungsMaterialInterface&); // Not implemented
216  void operator=(const vtkYoungsMaterialInterface&); // Not implemented
217 };
218 
219 #endif /* VTK_YOUNGS_MATERIAL_INTERFACE_H */
220 
vtkYoungsMaterialInterface::SetMaterialVolumeFractionArray
virtual void SetMaterialVolumeFractionArray(int i, const char *volume)
vtkYoungsMaterialInterface::SetMaterialArrays
virtual void SetMaterialArrays(int i, const char *volume, const char *normal, const char *ordering)
vtkSetVector2Macro
#define vtkSetVector2Macro(name, type)
Definition: vtkSetGet.h:254
vtkgl::b
GLboolean GLboolean GLboolean b
Definition: vtkgl.h:12312
vtkYoungsMaterialInterface
reconstructs material interfaces
Definition: vtkYoungsMaterialInterface.h:53
vtkYoungsMaterialInterface::SetMaterialOrderingArray
virtual void SetMaterialOrderingArray(const char *volume, const char *ordering)
vtkYoungsMaterialInterface::Aggregate
virtual void Aggregate(int, int *)
vtkYoungsMaterialInterface::GetNumberOfMaterials
virtual int GetNumberOfMaterials()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkYoungsMaterialInterface::OnionPeel
int OnionPeel
Definition: vtkYoungsMaterialInterface.h:197
vtkYoungsMaterialInterface::SetMaterialNormalArray
virtual void SetMaterialNormalArray(int i, const char *normal)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkSmartPointer< vtkIntArray >
vtkYoungsMaterialInterface::New
static vtkYoungsMaterialInterface * New()
vtkYoungsMaterialInterface::FillMaterial
int FillMaterial
Definition: vtkYoungsMaterialInterface.h:194
vtkGetVectorMacro
#define vtkGetVectorMacro(name, type, count)
Definition: vtkSetGet.h:424
vtkYoungsMaterialInterface::SetMaterialArrays
virtual void SetMaterialArrays(int i, const char *volume, const char *normalX, const char *normalY, const char *normalZ, const char *ordering)
vtkYoungsMaterialInterface::MaterialBlockMapping
vtkSmartPointer< vtkIntArray > MaterialBlockMapping
Definition: vtkYoungsMaterialInterface.h:202
vtkYoungsMaterialInterface::InverseNormal
int InverseNormal
Definition: vtkYoungsMaterialInterface.h:195
vtkYoungsMaterialInterface::AddMaterialBlockMapping
virtual void AddMaterialBlockMapping(int b)
vtkYoungsMaterialInterface::RemoveAllMaterials
virtual void RemoveAllMaterials()
vtkYoungsMaterialInterface::RemoveAllMaterialBlockMappings
virtual void RemoveAllMaterialBlockMappings()
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkYoungsMaterialInterface::~vtkYoungsMaterialInterface
virtual ~vtkYoungsMaterialInterface()
vtkYoungsMaterialInterface::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkFiltersGeneralModule.h
vtkYoungsMaterialInterface::Internals
vtkYoungsMaterialInterfaceInternals * Internals
Definition: vtkYoungsMaterialInterface.h:212
vtkYoungsMaterialInterface::NumberOfDomains
int NumberOfDomains
Definition: vtkYoungsMaterialInterface.h:208
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:53
vtkSmartPointer.h
VTKFILTERSGENERAL_EXPORT
#define VTKFILTERSGENERAL_EXPORT
Definition: vtkFiltersGeneralModule.h:15
vtkMultiBlockDataSetAlgorithm.h
vtkYoungsMaterialInterface::CellProduceInterface
int CellProduceInterface(int dim, int np, double fraction, double minFrac, double maxFrac)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkYoungsMaterialInterface::ReverseMaterialOrder
int ReverseMaterialOrder
Definition: vtkYoungsMaterialInterface.h:198
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkYoungsMaterialInterface::vtkYoungsMaterialInterface
vtkYoungsMaterialInterface()
vtkYoungsMaterialInterface::AxisSymetric
int AxisSymetric
Definition: vtkYoungsMaterialInterface.h:196
vtkYoungsMaterialInterface::SetNumberOfMaterials
virtual void SetNumberOfMaterials(int n)
vtkYoungsMaterialInterface::SetMaterialNormalArray
virtual void SetMaterialNormalArray(const char *volume, const char *normal)
vtkYoungsMaterialInterface::UpdateBlockMapping
void UpdateBlockMapping()
vtkYoungsMaterialInterface::UseAllBlocks
bool UseAllBlocks
Definition: vtkYoungsMaterialInterface.h:204
vtkYoungsMaterialInterface::UseFractionAsDistance
int UseFractionAsDistance
Definition: vtkYoungsMaterialInterface.h:199
vtkYoungsMaterialInterface::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkYoungsMaterialInterface::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkYoungsMaterialInterface::SetMaterialOrderingArray
virtual void SetMaterialOrderingArray(int i, const char *ordering)
vtkMultiBlockDataSetAlgorithm
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Definition: vtkMultiBlockDataSetAlgorithm.h:32