Carna Registration API Version 1.16.0
|
00001 /* 00002 * Copyright (C) 2010 - 2013 Leonid Kostrykin 00003 * 00004 * Chair of Medical Engineering (mediTEC) 00005 * RWTH Aachen University 00006 * Pauwelsstr. 20 00007 * 52074 Aachen 00008 * Germany 00009 * 00010 */ 00011 00012 #ifndef LINKEDCAMERAIMPLEMENTATION_H_2521354512 00013 #define LINKEDCAMERAIMPLEMENTATION_H_2521354512 00014 00015 #include "cra_global.h" 00016 #include "Transformation.h" 00017 #include <memory> 00018 #include <string> 00019 00020 namespace CRA 00021 { 00022 00023 class LinkedCamera; 00024 class Registration; 00025 00026 00027 00028 // ---------------------------------------------------------------------------------- 00029 // LinkedCameraImplementation 00030 // ---------------------------------------------------------------------------------- 00031 00032 class CRA_EXPORT LinkedCameraImplementation 00033 { 00034 00035 public: 00036 00037 LinkedCameraImplementation( LinkedCamera& ); 00038 00039 LinkedCameraImplementation 00040 ( LinkedCamera& self 00041 , const std::string& xrayEmptyTrf 00042 , const std::string& xrayEmptyCof 00043 , const std::string& transformationIni ); 00044 00045 ~LinkedCameraImplementation(); 00046 00047 00048 void compute( unsigned int shortestTargetSide ); 00049 00050 void update( const Transformation& physical_bearing, const Registration& registration ); 00051 00052 bool hasRegistration() const; 00053 00054 const Registration& registration() const; 00055 00056 void setCameraTransformation( const Transformation& ); 00057 00058 const Transformation& cameraTransformation() const; 00059 00060 const Transformation& projectionTransformation() const; 00061 00062 const Transformation& physicalBearing() const; 00063 00064 00065 private: 00066 00067 class Details; 00068 00069 const std::unique_ptr< Details > pimpl; 00070 00071 }; // LinkedCameraImplementation 00072 00073 00074 00075 } // namespace CRA 00076 00077 #endif // LINKEDCAMERAIMPLEMENTATION_H_2521354512
Documentation generated by Doxygen