| 3622 | |
| 3623 | |
| 3624 | static void |
| 3625 | icvWriteMatND( CvFileStorage* fs, const char* name, |
| 3626 | const void* struct_ptr, CvAttrList /*attr*/ ) |
| 3627 | { |
| 3628 | CvMatND* mat = (CvMatND*)struct_ptr; |
| 3629 | CvMatND stub; |
| 3630 | CvNArrayIterator iterator; |
| 3631 | int dims, sizes[CV_MAX_DIM]; |
| 3632 | char dt[16]; |
| 3633 | |
| 3634 | assert( CV_IS_MATND_HDR(mat) ); |
| 3635 | |
| 3636 | cvStartWriteStruct( fs, name, CV_NODE_MAP, CV_TYPE_NAME_MATND ); |
| 3637 | dims = cvGetDims( mat, sizes ); |
| 3638 | cvStartWriteStruct( fs, "sizes", CV_NODE_SEQ + CV_NODE_FLOW ); |
| 3639 | cvWriteRawData( fs, sizes, dims, "i" ); |
| 3640 | cvEndWriteStruct( fs ); |
| 3641 | cvWriteString( fs, "dt", icvEncodeFormat( cvGetElemType(mat), dt ), 0 ); |
| 3642 | cvStartWriteStruct( fs, "data", CV_NODE_SEQ + CV_NODE_FLOW ); |
| 3643 | |
| 3644 | if( mat->dim[0].size > 0 && mat->data.ptr ) |
| 3645 | { |
| 3646 | cvInitNArrayIterator( 1, (CvArr**)&mat, 0, &stub, &iterator ); |
| 3647 | |
| 3648 | do |
| 3649 | cvWriteRawData( fs, iterator.ptr[0], iterator.size.width, dt ); |
| 3650 | while( cvNextNArraySlice( &iterator )); |
| 3651 | } |
| 3652 | cvEndWriteStruct( fs ); |
| 3653 | cvEndWriteStruct( fs ); |
| 3654 | } |
| 3655 | |
| 3656 | |
| 3657 | static void* |
nothing calls this directly
no test coverage detected