Carna Registration API Version 1.16.0
D:/Documents/mediTEC Projects/CRA/master/include/CRA/LinkedCameraImplementation.h
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
 All Classes Functions Variables Enumerations Enumerator