Essentially a tracker for our progress towards #70.
Logging which tdms classes need to be detached from MATLAB
Non-MATLAB classes we might want to flatten
Whilst it won't be necessary (we can just reshape buffers before writing/reading) we might want to rework the classes below to have flat, strided vectors to store their data rather than pointers to pointers.
Storage classes
Classes that are inherited from by other classes, or are simply used to store or interact with MATLAB objects.
Classes that are only read into
Classes that are read from the input file, or initialised by passing mxArray pointers.
Classes that are written out
Classes that need some (or all) of their data written to the output file.
Classes that are both read and written
WYTII.
Dependent Functions
Files that define functions that operate on MATLAB objects.
Other Classes
Test Classes
Essentially a tracker for our progress towards #70.
Logging which
tdmsclasses need to be detached from MATLABNon-MATLAB classes we might want to flatten
Whilst it won't be necessary (we can just reshape buffers before writing/reading) we might want to rework the classes below to have flat, strided vectors to store their data rather than pointers to pointers.
Tensor3DMatrixStorage classes
Classes that are inherited from by other classes, or are simply used to store or interact with MATLAB objects.
MaterialCollection(DetachXYZVectorfrom MATLAB #315)CCollectionBase(DetachXYZVectorfrom MATLAB #315)DCollectionBase(DetachXYZVectorfrom MATLAB #315)Vector(this class can almost surely be replaced withstd::vectornow that we can read MATLAB buffers via HDF5).Dimensions(this could quite easily be replaced withH5Dimensionsfrom Infrastructure for removingMATLAB#281)FieldSplitFieldLoopVariables(just for the copy of the electric field at the previous iteration)Classes that are only read into
Classes that are read from the input file, or initialised by passing
mxArraypointers.CMaterial(inheritsMaterialCollection,CCollectionBase) (DetachXYZVectorfrom MATLAB #315)DMaterial(inheritsMaterialCollection,DCollectionBase) (DetachXYZVectorfrom MATLAB #315)DispersiveMultiLayerGratingStructure(inheritsMatrix)FrequencyExtractVector(DetachVectors from MATLAB #328)FrequencyVectorsPupil(inheritsMatrix)DTilde(inheritsTensor3D)IncidentField(inheritsTensor3D)fdtdGridInitialiserInterfaceComponentCuboidSource(requirescomplexcasting)Classes that are written out
Classes that need some (or all) of their data written to the output file.
FieldComponentsVectors(inheritsVector, part ofVertexPhasors) (DetachVectors from MATLAB #328)Vertices(inheritsMatrix, part ofVertexPhasors)ElectricField(inheritsField)MagneticField(inheritsField)FieldSampleSurfacePhasorsVertexPhasorsIDVariablesClasses that are both read and written
WYTII.
TDFieldExporter2DGridLabelsSimulatonManagerDependent Functions
Files that define functions that operate on MATLAB objects.
array_init.h/cppmesh_base.h/cppmatlabio.h/cpp(likely will be deleted)mat_io.h/cpp(likely will be deleted)Other Classes
InputMatricescan be removed once all functions that need to read into have MATLAB removed.simulation_managerwill need to be passed the name of theHDF5file, or aHDF5Readerinstance.OutputMatricesno longer needs to holdMATLABpointers, instead should useHDF5Writerto produce the output. Removing MATLAB from each of the written out classes should involve implementing such functionality in this class, in which case it might be redundant / separated from MATLAB by this stage anyway.Test Classes
AbstractArrayTestClassand all its dependencies will need to be adjusted accordingly. Recommend doing this whilst tackling each class that is tested by this.