xref: /AOO41X/main/basegfx/inc/basegfx/range/b1drange.hxx (revision ce9c7ef7bd056b6da7d6eeebb749fbf2160d647b)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _BGFX_RANGE_B1DRANGE_HXX
25 #define _BGFX_RANGE_B1DRANGE_HXX
26 
27 #include <basegfx/range/basicrange.hxx>
28 
29 
30 namespace basegfx
31 {
32     class B1IRange;
33 
34     class B1DRange
35     {
36         ::basegfx::BasicRange< double, DoubleTraits >   maRange;
37 
38     public:
B1DRange()39         B1DRange()
40         {
41         }
42 
B1DRange(double fStartValue)43         explicit B1DRange(double fStartValue)
44         :   maRange(fStartValue)
45         {
46         }
47 
B1DRange(double fStartValue1,double fStartValue2)48         B1DRange(double fStartValue1, double fStartValue2)
49         :   maRange(fStartValue1)
50         {
51             expand(fStartValue2);
52         }
53 
B1DRange(const B1DRange & rRange)54         B1DRange(const B1DRange& rRange)
55         :   maRange(rRange.maRange)
56         {
57         }
58 
59         explicit B1DRange( const B1IRange& rRange );
60 
isEmpty() const61         bool isEmpty() const
62         {
63             return maRange.isEmpty();
64         }
65 
reset()66         void reset()
67         {
68             maRange.reset();
69         }
70 
operator ==(const B1DRange & rRange) const71         bool operator==( const B1DRange& rRange ) const
72         {
73             return (maRange == rRange.maRange);
74         }
75 
operator !=(const B1DRange & rRange) const76         bool operator!=( const B1DRange& rRange ) const
77         {
78             return (maRange != rRange.maRange);
79         }
80 
operator =(const B1DRange & rRange)81         B1DRange& operator=(const B1DRange& rRange)
82         {
83             maRange = rRange.maRange;
84             return *this;
85         }
86 
equal(const B1DRange & rRange) const87         bool equal(const B1DRange& rRange) const
88         {
89             return (maRange.equal(rRange.maRange));
90         }
91 
getMinimum() const92         double getMinimum() const
93         {
94             return maRange.getMinimum();
95         }
96 
getMaximum() const97         double getMaximum() const
98         {
99             return maRange.getMaximum();
100         }
101 
getRange() const102         double getRange() const
103         {
104             return maRange.getRange();
105         }
106 
getCenter() const107         double getCenter() const
108         {
109             return maRange.getCenter();
110         }
111 
isInside(double fValue) const112         bool isInside(double fValue) const
113         {
114             return maRange.isInside(fValue);
115         }
116 
isInside(const B1DRange & rRange) const117         bool isInside(const B1DRange& rRange) const
118         {
119             return maRange.isInside(rRange.maRange);
120         }
121 
overlaps(const B1DRange & rRange) const122         bool overlaps(const B1DRange& rRange) const
123         {
124             return maRange.overlaps(rRange.maRange);
125         }
126 
overlapsMore(const B1DRange & rRange) const127         bool overlapsMore(const B1DRange& rRange) const
128         {
129             return maRange.overlapsMore(rRange.maRange);
130         }
131 
expand(double fValue)132         void expand(double fValue)
133         {
134             maRange.expand(fValue);
135         }
136 
expand(const B1DRange & rRange)137         void expand(const B1DRange& rRange)
138         {
139             maRange.expand(rRange.maRange);
140         }
141 
intersect(const B1DRange & rRange)142         void intersect(const B1DRange& rRange)
143         {
144             maRange.intersect(rRange.maRange);
145         }
146 
grow(double fValue)147         void grow(double fValue)
148         {
149             maRange.grow(fValue);
150         }
151     };
152 
153     /** Round double to nearest integer for 1D range
154 
155         @return the nearest integer for this range
156     */
157     B1IRange fround(const B1DRange& rRange);
158 } // end of namespace basegfx
159 
160 
161 #endif /* _BGFX_RANGE_B1DRANGE_HXX */
162