74 #ifndef __vtkModelMetadata_h
75 #define __vtkModelMetadata_h
86 class vtkModelMetadataSTLCloak;
99 virtual void PrintGlobalInformation();
111 virtual void PrintLocalInformation();
120 void SetInformationLines(
int numLines,
char **lines);
123 void AddInformationLine(
char *
info);
127 int GetInformationLines(
char ***lines)
const;
132 return this->NumberOfInformationLines;}
138 void SetQARecords(
int numberOfRecords,
char *QARecords[][4]);
147 void GetQARecord(
int which,
char **
name,
char **
version,
166 void SetTimeSteps(
int numberOfTimeSteps,
float *timeStepValues);
175 void SetCoordinateNames(
int dimension,
char **);
193 void SetBlockIds(
int *);
201 void SetBlockElementType(
char **);
209 int SetBlockNumberOfElements(
int *nelts);
217 void SetBlockNodesPerElement(
int *);
225 void SetBlockElementIdList(
int *);
240 int SetBlockNumberOfAttributesPerElement(
int *natts);
248 void SetBlockAttributes(
float *);
255 return this->SizeBlockAttributeArray;}
273 void SetNodeSetIds(
int *);
281 int SetNodeSetSize(
int *);
290 void SetNodeSetNodeIdList(
int *);
299 int SetNodeSetNumberOfDistributionFactors(
int *);
301 {
return this->NodeSetNumberOfDistributionFactors;}
308 void SetNodeSetDistributionFactors(
float *);
310 return this->NodeSetDistributionFactors;}
323 return this->NodeSetNodeIdListIndex;}
330 return this->NodeSetDistributionFactorIndex;}
343 void SetSideSetIds(
int *);
351 int SetSideSetSize(
int *sizes);
360 int SetSideSetNumberOfDistributionFactors(
int *df);
362 return this->SideSetNumberOfDistributionFactors;}
370 void SetSideSetElementList(
int *);
380 void SetSideSetSideList(
int *);
389 void SetSideSetNumDFPerSide(
int *numNodes);
402 void SetSideSetDistributionFactors(
float *);
404 return this->SideSetDistributionFactors;}
421 return this->SideSetDistributionFactorIndex;}
427 return this->NumberOfBlockProperties;}
432 void SetBlockPropertyNames(
int numProp,
char **
names);
439 void SetBlockPropertyValue(
int *);
446 return this->NumberOfNodeSetProperties;}
451 void SetNodeSetPropertyNames(
int numProp,
char **
names);
458 void SetNodeSetPropertyValue(
int *);
465 return this->NumberOfSideSetProperties;}
470 void SetSideSetPropertyNames(
int numProp,
char **
names);
477 void SetSideSetPropertyValue(
int *);
484 return this->NumberOfGlobalVariables;}
489 void SetGlobalVariableNames(
int numVarNames,
char **
n);
496 void SetGlobalVariableValue(
float *
f);
510 void SetElementVariableInfo(
int numOrigNames,
char **origNames,
511 int numNames,
char **
names,
int *numComp,
525 void SetNodeVariableInfo(
int numOrigNames,
char **origNames,
526 int numNames,
char **
names,
int *numComp,
535 void SetElementVariableTruthTable(
int *);
537 return this->ElementVariableTruthTable;}
546 return this->AllVariablesDefinedInAllBlocks;}
555 int ElementVariableIsDefinedInBlock(
char *varname,
int blockId);
571 return this->OriginalNumberOfElementVariables;}
573 return this->OriginalElementVariableNames;}
575 return this->NumberOfElementVariables;}
577 return this->ElementVariableNames;}
579 return this->ElementVariableNumberOfComponents;}
581 return this->MapToOriginalElementVariableNames;}
585 return this->OriginalNumberOfNodeVariables;}
587 return this->OriginalNodeVariableNames;}
589 return this->NumberOfNodeVariables;}
591 return this->NodeVariableNames;}
593 return this->NodeVariableNumberOfComponents;}
595 return this->MapToOriginalNodeVariableNames;}
601 char *FindOriginalElementVariableName(
const char *
name,
int component);
607 char *FindOriginalNodeVariableName(
const char *
name,
int component);
638 int AddUGridElementVariable(
char *ugridVarName,
char *origName,
int numComponents);
639 int RemoveUGridElementVariable(
char *ugridVarName);
642 int AddUGridNodeVariable(
char *ugridVarName,
char *origName,
int numComponents);
643 int RemoveUGridNodeVariable(
char *ugridVarName);
684 void FreeAllGlobalData();
685 void FreeAllLocalData();
686 void FreeBlockDependentData();
687 void FreeOriginalElementVariableNames();
688 void FreeOriginalNodeVariableNames();
689 void FreeUsedElementVariableNames();
690 void FreeUsedNodeVariableNames();
691 void FreeUsedElementVariables();
692 void FreeUsedNodeVariables();
700 int GetBlockLocalIndex(
int id);
707 void InitializeAllMetadata();
708 void InitializeAllIvars();
710 void FreeAllMetadata();
713 void FreeQARecords();
715 int BuildBlockElementIdListIndex();
716 int BuildBlockAttributesIndex();
717 int BuildNodeSetNodeIdListIndex();
718 int BuildNodeSetDistributionFactorIndex();
719 int BuildSideSetListIndex();
720 int BuildSideSetDistributionFactorIndex();
722 int InitializeFromSizeArray(
vtkIntArray *ia,
int &maxStr,
int &maxLine);
723 vtkIntArray *PackSizeArray(
int maxStr,
int maxLine);
732 static char *StrDupWithNew(
const char *
s);
734 static char *WriteLines(
char *
p,
int maxLines,
int maxLen,
char **lines);
735 static char *ReadLines(
char ***to,
int maxLines,
736 int maxLen,
char *from);
737 static char **CopyLines(
char **lines,
int num);
738 static int *CopyInts(
int *vals,
int num);
740 static int FindNameOnList(
char *
name,
char **list,
int listLen);
742 int MergeIdLists(
int numSubLists,
743 int *id1,
int *id1Idx,
int id1Len,
744 float *dist1,
int *dist1Idx,
int dist1Len,
745 int *id2,
int *id2Idx,
int id2Len,
746 float *dist2,
int *dist2Idx,
int dist2Len,
747 int **idNew,
int **idNewIdx,
int *idNewLen,
748 float **distNew,
int **distNewIdx,
int *distNewLen);
750 int AppendFloatLists(
int numSubLists,
751 float *id1,
int *id1Idx,
int id1Len,
752 float *id2,
int *id2Idx,
int id2Len,
753 float **idNew,
int **idNewIdx,
int *idNewLen);
755 int AppendIntegerLists(
int numSubLists,
756 int *id1,
int *id1Idx,
int id1Len,
757 int *id2,
int *id2Idx,
int id2Len,
758 int **idNew,
int **idNewIdx,
int *idNewLen);
760 void ExtractCellsFromBlockData(vtkModelMetadataSTLCloak *idset,
762 void ExtractNodesFromNodeSetData(vtkModelMetadataSTLCloak *idset,
764 void ExtractSidesFromSideSetData(vtkModelMetadataSTLCloak *idset,
767 void ShowFloats(
const char *what,
int num,
float *
f);
768 void ShowLines(
const char *what,
int num,
char **l);
769 void ShowIntArray(
const char *what,
int numx,
int numy,
int *
id);
770 void ShowInts(
const char *what,
int num,
int *
id);
771 void ShowListsOfInts(
const char *what,
int *list,
772 int nlists,
int *idx,
int len,
int verbose);
773 void ShowListsOfFloats(
const char *what,
float *list,
774 int nlists,
int *idx,
int len,
int verbose);
776 void SetOriginalElementVariableNames(
int nvars,
char **
names);
777 void SetElementVariableNames(
int nvars,
char **
names);
778 void SetElementVariableNumberOfComponents(
int *comp);
779 void SetMapToOriginalElementVariableNames(
int *map);
781 void SetOriginalNodeVariableNames(
int nvars,
char **
names);
782 void SetNodeVariableNames(
int nvars,
char **
names);
783 void SetNodeVariableNumberOfComponents(
int *comp);
784 void SetMapToOriginalNodeVariableNames(
int *map);
786 int CalculateMaximumLengths(
int &maxString,
int &maxLine);
795 int NumberOfQARecords;
797 char *(*QARecord)[4];
800 int NumberOfInformationLines;
801 char **InformationLine;
804 char **CoordinateNames;
809 int NumberOfTimeSteps;
810 float *TimeStepValues;
817 char **BlockElementType;
818 int *BlockNumberOfElements;
819 int *BlockNodesPerElement;
820 int *BlockNumberOfAttributesPerElement;
821 int *BlockElementIdList;
822 float *BlockAttributes;
826 int SumElementsPerBlock;
827 int SizeBlockAttributeArray;
829 int *BlockElementIdListIndex;
830 int *BlockAttributesIndex;
832 vtkModelMetadataSTLCloak *BlockIdIndex;
836 int NumberOfNodeSets;
840 int *NodeSetNumberOfDistributionFactors;
841 int *NodeSetNodeIdList;
842 float *NodeSetDistributionFactors;
846 int SumNodesPerNodeSet;
847 int SumDistFactPerNodeSet;
849 int *NodeSetNodeIdListIndex;
850 int *NodeSetDistributionFactorIndex;
854 int NumberOfSideSets;
858 int *SideSetNumberOfDistributionFactors;
859 int *SideSetElementList;
860 int *SideSetSideList;
861 int *SideSetNumDFPerSide;
862 float *SideSetDistributionFactors;
866 int SumSidesPerSideSet;
867 int SumDistFactPerSideSet;
869 int *SideSetListIndex;
870 int *SideSetDistributionFactorIndex;
874 int NumberOfBlockProperties;
875 char **BlockPropertyNames;
876 int *BlockPropertyValue;
878 int NumberOfNodeSetProperties;
879 char **NodeSetPropertyNames;
880 int *NodeSetPropertyValue;
882 int NumberOfSideSetProperties;
883 char **SideSetPropertyNames;
884 int *SideSetPropertyValue;
894 int NumberOfGlobalVariables;
895 char **GlobalVariableNames;
896 float *GlobalVariableValue;
904 int OriginalNumberOfElementVariables;
905 char **OriginalElementVariableNames;
906 int NumberOfElementVariables;
907 int MaxNumberOfElementVariables;
908 char **ElementVariableNames;
909 int *ElementVariableNumberOfComponents;
910 int *MapToOriginalElementVariableNames;
912 int OriginalNumberOfNodeVariables;
913 char **OriginalNodeVariableNames;
914 int NumberOfNodeVariables;
915 int MaxNumberOfNodeVariables;
916 char **NodeVariableNames;
917 int *NodeVariableNumberOfComponents;
918 int *MapToOriginalNodeVariableNames;
920 int *ElementVariableTruthTable;
921 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
#define vtkSetStringMacro(name)
#define vtkTypeMacro(thisClass, superclass)
dynamic, self-adjusting array of char
dynamic, self-adjusting array of int
GLuint const GLchar * name
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
#define VTKIOEXODUS_EXPORT
#define vtkBooleanMacro(name, type)
#define vtkSetMacro(name, type)