VTK  9.3.20240328
vtkModelMetadata.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
4 // SPDX-License-Identifier: BSD-3-Clause
58 #ifndef vtkModelMetadata_h
59 #define vtkModelMetadata_h
60 
61 #include "vtkIOExodusModule.h" // For export macro
62 #include "vtkObject.h"
63 #include "vtkSmartPointer.h" // for vtkSmartPointer
64 #include "vtkStringArray.h" // for vtkStringArray
65 VTK_ABI_NAMESPACE_BEGIN
66 class vtkDataSet;
67 class vtkCharArray;
68 class vtkIdTypeArray;
69 class vtkIntArray;
70 class vtkFloatArray;
71 class vtkIntArray;
72 class vtkStringArray;
73 class vtkModelMetadataSTLCloak;
74 
75 class VTKIOEXODUS_EXPORT vtkModelMetadata : public vtkObject
76 {
77 public:
78  vtkTypeMacro(vtkModelMetadata, vtkObject);
79  void PrintSelf(ostream& os, vtkIndent indent) override;
80  static vtkModelMetadata* New();
81 
89  virtual void PrintGlobalInformation();
90 
104  virtual void PrintLocalInformation();
105 
107 
110  vtkSetStringMacro(Title);
111  const char* GetTitle() const { return this->Title; }
113 
117  void SetInformationLines(int numLines, char** lines);
118 
123  int GetInformationLines(char*** lines) const;
124 
128  int GetNumberOfInformationLines() const { return this->NumberOfInformationLines; }
129 
131 
137  vtkSetMacro(TimeStepIndex, int);
138  int GetTimeStepIndex() const { return this->TimeStepIndex; }
140 
146  void SetTimeSteps(int numberOfTimeSteps, float* timeStepValues);
147  int GetNumberOfTimeSteps() const { return this->NumberOfTimeSteps; }
148 
152  float* GetTimeStepValues() const { return this->TimeStepValues; }
153 
157  void SetCoordinateNames(int dimension, char**);
158  char** GetCoordinateNames() const { return this->CoordinateNames; }
159 
164  int GetDimension() const { return this->Dimension; }
165 
167 
171  vtkSetMacro(NumberOfBlocks, int);
172  int GetNumberOfBlocks() const { return this->NumberOfBlocks; }
174 
179  void SetBlockIds(int*);
180  int* GetBlockIds() const { return this->BlockIds; }
181 
187  void SetBlockElementType(char**);
188  char** GetBlockElementType() const { return this->BlockElementType; }
189 
195  int SetBlockNumberOfElements(int* nelts);
196  int* GetBlockNumberOfElements() const { return this->BlockNumberOfElements; }
197 
204  int* GetBlockNodesPerElement() const { return this->BlockNodesPerElement; }
205 
212  int* GetBlockElementIdList() const { return this->BlockElementIdList; }
213 
217  int GetSumElementsPerBlock() const { return this->SumElementsPerBlock; }
218 
223  int* GetBlockElementIdListIndex() const { return this->BlockElementIdListIndex; }
224 
232  {
233  return this->BlockNumberOfAttributesPerElement;
234  }
235 
242  void SetBlockAttributes(float*);
243  float* GetBlockAttributes() const { return this->BlockAttributes; }
244 
248  int GetSizeBlockAttributeArray() const { return this->SizeBlockAttributeArray; }
249 
254  int* GetBlockAttributesIndex() const { return this->BlockAttributesIndex; }
255 
257 
261  vtkSetMacro(NumberOfNodeSets, int);
262  int GetNumberOfNodeSets() const { return this->NumberOfNodeSets; }
264 
265  void SetNodeSetNames(vtkStringArray* names) { this->NodeSetNames = names; }
266  vtkStringArray* GetNodeSetNames() const { return this->NodeSetNames; }
267 
273  void SetNodeSetIds(int*);
274  int* GetNodeSetIds() const { return this->NodeSetIds; }
275 
280  void SetNodeSetSize(int*);
281  int* GetNodeSetSize() const { return this->NodeSetSize; }
282 
290  int* GetNodeSetNodeIdList() const { return this->NodeSetNodeIdList; }
291 
301  {
302  return this->NodeSetNumberOfDistributionFactors;
303  }
304 
311  float* GetNodeSetDistributionFactors() const { return this->NodeSetDistributionFactors; }
312 
314 
317  vtkSetMacro(SumNodesPerNodeSet, int);
318  int GetSumNodesPerNodeSet() const { return this->SumNodesPerNodeSet; }
320 
324  int GetSumDistFactPerNodeSet() const { return this->SumDistFactPerNodeSet; }
325 
330  int* GetNodeSetNodeIdListIndex() const { return this->NodeSetNodeIdListIndex; }
331 
336  int* GetNodeSetDistributionFactorIndex() const { return this->NodeSetDistributionFactorIndex; }
337 
339 
343  vtkSetMacro(NumberOfSideSets, int);
344  int GetNumberOfSideSets() const { return this->NumberOfSideSets; }
346 
347  void SetSideSetNames(vtkStringArray* names) { this->SideSetNames = names; }
348  vtkStringArray* GetSideSetNames() const { return this->SideSetNames; }
349 
354  void SetSideSetIds(int*);
355  int* GetSideSetIds() const { return this->SideSetIds; }
356 
361  int SetSideSetSize(int* sizes);
362  int* GetSideSetSize() const { return this->SideSetSize; }
363 
372  {
373  return this->SideSetNumberOfDistributionFactors;
374  }
375 
383  int* GetSideSetElementList() const { return this->SideSetElementList; }
384 
392  void SetSideSetSideList(int*);
393  int* GetSideSetSideList() const { return this->SideSetSideList; }
394 
401  void SetSideSetNumDFPerSide(int* numNodes);
402  int* GetSideSetNumDFPerSide() const { return this->SideSetNumDFPerSide; }
403 
416  float* GetSideSetDistributionFactors() const { return this->SideSetDistributionFactors; }
417 
419 
422  vtkSetMacro(SumSidesPerSideSet, int);
423  int GetSumSidesPerSideSet() const { return this->SumSidesPerSideSet; }
425 
429  int GetSumDistFactPerSideSet() const { return this->SumDistFactPerSideSet; }
430 
435  int* GetSideSetListIndex() const { return this->SideSetListIndex; }
436 
441  int* GetSideSetDistributionFactorIndex() const { return this->SideSetDistributionFactorIndex; }
442 
446  int GetNumberOfBlockProperties() const { return this->NumberOfBlockProperties; }
447 
451  void SetBlockPropertyNames(int numProp, char** names);
452  char** GetBlockPropertyNames() const { return this->BlockPropertyNames; }
453 
460  int* GetBlockPropertyValue() const { return this->BlockPropertyValue; }
461 
465  int GetNumberOfNodeSetProperties() const { return this->NumberOfNodeSetProperties; }
466 
470  void SetNodeSetPropertyNames(int numProp, char** names);
471  char** GetNodeSetPropertyNames() const { return this->NodeSetPropertyNames; }
472 
479  int* GetNodeSetPropertyValue() const { return this->NodeSetPropertyValue; }
480 
484  int GetNumberOfSideSetProperties() const { return this->NumberOfSideSetProperties; }
485 
489  void SetSideSetPropertyNames(int numProp, char** names);
490  char** GetSideSetPropertyNames() const { return this->SideSetPropertyNames; }
491 
498  int* GetSideSetPropertyValue() const { return this->SideSetPropertyValue; }
499 
503  int GetNumberOfGlobalVariables() const { return this->NumberOfGlobalVariables; }
504 
508  void SetGlobalVariableNames(int numVarNames, char** n);
509  char** GetGlobalVariableNames() const { return this->GlobalVariableNames; }
510 
515  void SetGlobalVariableValue(float* f);
516  float* GetGlobalVariableValue() const { return this->GlobalVariableValue; }
517 
531  int numOrigNames, char** origNames, int numNames, char** names, int* numComp, int* map);
532 
546  int numOrigNames, char** origNames, int numNames, char** names, int* numComp, int* map);
547 
555  int* GetElementVariableTruthTable() const { return this->ElementVariableTruthTable; }
556 
558 
563  vtkSetMacro(AllVariablesDefinedInAllBlocks, vtkTypeBool);
564  vtkBooleanMacro(AllVariablesDefinedInAllBlocks, vtkTypeBool);
566  {
567  return this->AllVariablesDefinedInAllBlocks;
568  }
570 
589  int GetOriginalNumberOfElementVariables() const { return this->OriginalNumberOfElementVariables; }
590  char** GetOriginalElementVariableNames() const { return this->OriginalElementVariableNames; }
591  int GetNumberOfElementVariables() const { return this->NumberOfElementVariables; }
592  char** GetElementVariableNames() const { return this->ElementVariableNames; }
594  {
595  return this->ElementVariableNumberOfComponents;
596  }
598  {
599  return this->MapToOriginalElementVariableNames;
600  }
601 
602  int GetOriginalNumberOfNodeVariables() const { return this->OriginalNumberOfNodeVariables; }
603  char** GetOriginalNodeVariableNames() const { return this->OriginalNodeVariableNames; }
604  int GetNumberOfNodeVariables() const { return this->NumberOfNodeVariables; }
605  char** GetNodeVariableNames() const { return this->NodeVariableNames; }
606  int* GetNodeVariableNumberOfComponents() const { return this->NodeVariableNumberOfComponents; }
607  int* GetMapToOriginalNodeVariableNames() const { return this->MapToOriginalNodeVariableNames; }
608 
610 
634 
638  void Reset();
639 
640 protected:
642  ~vtkModelMetadata() override;
643 
644 private:
645  void InitializeAllMetadata();
646  void InitializeAllIvars();
647 
648  void FreeAllMetadata();
649  void FreeAllIvars();
650 
651  int BuildBlockElementIdListIndex();
652  int BuildBlockAttributesIndex();
653  int BuildSideSetDistributionFactorIndex();
654 
655  static char* StrDupWithNew(const char* s);
656 
657  static int FindNameOnList(char* name, char** list, int listLen);
658 
659  void ShowFloats(const char* what, int num, float* f);
660  void ShowLines(const char* what, int num, char** l);
661  void ShowIntArray(const char* what, int numx, int numy, int* id);
662  void ShowInts(const char* what, int num, int* id);
663  void ShowListsOfInts(const char* what, int* list, int nlists, int* idx, int len, int verbose);
664  void ShowListsOfFloats(const char* what, float* list, int nlists, int* idx, int len, int verbose);
665 
666  void SetOriginalElementVariableNames(int nvars, char** names);
667  void SetElementVariableNames(int nvars, char** names);
668  void SetElementVariableNumberOfComponents(int* comp);
669  void SetMapToOriginalElementVariableNames(int* map);
670 
671  void SetOriginalNodeVariableNames(int nvars, char** names);
672  void SetNodeVariableNames(int nvars, char** names);
673  void SetNodeVariableNumberOfComponents(int* comp);
674  void SetMapToOriginalNodeVariableNames(int* map);
675 
676  int CalculateMaximumLengths(int& maxString, int& maxLine);
677 
678  // Fields in Exodus II file and their size (defined in exodusII.h)
679  // (G - global fields, relevant to entire file or file set)
680  // (L - local fields, they differ depending on which cells and nodes are
681  // in a file of a partitioned set, or are read in from file)
682 
683  char* Title; // (G)
684 
685  int NumberOfInformationLines; // (G)
686  char** InformationLine; // (G)
687 
688  int Dimension; // (G)
689  char** CoordinateNames; // (at most 3 of these) (G)
690 
691  // Time steps
692 
693  int TimeStepIndex; // starting at 0 (Exodus file starts at 1)
694  int NumberOfTimeSteps; // (G)
695  float* TimeStepValues; // (G)
696 
697  // Block information - arrays that are input with Set*
698 
699  int NumberOfBlocks; // (G)
700 
701  int* BlockIds; // NumberOfBlocks (G) (start at 1)
702  char** BlockElementType; // NumberOfBlocks (G)
703  int* BlockNumberOfElements; // NumberOfBlocks (L)
704  int* BlockNodesPerElement; // NumberOfBlocks (G)
705  int* BlockNumberOfAttributesPerElement; // NumberOfBlocks (G)
706  int* BlockElementIdList; // SumElementsPerBlock (L)
707  float* BlockAttributes; // SizeBlockAttributeArray (L)
708 
709  // Block information - values that we calculate
710 
711  int SumElementsPerBlock;
712  int SizeBlockAttributeArray;
713 
714  int* BlockElementIdListIndex; // NumberOfBlocks
715  int* BlockAttributesIndex; // NumberOfBlocks
716 
717  vtkModelMetadataSTLCloak* BlockIdIndex; // computed map
718 
719  // Node Sets - arrays that are input to the class with Set*
720 
721  int NumberOfNodeSets; // (G)
722 
723  vtkSmartPointer<vtkStringArray> NodeSetNames;
724 
725  int* NodeSetIds; // NumberOfNodeSets (G)
726  int* NodeSetSize; // NumberOfNodeSets (L)
727  int* NodeSetNumberOfDistributionFactors; // NNS (L) (NSNDF[i] is 0 or NSS[i])
728  int* NodeSetNodeIdList; // SumNodesPerNodeSet (L)
729  float* NodeSetDistributionFactors; // SumDistFactPerNodeSet (L)
730 
731  // Node Sets - values or arrays that the class computes
732 
733  int SumNodesPerNodeSet;
734  int SumDistFactPerNodeSet;
735 
736  int* NodeSetNodeIdListIndex; // NumberOfNodeSets
737  int* NodeSetDistributionFactorIndex; // NumberOfNodeSets
738 
739  // Side Sets - input to class with Set*
740 
741  int NumberOfSideSets; // (G)
742 
743  vtkSmartPointer<vtkStringArray> SideSetNames;
744 
745  int* SideSetIds; // NumberOfSideSets (G)
746  int* SideSetSize; // NumberOfSideSets (L)
747  int* SideSetNumberOfDistributionFactors; // NSS (L) (SSNDF[i] = 0 or NumNodesInSide)
748  int* SideSetElementList; // SumSidesPerSideSet (L)
749  int* SideSetSideList; // SumSidesPerSideSet (L)
750  int* SideSetNumDFPerSide; // SumSidesPerSideSet (L)
751  float* SideSetDistributionFactors; // SumDistFactPerSideSet (L)
752 
753  // Side Sets - calculated by class
754 
755  int SumSidesPerSideSet;
756  int SumDistFactPerSideSet;
757 
758  int* SideSetListIndex; // NumberOfSideSets
759  int* SideSetDistributionFactorIndex; // NumberOfSideSets
760 
761  // Other properties, provided as input with Set*
762 
763  int NumberOfBlockProperties; // (G)
764  char** BlockPropertyNames; // one per property (G)
765  int* BlockPropertyValue; // NumBlocks * NumBlockProperties (G)
766 
767  int NumberOfNodeSetProperties; // (G)
768  char** NodeSetPropertyNames; // one per property (G)
769  int* NodeSetPropertyValue; // NumNodeSets * NumNodeSetProperties (G)
770 
771  int NumberOfSideSetProperties; // (G)
772  char** SideSetPropertyNames; // one per property (G)
773  int* SideSetPropertyValue; // NumSideSets * NumSideSetProperties (G)
774 
775  // Global variables, 1 value per time step per variable. We store
776  // these as floats, even if they are doubles in the file. The values
777  // are global in the sense that they apply to the whole data set, but
778  // the are local in the sense that they can change with each time step.
779  // For the purpose of this object, which represents a particular
780  // time step, they are therefore considered "local". (Since they need
781  // to be updated every time another read is done from the file.)
782 
783  int NumberOfGlobalVariables; // (G)
784  char** GlobalVariableNames; // (G) NumberOfGlobalVariables
785  float* GlobalVariableValue; // (G) NumberOfGlobalVariables
786 
787  // The element and node arrays in the file were all scalar arrays.
788  // Those with similar names were combined into vectors in VTK. Here
789  // are all the original names from the Exodus file, the names given
790  // the variables in the VTK ugrid, and a mapping from the VTK names
791  // to the Exodus names.
792 
793  int OriginalNumberOfElementVariables; // (G)
794  char** OriginalElementVariableNames; // (G) OriginalNumberOfElementVariables
795  int NumberOfElementVariables; // (G)
796  int MaxNumberOfElementVariables; // (G)
797  char** ElementVariableNames; // (G) MaxNumberOfElementVariables
798  int* ElementVariableNumberOfComponents; // (G) MaxNumberOfElementVariables
799  int* MapToOriginalElementVariableNames; // (G) MaxNumberOfElementVariables
800 
801  int OriginalNumberOfNodeVariables; // (G)
802  char** OriginalNodeVariableNames; // (G) OriginalNumberOfNodeVariables
803  int NumberOfNodeVariables; // (G)
804  int MaxNumberOfNodeVariables; // (G)
805  char** NodeVariableNames; // (G) NumberOfNodeVariables
806  int* NodeVariableNumberOfComponents; // (G) NumberOfNodeVariables
807  int* MapToOriginalNodeVariableNames; // (G) NumberOfNodeVariables
808 
809  int* ElementVariableTruthTable; // (G) NumBlocks*OrigNumberOfElementVariables
810  vtkTypeBool AllVariablesDefinedInAllBlocks;
811 
812  vtkModelMetadata(const vtkModelMetadata&) = delete;
813  void operator=(const vtkModelMetadata&) = delete;
814 };
815 VTK_ABI_NAMESPACE_END
816 #endif
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:60
abstract class to specify dataset behavior
Definition: vtkDataSet.h:165
dynamic, self-adjusting array of float
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:108
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:144
This class encapsulates the metadata that appear in mesh-based file formats but do not appear in vtkU...
int GetNumberOfInformationLines() const
Get the number of information lines.
int * GetBlockAttributesIndex() const
Get a list of the index into the BlockAttributes of the start of each block's element attribute list.
const char * GetTitle() const
The title of the dataset.
void SetBlockPropertyValue(int *)
Set or get value for each variable for each block.
void SetElementVariableTruthTable(int *)
A truth table indicating which element variables are defined for which blocks.
int SetBlockNumberOfElements(int *nelts)
Set or get a pointer to a list of the number of elements in each block.
void SetBlockAttributes(float *)
Set or get a pointer to a list of the attributes for all blocks.
int * GetNodeSetDistributionFactorIndex() const
Get a list of the index of the starting entry for each node set in the list of node set distribution ...
int * GetMapToOriginalElementVariableNames() const
void SetNodeSetIds(int *)
Set or get the list the IDs for each node set.
void SetNodeVariableInfo(int numOrigNames, char **origNames, int numNames, char **names, int *numComp, int *map)
The ModelMetadata maintains a list of the node variables that were in the original file,...
int GetNumberOfBlocks() const
The number of blocks in the file.
float * GetNodeSetDistributionFactors() const
int GetNumberOfNodeVariables() const
int * GetNodeSetSize() const
char ** GetOriginalElementVariableNames() const
char ** GetOriginalNodeVariableNames() const
char ** GetCoordinateNames() const
int GetNumberOfSideSetProperties() const
The number of side set properties (global variables)
int SetSideSetSize(int *sizes)
Set or get a pointer to a list of the number of sides in each side set.
int GetInformationLines(char ***lines) const
Get a pointer to all the information lines.
void SetNodeSetNodeIdList(int *)
Set or get a pointer to a concatenated list of the IDs of all nodes in each node set.
void SetTimeSteps(int numberOfTimeSteps, float *timeStepValues)
Set the total number of time steps in the file, and the value at each time step.
float * GetGlobalVariableValue() const
int GetNumberOfNodeSetProperties() const
The number of node set properties (global variables)
vtkStringArray * GetSideSetNames() const
void SetGlobalVariableNames(int numVarNames, char **n)
Set or get the names of the global variables.
int * GetBlockElementIdList() const
void SetInformationLines(int numLines, char **lines)
Set the information lines.
char ** GetElementVariableNames() const
float * GetBlockAttributes() const
int GetNumberOfTimeSteps() const
void SetSideSetNumDFPerSide(int *numNodes)
Set or get a pointer to a list of the number of nodes in each side of each side set.
char ** GetBlockElementType() const
int GetSizeBlockAttributeArray() const
Get the length of the list of floating point block attributes.
void SetNodeSetDistributionFactors(float *)
Set or get a list of the distribution factors for the node sets.
vtkStringArray * GetNodeSetNames() const
int * GetNodeSetNodeIdListIndex() const
Get a list of the index of the starting entry for each node set in the list of node set node IDs.
void SetNodeSetNames(vtkStringArray *names)
int GetSumSidesPerSideSet() const
Get the total number of sides in all side sets.
int * GetNodeSetNumberOfDistributionFactors() const
int GetTimeStepIndex() const
Set the index of the time step represented by the results data in the file attached to this ModelMeta...
void FreeOriginalElementVariableNames()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
char ** GetGlobalVariableNames() const
~vtkModelMetadata() override
int * GetBlockIds() const
int GetOriginalNumberOfElementVariables() const
The ModelMetadata object may contain these lists: o the variables in the original data file o the var...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetCoordinateNames(int dimension, char **)
The name of the one, two or three coordinate dimensions.
void SetBlockNodesPerElement(int *)
Set or get a pointer to a list of the number of nodes in the elements of each block.
int GetNumberOfGlobalVariables() const
Get the number of global variables per time step.
void SetGlobalVariableValue(float *f)
Set or get the values of the global variables at the current time step.
int * GetElementVariableTruthTable() const
void FreeUsedElementVariables()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
void SetSideSetNames(vtkStringArray *names)
void SetSideSetElementList(int *)
Set or get a pointer to a list of the elements containing each side in each side set.
int * GetSideSetElementList() const
int * GetBlockNumberOfAttributesPerElement() const
int GetNumberOfBlockProperties() const
The number of block properties (global variables)
int * GetMapToOriginalNodeVariableNames() const
int * GetNodeVariableNumberOfComponents() const
int SetBlockNumberOfAttributesPerElement(int *natts)
Set or get a pointer to a list of the number of attributes stored for the elements in each block.
int * GetSideSetDistributionFactorIndex() const
Get a list of the index of the starting entry for each side set in the list of side set distribution ...
int * GetSideSetPropertyValue() const
int * GetNodeSetNodeIdList() const
vtkTypeBool GetAllVariablesDefinedInAllBlocks() const
Instead of a truth table of all "1"s, you can set this instance variable to indicate that all variabl...
void SetSideSetPropertyNames(int numProp, char **names)
Set or get the names of the side set properties.
int * GetSideSetSize() const
void SetElementVariableInfo(int numOrigNames, char **origNames, int numNames, char **names, int *numComp, int *map)
The ModelMetadata maintains a list of the element variables that were in the original file,...
int GetNumberOfElementVariables() const
void SetBlockIds(int *)
An arbitrary integer ID for each block.
void Reset()
Set the object back to it's initial state.
void SetSideSetDistributionFactors(float *)
Set or get a pointer to a list of all the distribution factors.
int GetSumNodesPerNodeSet() const
Get the total number of nodes in all node sets.
int * GetBlockElementIdListIndex() const
Get a list of the index into the BlockElementIdList of the start of each block's elements.
void SetNodeSetNumberOfDistributionFactors(int *)
Set or get a list of the number of distribution factors stored by each node set.
virtual void PrintGlobalInformation()
The global fields are those which pertain to the whole file.
int GetSumElementsPerBlock() const
Get the length of the list of elements in every block.
void SetNodeSetPropertyValue(int *)
Set or get value for each variable for each node set.
char ** GetNodeVariableNames() const
void SetBlockElementIdList(int *)
Set or get a pointer to a list global element IDs for the elements in each block.
int GetSumDistFactPerNodeSet() const
Get the total number of distribution factors stored for all node sets.
int GetNumberOfNodeSets() const
The number of node sets in the file.
void FreeBlockDependentData()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
int * GetElementVariableNumberOfComponents() const
float * GetTimeStepValues() const
Get the time step values.
char ** GetSideSetPropertyNames() const
virtual void PrintLocalInformation()
The local fields are those which depend on exactly which blocks, which time step, and which variables...
int * GetSideSetNumberOfDistributionFactors() const
int GetNumberOfSideSets() const
Set or get the number of side sets.
char ** GetNodeSetPropertyNames() const
void SetBlockPropertyNames(int numProp, char **names)
Set or get the names of the block properties.
void FreeUsedElementVariableNames()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
void FreeAllLocalData()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
void SetSideSetPropertyValue(int *)
Set or get value for each variable for each side set.
int * GetBlockPropertyValue() const
int * GetNodeSetPropertyValue() const
int GetDimension() const
Get the dimension of the model.
int GetOriginalNumberOfNodeVariables() const
void FreeUsedNodeVariables()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
int * GetBlockNodesPerElement() const
void FreeAllGlobalData()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
void SetSideSetIds(int *)
Set or get a pointer to a list giving the ID of each side set.
int GetSumDistFactPerSideSet() const
Get the total number of distribution factors stored for all side sets.
void FreeOriginalNodeVariableNames()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
void SetSideSetSideList(int *)
Set or get a pointer to the element side for each side in the side set.
int SetSideSetNumberOfDistributionFactors(int *df)
Set or get a pointer to a list of the number of distribution factors stored by each side set.
void SetNodeSetPropertyNames(int numProp, char **names)
Set or get the names of the node setproperties.
void FreeUsedNodeVariableNames()
Free selected portions of the metadata when updating values in the vtkModelMetadata object.
static vtkModelMetadata * New()
int * GetSideSetListIndex() const
Get a list of the index of the starting entry for each side set in the list of side set side IDs.
float * GetSideSetDistributionFactors() const
int * GetSideSetIds() const
int * GetBlockNumberOfElements() const
int * GetSideSetSideList() const
int * GetNodeSetIds() const
void SetBlockElementType(char **)
Element type for each block - a name that means something to person who created the file.
char ** GetBlockPropertyNames() const
void SetNodeSetSize(int *)
Set or get a pointer to a list of the number of nodes in each node set.
int * GetSideSetNumDFPerSide() const
abstract base class for most VTK objects
Definition: vtkObject.h:161
a vtkAbstractArray subclass for strings
@ name
Definition: vtkX3D.h:219
int vtkTypeBool
Definition: vtkABI.h:64