72 #ifndef vtkModelMetadata_h
73 #define vtkModelMetadata_h
84 class vtkModelMetadataSTLCloak;
97 virtual void PrintGlobalInformation();
109 virtual void PrintLocalInformation();
113 vtkSetStringMacro(Title);
118 void SetInformationLines(
int numLines,
char **lines);
122 int GetInformationLines(
char ***lines)
const;
127 return this->NumberOfInformationLines;}
134 vtkSetMacro(TimeStepIndex,
int);
142 void SetTimeSteps(
int numberOfTimeSteps,
float *timeStepValues);
151 void SetCoordinateNames(
int dimension,
char **);
162 vtkSetMacro(NumberOfBlocks,
int);
169 void SetBlockIds(
int *);
177 void SetBlockElementType(
char **);
185 int SetBlockNumberOfElements(
int *nelts);
193 void SetBlockNodesPerElement(
int *);
201 void SetBlockElementIdList(
int *);
216 int SetBlockNumberOfAttributesPerElement(
int *natts);
224 void SetBlockAttributes(
float *);
231 return this->SizeBlockAttributeArray;}
241 vtkSetMacro(NumberOfNodeSets,
int);
249 void SetNodeSetIds(
int *);
257 void SetNodeSetSize(
int *);
266 void SetNodeSetNodeIdList(
int *);
275 void SetNodeSetNumberOfDistributionFactors(
int *);
277 {
return this->NodeSetNumberOfDistributionFactors;}
284 void SetNodeSetDistributionFactors(
float *);
286 return this->NodeSetDistributionFactors;}
291 vtkSetMacro(SumNodesPerNodeSet,
int);
302 return this->NodeSetNodeIdListIndex;}
309 return this->NodeSetDistributionFactorIndex;}
315 vtkSetMacro(NumberOfSideSets,
int);
322 void SetSideSetIds(
int *);
330 int SetSideSetSize(
int *sizes);
339 int SetSideSetNumberOfDistributionFactors(
int *df);
341 return this->SideSetNumberOfDistributionFactors;}
349 void SetSideSetElementList(
int *);
359 void SetSideSetSideList(
int *);
368 void SetSideSetNumDFPerSide(
int *numNodes);
381 void SetSideSetDistributionFactors(
float *);
383 return this->SideSetDistributionFactors;}
388 vtkSetMacro(SumSidesPerSideSet,
int);
403 return this->SideSetDistributionFactorIndex;}
409 return this->NumberOfBlockProperties;}
414 void SetBlockPropertyNames(
int numProp,
char **names);
421 void SetBlockPropertyValue(
int *);
428 return this->NumberOfNodeSetProperties;}
433 void SetNodeSetPropertyNames(
int numProp,
char **names);
440 void SetNodeSetPropertyValue(
int *);
447 return this->NumberOfSideSetProperties;}
452 void SetSideSetPropertyNames(
int numProp,
char **names);
459 void SetSideSetPropertyValue(
int *);
466 return this->NumberOfGlobalVariables;}
471 void SetGlobalVariableNames(
int numVarNames,
char **n);
478 void SetGlobalVariableValue(
float *f);
492 void SetElementVariableInfo(
int numOrigNames,
char **origNames,
493 int numNames,
char **names,
int *numComp,
507 void SetNodeVariableInfo(
int numOrigNames,
char **origNames,
508 int numNames,
char **names,
int *numComp,
517 void SetElementVariableTruthTable(
int *);
519 return this->ElementVariableTruthTable;}
525 vtkSetMacro(AllVariablesDefinedInAllBlocks,
int);
526 vtkBooleanMacro(AllVariablesDefinedInAllBlocks,
int);
528 return this->AllVariablesDefinedInAllBlocks;}
545 return this->OriginalNumberOfElementVariables;}
547 return this->OriginalElementVariableNames;}
549 return this->NumberOfElementVariables;}
551 return this->ElementVariableNames;}
553 return this->ElementVariableNumberOfComponents;}
555 return this->MapToOriginalElementVariableNames;}
559 return this->OriginalNumberOfNodeVariables;}
561 return this->OriginalNodeVariableNames;}
563 return this->NumberOfNodeVariables;}
565 return this->NodeVariableNames;}
567 return this->NodeVariableNumberOfComponents;}
569 return this->MapToOriginalNodeVariableNames;}
581 void FreeAllGlobalData();
582 void FreeAllLocalData();
583 void FreeBlockDependentData();
584 void FreeOriginalElementVariableNames();
585 void FreeOriginalNodeVariableNames();
586 void FreeUsedElementVariableNames();
587 void FreeUsedNodeVariableNames();
588 void FreeUsedElementVariables();
589 void FreeUsedNodeVariables();
600 void InitializeAllMetadata();
601 void InitializeAllIvars();
603 void FreeAllMetadata();
606 int BuildBlockElementIdListIndex();
607 int BuildBlockAttributesIndex();
608 int BuildSideSetDistributionFactorIndex();
610 static char *StrDupWithNew(
const char *s);
612 static int FindNameOnList(
char *
name,
char **list,
int listLen);
614 void ShowFloats(
const char *what,
int num,
float *f);
615 void ShowLines(
const char *what,
int num,
char **l);
616 void ShowIntArray(
const char *what,
int numx,
int numy,
int *
id);
617 void ShowInts(
const char *what,
int num,
int *
id);
618 void ShowListsOfInts(
const char *what,
int *list,
619 int nlists,
int *idx,
int len,
int verbose);
620 void ShowListsOfFloats(
const char *what,
float *list,
621 int nlists,
int *idx,
int len,
int verbose);
623 void SetOriginalElementVariableNames(
int nvars,
char **names);
624 void SetElementVariableNames(
int nvars,
char **names);
625 void SetElementVariableNumberOfComponents(
int *comp);
626 void SetMapToOriginalElementVariableNames(
int *map);
628 void SetOriginalNodeVariableNames(
int nvars,
char **names);
629 void SetNodeVariableNames(
int nvars,
char **names);
630 void SetNodeVariableNumberOfComponents(
int *comp);
631 void SetMapToOriginalNodeVariableNames(
int *map);
633 int CalculateMaximumLengths(
int &maxString,
int &maxLine);
642 int NumberOfInformationLines;
643 char **InformationLine;
646 char **CoordinateNames;
651 int NumberOfTimeSteps;
652 float *TimeStepValues;
659 char **BlockElementType;
660 int *BlockNumberOfElements;
661 int *BlockNodesPerElement;
662 int *BlockNumberOfAttributesPerElement;
663 int *BlockElementIdList;
664 float *BlockAttributes;
668 int SumElementsPerBlock;
669 int SizeBlockAttributeArray;
671 int *BlockElementIdListIndex;
672 int *BlockAttributesIndex;
674 vtkModelMetadataSTLCloak *BlockIdIndex;
678 int NumberOfNodeSets;
682 int *NodeSetNumberOfDistributionFactors;
683 int *NodeSetNodeIdList;
684 float *NodeSetDistributionFactors;
688 int SumNodesPerNodeSet;
689 int SumDistFactPerNodeSet;
691 int *NodeSetNodeIdListIndex;
692 int *NodeSetDistributionFactorIndex;
696 int NumberOfSideSets;
700 int *SideSetNumberOfDistributionFactors;
701 int *SideSetElementList;
702 int *SideSetSideList;
703 int *SideSetNumDFPerSide;
704 float *SideSetDistributionFactors;
708 int SumSidesPerSideSet;
709 int SumDistFactPerSideSet;
711 int *SideSetListIndex;
712 int *SideSetDistributionFactorIndex;
716 int NumberOfBlockProperties;
717 char **BlockPropertyNames;
718 int *BlockPropertyValue;
720 int NumberOfNodeSetProperties;
721 char **NodeSetPropertyNames;
722 int *NodeSetPropertyValue;
724 int NumberOfSideSetProperties;
725 char **SideSetPropertyNames;
726 int *SideSetPropertyValue;
736 int NumberOfGlobalVariables;
737 char **GlobalVariableNames;
738 float *GlobalVariableValue;
746 int OriginalNumberOfElementVariables;
747 char **OriginalElementVariableNames;
748 int NumberOfElementVariables;
749 int MaxNumberOfElementVariables;
750 char **ElementVariableNames;
751 int *ElementVariableNumberOfComponents;
752 int *MapToOriginalElementVariableNames;
754 int OriginalNumberOfNodeVariables;
755 char **OriginalNodeVariableNames;
756 int NumberOfNodeVariables;
757 int MaxNumberOfNodeVariables;
758 char **NodeVariableNames;
759 int *NodeVariableNumberOfComponents;
760 int *MapToOriginalNodeVariableNames;
762 int *ElementVariableTruthTable;
763 int AllVariablesDefinedInAllBlocks;
abstract base class for most VTK objects
abstract class to specify dataset behavior
dynamic, self-adjusting array of float
dynamic, self-adjusting array of vtkIdType
dynamic, self-adjusting array of char
dynamic, self-adjusting array of int
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
#define VTKIOEXODUS_EXPORT