PrintConfig.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2021 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef SDF_PRINTCONFIG_HH_
18 #define SDF_PRINTCONFIG_HH_
19 
20 #include <optional>
21 #include <gz/utils/ImplPtr.hh>
22 
23 #include "sdf/sdf_config.h"
24 #include "sdf/system_util.hh"
25 #include "sdf/Types.hh"
26 
27 namespace sdf
28 {
29  inline namespace SDF_VERSION_NAMESPACE {
30 
33  {
35  public: PrintConfig();
36 
40  public: void SetRotationInDegrees(bool _value);
41 
45  public: bool RotationInDegrees() const;
46 
55  public: bool SetRotationSnapToDegrees(unsigned int _interval,
56  double _tolerance);
57 
67  public: bool SetRotationSnapToDegrees(unsigned int _interval,
68  double _tolerance,
69  sdf::Errors &_errors);
70 
75  public: std::optional<unsigned int> RotationSnapToDegrees() const;
76 
80  public: std::optional<double> RotationSnapTolerance() const;
81 
85  public: void SetPreserveIncludes(bool _preserve);
86 
90  public: bool PreserveIncludes() const;
91 
96  public: void SetOutPrecision(int _precision);
97 
100  public: int OutPrecision() const;
101 
105  public: bool operator==(const PrintConfig &_config) const;
106 
108  GZ_UTILS_IMPL_PTR(dataPtr)
109  };
110  }
111 }
112 #endif
This class contains configuration options for printing elements.
Definition: PrintConfig.hh:33
bool operator==(const PrintConfig &_config) const
Return true if both PrintConfig objects contain the same values.
bool SetRotationSnapToDegrees(unsigned int _interval, double _tolerance, sdf::Errors &_errors)
Sets the option for printing pose rotation in degrees as well as snapping the rotation to the desired...
void SetOutPrecision(int _precision)
Set precision of output stream for float / double types.
PrintConfig()
Default constructor. All options are set to false by default.
bool RotationInDegrees() const
Returns whether or not pose rotations should be printed in degrees.
std::optional< double > RotationSnapTolerance() const
Returns the tolerance for snapping degree values when printed.
int OutPrecision() const
Retrieve the output stream's set precision value.
void SetRotationInDegrees(bool _value)
Sets the option for printing pose rotations in degrees if true, otherwise they will be printed as rad...
std::optional< unsigned int > RotationSnapToDegrees() const
Returns the current degree value that pose rotations will snap to when printed.
void SetPreserveIncludes(bool _preserve)
Set print config to preserve tags.
bool SetRotationSnapToDegrees(unsigned int _interval, double _tolerance)
Sets the option for printing pose rotation in degrees as well as snapping the rotation to the desired...
bool PreserveIncludes() const
Check if tags are to be preserved or expanded.
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:95
namespace for Simulation Description Format parser
Definition: Actor.hh:35
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:25