73 #ifndef vtkModelMetadata_h
74 #define vtkModelMetadata_h
76 #include "vtkIOExodusModule.h"
87 class vtkModelMetadataSTLCloak;
103 virtual void PrintGlobalInformation();
118 virtual void PrintLocalInformation();
124 vtkSetStringMacro(Title);
125 const char*
GetTitle()
const {
return this->Title; }
131 void SetInformationLines(
int numLines,
char** lines);
137 int GetInformationLines(
char*** lines)
const;
151 vtkSetMacro(TimeStepIndex,
int);
160 void SetTimeSteps(
int numberOfTimeSteps,
float* timeStepValues);
171 void SetCoordinateNames(
int dimension,
char**);
185 vtkSetMacro(NumberOfBlocks,
int);
193 void SetBlockIds(
int*);
201 void SetBlockElementType(
char**);
209 int SetBlockNumberOfElements(
int* nelts);
217 void SetBlockNodesPerElement(
int*);
225 void SetBlockElementIdList(
int*);
244 int SetBlockNumberOfAttributesPerElement(
int* natts);
247 return this->BlockNumberOfAttributesPerElement;
256 void SetBlockAttributes(
float*);
275 vtkSetMacro(NumberOfNodeSets,
int);
287 void SetNodeSetIds(
int*);
294 void SetNodeSetSize(
int*);
303 void SetNodeSetNodeIdList(
int*);
313 void SetNodeSetNumberOfDistributionFactors(
int*);
316 return this->NodeSetNumberOfDistributionFactors;
324 void SetNodeSetDistributionFactors(
float*);
331 vtkSetMacro(SumNodesPerNodeSet,
int);
357 vtkSetMacro(NumberOfSideSets,
int);
368 void SetSideSetIds(
int*);
375 int SetSideSetSize(
int* sizes);
384 int SetSideSetNumberOfDistributionFactors(
int* df);
387 return this->SideSetNumberOfDistributionFactors;
396 void SetSideSetElementList(
int*);
406 void SetSideSetSideList(
int*);
415 void SetSideSetNumDFPerSide(
int* numNodes);
429 void SetSideSetDistributionFactors(
float*);
436 vtkSetMacro(SumSidesPerSideSet,
int);
465 void SetBlockPropertyNames(
int numProp,
char** names);
473 void SetBlockPropertyValue(
int*);
484 void SetNodeSetPropertyNames(
int numProp,
char** names);
492 void SetNodeSetPropertyValue(
int*);
503 void SetSideSetPropertyNames(
int numProp,
char** names);
511 void SetSideSetPropertyValue(
int*);
522 void SetGlobalVariableNames(
int numVarNames,
char** n);
529 void SetGlobalVariableValue(
float* f);
544 void SetElementVariableInfo(
545 int numOrigNames,
char** origNames,
int numNames,
char** names,
int* numComp,
int* map);
559 void SetNodeVariableInfo(
560 int numOrigNames,
char** origNames,
int numNames,
char** names,
int* numComp,
int* map);
568 void SetElementVariableTruthTable(
int*);
577 vtkSetMacro(AllVariablesDefinedInAllBlocks,
vtkTypeBool);
578 vtkBooleanMacro(AllVariablesDefinedInAllBlocks,
vtkTypeBool);
581 return this->AllVariablesDefinedInAllBlocks;
609 return this->ElementVariableNumberOfComponents;
613 return this->MapToOriginalElementVariableNames;
638 void FreeAllGlobalData();
639 void FreeAllLocalData();
640 void FreeBlockDependentData();
641 void FreeOriginalElementVariableNames();
642 void FreeOriginalNodeVariableNames();
643 void FreeUsedElementVariableNames();
644 void FreeUsedNodeVariableNames();
645 void FreeUsedElementVariables();
646 void FreeUsedNodeVariables();
659 void InitializeAllMetadata();
660 void InitializeAllIvars();
662 void FreeAllMetadata();
665 int BuildBlockElementIdListIndex();
666 int BuildBlockAttributesIndex();
667 int BuildSideSetDistributionFactorIndex();
669 static char* StrDupWithNew(
const char* s);
671 static int FindNameOnList(
char*
name,
char** list,
int listLen);
673 void ShowFloats(
const char* what,
int num,
float* f);
674 void ShowLines(
const char* what,
int num,
char** l);
675 void ShowIntArray(
const char* what,
int numx,
int numy,
int*
id);
676 void ShowInts(
const char* what,
int num,
int*
id);
677 void ShowListsOfInts(
const char* what,
int* list,
int nlists,
int* idx,
int len,
int verbose);
678 void ShowListsOfFloats(
const char* what,
float* list,
int nlists,
int* idx,
int len,
int verbose);
680 void SetOriginalElementVariableNames(
int nvars,
char** names);
681 void SetElementVariableNames(
int nvars,
char** names);
682 void SetElementVariableNumberOfComponents(
int* comp);
683 void SetMapToOriginalElementVariableNames(
int* map);
685 void SetOriginalNodeVariableNames(
int nvars,
char** names);
686 void SetNodeVariableNames(
int nvars,
char** names);
687 void SetNodeVariableNumberOfComponents(
int* comp);
688 void SetMapToOriginalNodeVariableNames(
int* map);
690 int CalculateMaximumLengths(
int& maxString,
int& maxLine);
699 int NumberOfInformationLines;
700 char** InformationLine;
703 char** CoordinateNames;
708 int NumberOfTimeSteps;
709 float* TimeStepValues;
716 char** BlockElementType;
717 int* BlockNumberOfElements;
718 int* BlockNodesPerElement;
719 int* BlockNumberOfAttributesPerElement;
720 int* BlockElementIdList;
721 float* BlockAttributes;
725 int SumElementsPerBlock;
726 int SizeBlockAttributeArray;
728 int* BlockElementIdListIndex;
729 int* BlockAttributesIndex;
731 vtkModelMetadataSTLCloak* BlockIdIndex;
735 int NumberOfNodeSets;
741 int* NodeSetNumberOfDistributionFactors;
742 int* NodeSetNodeIdList;
743 float* NodeSetDistributionFactors;
747 int SumNodesPerNodeSet;
748 int SumDistFactPerNodeSet;
750 int* NodeSetNodeIdListIndex;
751 int* NodeSetDistributionFactorIndex;
755 int NumberOfSideSets;
761 int* SideSetNumberOfDistributionFactors;
762 int* SideSetElementList;
763 int* SideSetSideList;
764 int* SideSetNumDFPerSide;
765 float* SideSetDistributionFactors;
769 int SumSidesPerSideSet;
770 int SumDistFactPerSideSet;
772 int* SideSetListIndex;
773 int* SideSetDistributionFactorIndex;
777 int NumberOfBlockProperties;
778 char** BlockPropertyNames;
779 int* BlockPropertyValue;
781 int NumberOfNodeSetProperties;
782 char** NodeSetPropertyNames;
783 int* NodeSetPropertyValue;
785 int NumberOfSideSetProperties;
786 char** SideSetPropertyNames;
787 int* SideSetPropertyValue;
797 int NumberOfGlobalVariables;
798 char** GlobalVariableNames;
799 float* GlobalVariableValue;
807 int OriginalNumberOfElementVariables;
808 char** OriginalElementVariableNames;
809 int NumberOfElementVariables;
810 int MaxNumberOfElementVariables;
811 char** ElementVariableNames;
812 int* ElementVariableNumberOfComponents;
813 int* MapToOriginalElementVariableNames;
815 int OriginalNumberOfNodeVariables;
816 char** OriginalNodeVariableNames;
817 int NumberOfNodeVariables;
818 int MaxNumberOfNodeVariables;
819 char** NodeVariableNames;
820 int* NodeVariableNumberOfComponents;
821 int* MapToOriginalNodeVariableNames;
823 int* ElementVariableTruthTable;