3
* $Id: surfacecommand.cpp 3359 2011-02-21 08:23:37Z carlos $
6
* Copyright 2008-10 MetaEmotion S.L. All rights reserved.
7
* http://ginkgo-cadx.com
9
* This file is licensed under LGPL v3 license.
10
* See License.txt for details
18
#include "surfacecommand.h"
19
#include "voiextractioncommand.h"
20
#include "../pipelines/surfacepipeline.h"
22
MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommandParams::SurfaceCommandParams(
23
const GnkPtr<TPipeline>& pipeline,
24
unsigned int datasetNum,
28
const SurfaceProps& propsS1,
29
const SurfaceProps& propsS2
30
) : Pipeline(pipeline), DataSetNum(datasetNum), PreSmooth(preSmooth), PostSmooth(postSmooth), Quality(quality), Surface1Props(propsS1), Surface2Props(propsS2)
34
MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommandParams::~SurfaceCommandParams()
38
//====================================================================
40
MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::SurfaceCommand(SurfaceCommandParams* pParams) : GNC::GCS::IComando(pParams, "SurfaceReconstruction" )
42
m_pSurfaceParams = pParams;
43
SetId(IDC_SURFACE_RECONSTRUCTION);
44
CancelaA(IDC_SURFACE_RECONSTRUCTION);
45
EsperaA(IDC_VOI_EXTRACTION);
48
MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::~SurfaceCommand(void)
52
void MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::Execute()
55
m_pSurfaceParams->Pipeline->EnableSmooth(m_pSurfaceParams->PreSmooth, m_pSurfaceParams->PostSmooth);
57
m_pSurfaceParams->Pipeline->Enabled[0] = m_pSurfaceParams->Surface1Props.Enabled;
58
m_pSurfaceParams->Pipeline->SetSurfValue(0, m_pSurfaceParams->Surface1Props.ISOValue);
59
m_pSurfaceParams->Pipeline->SetSurfColor(0, m_pSurfaceParams->Surface1Props.Red, m_pSurfaceParams->Surface1Props.Green, m_pSurfaceParams->Surface1Props.Blue);
60
m_pSurfaceParams->Pipeline->SetSurfTransparency(0, m_pSurfaceParams->Surface1Props.Alpha);
62
m_pSurfaceParams->Pipeline->Enabled[1] = m_pSurfaceParams->Surface2Props.Enabled;
63
m_pSurfaceParams->Pipeline->SetSurfValue(1, m_pSurfaceParams->Surface2Props.ISOValue);
64
m_pSurfaceParams->Pipeline->SetSurfColor(1, m_pSurfaceParams->Surface2Props.Red, m_pSurfaceParams->Surface2Props.Green, m_pSurfaceParams->Surface2Props.Blue);
65
m_pSurfaceParams->Pipeline->SetSurfTransparency(1, m_pSurfaceParams->Surface2Props.Alpha);
67
m_pSurfaceParams->Pipeline->SetDataSet(m_pSurfaceParams->DataSetNum, m_pSurfaceParams->Quality);
70
m_pSurfaceParams->Pipeline->SetProgressNotifier(this);
71
m_pSurfaceParams->Pipeline->Update();
72
m_pSurfaceParams->Pipeline->SetProgressNotifier(NULL);
79
void MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::Update()
81
m_pSurfaceParams->Pipeline->Enable(0, m_pSurfaceParams->Surface1Props.Enabled);
82
m_pSurfaceParams->Pipeline->Enable(1, m_pSurfaceParams->Surface2Props.Enabled);
83
m_pSurfaceParams->Pipeline->Render();
86
void MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::OnAbort()
90
void MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::LiberarRecursos()
94
bool MedicalViewer::Reconstruction::Surface::Commands::SurfaceCommand::NotifyReconstructionProgress(const std::string& text, float progress)
96
return NotificarProgreso(progress, text);