X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualContour%2FmanualContourModel.cpp;h=b57c3b333b7dda64ba8ef595e35d8afd19aaf7ce;hb=4dcdcabb81ce9f9e9b7ccdb86a64995d7b18ea23;hp=4318e0fbb24e3a3e569574739ce7edef8d426468;hpb=7624fbab400d414b4d8277e7f0febadcabcec5c0;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.cpp index 4318e0f..b57c3b3 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.cpp @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #include "manualContourModel.h" // ---------------------------------------------------------------------------- @@ -31,6 +56,12 @@ manualContourModel::manualContourModel() _delta_JSTG = 0.0; //--------------------------------------------------------------------------------------------------------------- + +//CMRU 17-08-09 ------------------------------------------------------------------------------------------------- + _realSize = 0.0; + _label = ""; +//--------------------------------------------------------------------------------------------------------------- + } // ---------------------------------------------------------------------------- @@ -45,7 +76,7 @@ manualContourModel::~manualContourModel() _cntSplineX->RemoveAllPoints(); _cntSplineY->RemoveAllPoints(); _cntSplineZ->RemoveAllPoints(); - + _cntSplineX->Delete(); _cntSplineY->Delete(); _cntSplineZ->Delete(); @@ -260,7 +291,6 @@ void manualContourModel::SetNumberOfPointsSpline(int size) _sizePointsContour = size; } - // ---------------------------------------------------------------------------- void manualContourModel::SetCloseContour(bool closeContour) @@ -307,7 +337,8 @@ void manualContourModel::UpdateSpline() // virtual _delta_JSTG = (double) (np) / double (_sizePointsContour - 1); //Without the -1 the curve is not close } else { // _delta_JSTG = (double) (np-1) / double (_sizePointsContour ); //Without the -1 the curve is not close - _delta_JSTG = (double) (np) / double (_sizePointsContour-1 ); //Without the -1 the curve is not close +//EED 9/7/2016 _delta_JSTG = (double) (np) / double (_sizePointsContour-1 ); //Without the -1 the curve is not close + _delta_JSTG = (double) (np-1) / double (_sizePointsContour-1 ); //Without the -1 the curve is not close } //----------------------------------------------------------------------------------------------------------- } @@ -334,7 +365,7 @@ void manualContourModel::GetSpline_i_Point(int i, double *x, double *y, double * //JSTG 25-02-08 --------------------------------------------------------------- void manualContourModel::GetSpline_t_Point(double t, double *x, double *y, double *z) { - if (_lstPoints.size()==0) + if (_lstPoints.size()==0) { *x = 0; *y = 0; @@ -620,64 +651,6 @@ void manualContourModel::Open(FILE *ff) // virtual } } -// ---------------------------------------------------------------------------- -void manualContourModel::OpenAndTransformSpacing(FILE *ff, double imgSpac[3], double roiSpac[3]) // virtual -{ - char tmp[255]; - int i; - int numberOfControlPoints; - double x,y,z; - - double transX, transY; - transX = (double) roiSpac[0]/imgSpac[0]; - transY = (double) roiSpac[1]/imgSpac[1]; - - fscanf(ff,"%s",tmp); // NumberOfControlPoints - fscanf(ff,"%s",tmp); // ## - numberOfControlPoints = atoi(tmp); - for (i=0;iGetX(), mp->GetY(), mp->GetZ() ); } } +//CMRU 03-09-09----------------------------------------------------------------------------------------------- +void manualContourModel::SaveData(FILE *ff) +{ + std::string etiqueta = GetLabel(); + if(etiqueta.empty()) + fprintf(ff,"Label: NO_LABEL\n"); + else + fprintf(ff,"Label: %s\n",etiqueta.c_str()); + fprintf(ff,"Real_Size: %f\n",GetRealSize()); +} +void manualContourModel::OpenData(FILE *ff) +{ + char tmp[255]; + + fscanf(ff,"%s",tmp); // Label: + fscanf(ff,"%s",tmp); // value + std::cout< manualContourModel::ExploseModel( ) +std::vector manualContourModel::ExploseModel( ) { - std::vector lstTmp; + std::vector lstTmp; lstTmp.push_back(this); return lstTmp; } + + +// ---------------------------------------------------------------------------- +void manualContourModel::Transform_Ax_Plus_B (double Ax, double Bx, double Ay, double By) +{ + manualPoint * mp; + + int i, size = GetSizeLstPoints(); + + for( i=0; iSetPointX( mp->GetX()*Ax + Bx ); + mp->SetPointY( mp->GetY()*Ay + By ); + } +} + + +//CMRU 17-08-09---------------------------------------------------------------------------- +void manualContourModel::SetLabel(std::string newLabel) +{ + _label = newLabel; +} + +void manualContourModel::SetRealSize(double newRealSize) +{ + _realSize = newRealSize; +} + +double manualContourModel::GetRealSize() +{ + return _realSize; +} + +std::string manualContourModel::GetLabel() +{ + return _label; +} +//----------------------------------------------------------------------------