00001 /* 00002 * Copyright Staffan Gimåker 2008-2010. 00003 * 00004 * --- 00005 * 00006 * Distributed under the Boost Software License, Version 1.0. 00007 * (See accompanying file LICENSE_1_0.txt or copy at 00008 * http://www.boost.org/LICENSE_1_0.txt) 00009 */ 00010 00011 #ifndef PEEKABOT_CLIENT_CAMERA_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_CAMERA_PROXY_HH_INCLUDED 00013 00014 00015 #include "ObjectProxy.hh" 00016 00017 00018 namespace peekabot 00019 { 00020 namespace client 00021 { 00025 class PEEKABOT_API CameraProxyBase : public ObjectProxyBase 00026 { 00027 public: 00028 CameraProxyBase(); 00029 00030 CameraProxyBase(const CameraProxyBase &p); 00031 00037 DelayedDispatch set_fov(float fov_deg); 00038 00049 DelayedDispatch set_zoom_distance(float zoom_distance); 00050 00057 DelayedDispatch set_orthographic(bool orthographic); 00058 }; 00059 00060 00064 class PEEKABOT_API CameraProxy : public CameraProxyBase 00065 { 00066 public: 00067 CameraProxy(); 00068 00069 CameraProxy(const CameraProxyBase &p); 00070 00071 CameraProxy &operator=(const CameraProxy &p); 00072 00073 CameraProxy &operator=(const CameraProxyBase &p); 00074 00078 DelayedDispatch assign(const ObjectProxyBase &p); 00079 00083 DelayedDispatch assign( 00084 PeekabotClient &client, 00085 const std::string &path); 00086 00091 DelayedDispatch assign( 00092 const ObjectProxyBase &parent, 00093 const std::string &rel_path); 00094 00106 DelayedDispatch add( 00107 PeekabotClient &client, 00108 const std::string &path, 00109 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00110 00123 DelayedDispatch add( 00124 const ObjectProxyBase &parent, 00125 const std::string &name, 00126 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT); 00127 }; 00128 } 00129 } 00130 00131 00132 #endif // PEEKABOT_CLIENT_CAMERA_PROXY_HH_INCLUDED
1.7.1