------------------------------------------------------------------------------
| 908 | |
| 909 | //------------------------------------------------------------------------------ |
| 910 | int vtkDemandDrivenPipeline::ArrayIsValid(vtkAbstractArray* array, vtkInformation* field) |
| 911 | { |
| 912 | // Enforce existence of the array. |
| 913 | if (!array) |
| 914 | { |
| 915 | return 0; |
| 916 | } |
| 917 | |
| 918 | // Enforce name of the array. This should really only be used for |
| 919 | // field data (not point or cell data). |
| 920 | if (const char* name = field->Get(vtkDataObject::FIELD_NAME())) |
| 921 | { |
| 922 | if (!array->GetName() || (strcmp(name, array->GetName()) != 0)) |
| 923 | { |
| 924 | return 0; |
| 925 | } |
| 926 | } |
| 927 | |
| 928 | // Enforce component type for the array. |
| 929 | if (field->Has(vtkDataObject::FIELD_ARRAY_TYPE())) |
| 930 | { |
| 931 | int arrayType = field->Get(vtkDataObject::FIELD_ARRAY_TYPE()); |
| 932 | if (array->GetDataType() != arrayType) |
| 933 | { |
| 934 | return 0; |
| 935 | } |
| 936 | } |
| 937 | |
| 938 | // Enforce number of components for the array. |
| 939 | if (field->Has(vtkDataObject::FIELD_NUMBER_OF_COMPONENTS())) |
| 940 | { |
| 941 | int arrayNumComponents = field->Get(vtkDataObject::FIELD_NUMBER_OF_COMPONENTS()); |
| 942 | if (array->GetNumberOfComponents() != arrayNumComponents) |
| 943 | { |
| 944 | return 0; |
| 945 | } |
| 946 | } |
| 947 | |
| 948 | // Enforce number of tuples. This should really only be used for |
| 949 | // field data (not point or cell data). |
| 950 | if (field->Has(vtkDataObject::FIELD_NUMBER_OF_TUPLES())) |
| 951 | { |
| 952 | int arrayNumTuples = field->Get(vtkDataObject::FIELD_NUMBER_OF_TUPLES()); |
| 953 | if (array->GetNumberOfTuples() != arrayNumTuples) |
| 954 | { |
| 955 | return 0; |
| 956 | } |
| 957 | } |
| 958 | |
| 959 | return 1; |
| 960 | } |
| 961 | |
| 962 | //------------------------------------------------------------------------------ |
| 963 | int vtkDemandDrivenPipeline::InputIsOptional(int port) |
no test coverage detected