Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
KeepFrameQualityPolicy.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2020 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20
21#pragma once
22
23#include <memory>
24#include <RemoteViz/Rendering/IFrameEncodingPolicy.h>
25
26namespace RemoteViz
27{
28
29 namespace Rendering
30 {
31
32 class Connection;
33 class KeepFrameQualityPolicyImpl;
34
60 class RENDERSERVICE_API KeepFrameQualityPolicy : public IFrameEncodingPolicy
61 {
62 public:
71
80 KeepFrameQualityPolicy( float qualityTarget, unsigned int fpsTarget, unsigned int fpsThreshold );
81
87
94 virtual unsigned int getFramesPerSecond() const override;
95
102 virtual float getFrameQuality() const override;
103
110 virtual void update( std::shared_ptr<Connection> connection ) override;
111
112 private:
115 std::shared_ptr<KeepFrameQualityPolicyImpl> getImpl() const;
118 private:
120 std::shared_ptr<KeepFrameQualityPolicyImpl> pImpl;
121 };
122 }
123}
<a href="IconLegend.html"><img src="extRV.gif" alt="RemoteViz" border="0"></a>
<a href="IconLegend.html"><img src="extRV.gif" alt="RemoteViz" border="0"></a>
virtual float getFrameQuality() const override
Gets the interactive frame quality calculated after calling the method update().
virtual unsigned int getFramesPerSecond() const override
Gets the FPS calculated after calling the method update().
virtual void update(std::shared_ptr< Connection > connection) override
Update value of the FPS and frame quality.
KeepFrameQualityPolicy(float qualityTarget, unsigned int fpsTarget, unsigned int fpsThreshold)
Convenience Constructor.