source: flair-src/trunk/lib/FlairCore/src/cvmatrix_descriptor.cpp@ 16

Last change on this file since 16 was 15, checked in by Bayard Gildas, 6 years ago

sources reformatted with flair-format-dir script

File size: 2.0 KB
RevLine 
[2]1// %flair:license{
[15]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[2]4// %flair:license}
5// created: 2014/02/05
6// filename: cvmatrix_descriptor.cpp
7//
8// author: Guillaume Sanahuja
9// Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11// version: $Id: $
12//
13// purpose: Class describing cvmatrix elements, for log and graphs purpose
14//
15/*********************************************************************/
16
17#include "cvmatrix_descriptor.h"
18#include "FrameworkManager.h"
19
20using std::string;
21
[15]22namespace flair {
23namespace core {
[2]24
25cvmatrix_descriptor::cvmatrix_descriptor(uint32_t rows, uint32_t cols) {
[15]26 this->rows = rows;
27 this->cols = cols;
[2]28
[15]29 if (rows == 0 || cols == 0)
30 getFrameworkManager()->Err("rows and cols must be >0\n");
[2]31
[15]32 element_names = (string **)malloc(rows * cols * sizeof(string *));
33 for (uint32_t i = 0; i < rows * cols; i++) {
34 element_names[i] = new string();
35 }
[2]36}
37
38cvmatrix_descriptor::~cvmatrix_descriptor() {
[15]39 for (uint32_t i = 0; i < rows * cols; i++) {
40 delete element_names[i];
41 }
42 free(element_names);
[2]43}
44
[15]45void cvmatrix_descriptor::SetElementName(uint32_t row, uint32_t col,
46 string name) {
47 if (row >= rows || col >= cols) {
48 getFrameworkManager()->Err("index out of bound %s (%i,%i), range (%i,%i)\n",
49 name.c_str(), row, col, rows - 1, cols - 1);
50 return;
51 }
52 *element_names[row * cols + col] = name;
[2]53}
54
55string cvmatrix_descriptor::ElementName(uint32_t row, uint32_t col) const {
[15]56 if (row >= rows || col >= cols) {
57 getFrameworkManager()->Err("index out of bound (%i,%i), range (%i,%i)\n",
58 row, col, rows - 1, cols - 1);
59 return *element_names[0]; // safe value...
60 }
61 return *element_names[row * cols + col];
[2]62}
63
[15]64uint32_t cvmatrix_descriptor::Rows() const { return rows; }
[2]65
[15]66uint32_t cvmatrix_descriptor::Cols() const { return cols; }
[2]67
68} // end namespace core
69} // end namespace flair
Note: See TracBrowser for help on using the repository browser.