00001 /* 00002 * Software License Agreement (Apache License) 00003 * 00004 * Copyright (c) 2013, Southwest Research Institute 00005 * 00006 * Licensed under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 00019 #ifndef CAMERA_OBSERVER_HPP_ 00020 #define CAMERA_OBSERVER_HPP_ 00021 00022 #include <industrial_extrinsic_cal/basic_types.h> /* Target,Roi,Observation,CameraObservations */ 00023 00024 namespace industrial_extrinsic_cal 00025 { 00026 00027 class CameraObserver 00028 { 00029 public: 00031 virtual ~CameraObserver() 00032 { 00033 } 00034 ; 00035 00039 virtual bool addTarget(boost::shared_ptr<Target> targ, Roi &roi)=0; 00040 00042 virtual void clearTargets()=0; 00043 00045 virtual void clearObservations()=0; 00046 00049 virtual int getObservations(CameraObservations &camera_observations)=0; 00050 00052 virtual void triggerCamera()=0; 00053 00055 virtual bool observationsDone()=0; 00056 00057 std::string camera_name_; 00060 // virtual ::std::ostream& operator<<(::std::ostream& os, const CameraObserver& camera); 00061 }; 00062 00063 } // end of namespace 00064 #endif