MCPcopy Create free account
hub / github.com/Kitware/VTK / CopyFieldOnOff

Method CopyFieldOnOff

Common/DataModel/vtkFieldData.cxx:822–860  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

820
821//------------------------------------------------------------------------------
822void vtkFieldData::CopyFieldOnOff(const char* field, int onOff)
823{
824 if (!field)
825 {
826 return;
827 }
828
829 // If the array is in the list, simply set IsCopied to onOff
830 int index = this->FindFlag(field);
831 if (index != -1)
832 {
833 if (this->CopyFieldFlags[index].IsCopied != onOff)
834 {
835 this->CopyFieldFlags[index].IsCopied = onOff;
836 this->Modified();
837 }
838 }
839 else
840 {
841 // We need to reallocate the list of fields
842 vtkFieldData::CopyFieldFlag* newFlags =
843 new vtkFieldData::CopyFieldFlag[this->NumberOfFieldFlags + 1];
844 // Copy old flags (pointer copy for name)
845 for (int i = 0; i < this->NumberOfFieldFlags; ++i)
846 {
847 newFlags[i].ArrayName = this->CopyFieldFlags[i].ArrayName;
848 newFlags[i].IsCopied = this->CopyFieldFlags[i].IsCopied;
849 }
850 // Copy new flag (strcpy)
851 char* newName = new char[strlen(field) + 1];
852 strcpy(newName, field);
853 newFlags[this->NumberOfFieldFlags].ArrayName = newName;
854 newFlags[this->NumberOfFieldFlags].IsCopied = onOff;
855 this->NumberOfFieldFlags++;
856 delete[] this->CopyFieldFlags;
857 this->CopyFieldFlags = newFlags;
858 this->Modified();
859 }
860}
861
862//------------------------------------------------------------------------------
863// Turn on copying of all data.

Callers 2

CopyFieldOnFunction · 0.45
CopyFieldOffFunction · 0.45

Calls 2

FindFlagMethod · 0.95
ModifiedMethod · 0.45

Tested by

no test coverage detected