Chemical Data Processing Library C++ API - Version 1.2.0
Vis/BondFunctions.hpp
Go to the documentation of this file.
1 /*
2  * BondFunctions.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_VIS_BONDFUNCTIONS_HPP
30 #define CDPL_VIS_BONDFUNCTIONS_HPP
31 
32 #include <string>
33 
34 #include "CDPL/Vis/APIPrefix.hpp"
35 
36 
37 namespace CDPL
38 {
39 
40  namespace Chem
41  {
42 
43  class Bond;
44  }
45 
46  namespace Vis
47  {
48 
49  class Color;
50  class Font;
51  class Brush;
52  class Pen;
53  class SizeSpecification;
54 
55  CDPL_VIS_API const Color& getColor(const Chem::Bond& bond);
56 
57  CDPL_VIS_API void setColor(Chem::Bond& bond, const Color& color);
58 
59  CDPL_VIS_API bool hasColor(const Chem::Bond& bond);
60 
62 
63 
65 
67 
69 
71 
72 
74 
76 
78 
80 
81 
83 
85 
87 
89 
90 
92 
94 
96 
98 
99 
101 
103 
105 
107 
108 
110 
112 
114 
116 
117 
119 
121 
123 
125 
126 
128 
130 
132 
134 
135 
137 
138  CDPL_VIS_API void setLabelFont(Chem::Bond& bond, const Font& font);
139 
141 
143 
144 
146 
148 
150 
152 
153 
155 
157 
159 
161 
162  /*
163  * \since 1.1
164  */
166 
168 
170 
172 
173  /*
174  * \since 1.1
175  */
177 
179 
181 
183 
184  /*
185  * \since 1.2
186  */
188 
190 
192 
194 
195  /*
196  * \since 1.2
197  */
199 
200  CDPL_VIS_API void setCustomLabelFont(Chem::Bond& bond, const Font& font);
201 
203 
205 
206  /*
207  * \since 1.2
208  */
210 
212 
214 
216 
217  /*
218  * \since 1.2
219  */
221 
223 
225 
227 
228  /*
229  * \since 1.2
230  */
231  CDPL_VIS_API const std::string& getCustomLabel(const Chem::Bond& bond);
232 
233  CDPL_VIS_API void setCustomLabel(Chem::Bond& bond, const std::string& text);
234 
236 
238 
239  /*
240  * \since 1.2
241  */
243 
244  CDPL_VIS_API void setHighlightedFlag(Chem::Bond& bond, bool highlighted);
245 
247 
249 
250  /*
251  * \since 1.2
252  */
254 
256 
258 
260 
261  /*
262  * \since 1.2
263  */
265 
267 
269 
271 
272  } // namespace Vis
273 } // namespace CDPL
274 
275 #endif // CDPL_VIS_BONDFUNCTIONS_HPP
Definition of the preprocessor macro CDPL_VIS_API.
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Bond.
Definition: Bond.hpp:50
Specifies the fill pattern and fill color of shapes.
Definition: Brush.hpp:50
Specifies a color in terms of its red, green and blue components and an alpha-channel for transparenc...
Definition: Color.hpp:52
Specifies a font for drawing text.
Definition: Font.hpp:54
Specifies how to draw lines and outlines of shapes.
Definition: Pen.hpp:53
Specifies the value and type of a size attribute and defines how the value may change during processi...
Definition: SizeSpecification.hpp:45
VectorNorm2< E >::ResultType length(const VectorExpression< E > &e)
Definition: VectorExpression.hpp:553
CDPL_VIS_API void setReactionCenterLineSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL_VIS_API const std::string & getCustomLabel(const Chem::Atom &atom)
CDPL_VIS_API void setStereoBondWedgeWidth(Chem::Bond &bond, const SizeSpecification &width)
CDPL_VIS_API void clearCustomLabel(Chem::Atom &atom)
CDPL_VIS_API const Color & getCustomLabelColor(const Chem::Atom &atom)
CDPL_VIS_API void clearStereoBondWedgeWidth(Chem::Bond &bond)
CDPL_VIS_API void setCustomLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void clearConfigurationLabelFont(Chem::Atom &atom)
CDPL_VIS_API void setLineSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL_VIS_API void setColor(Chem::Atom &atom, const Color &color)
CDPL_VIS_API void setConfigurationLabelFont(Chem::Atom &atom, const Font &font)
CDPL_VIS_API bool hasStereoBondHashSpacing(const Chem::Bond &bond)
CDPL_VIS_API void setStereoBondHashSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL_VIS_API bool hasConfigurationLabelFont(const Chem::Atom &atom)
CDPL_VIS_API void clearLabelFont(Chem::Atom &atom)
CDPL_VIS_API void clearHighlightedFlag(Chem::Atom &atom)
CDPL_VIS_API bool hasColor(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getLabelMargin(const Chem::Atom &atom)
CDPL_VIS_API void clearCustomLabelSize(Chem::Atom &atom)
CDPL_VIS_API void setLineWidth(Chem::Bond &bond, const SizeSpecification &width)
CDPL_VIS_API void clearConfigurationLabelSize(Chem::Atom &atom)
CDPL_VIS_API void clearReactionCenterLineLength(Chem::Bond &bond)
CDPL_VIS_API void setHighlightAreaBrush(Chem::Atom &atom, const Brush &brush)
CDPL_VIS_API void setHighlightAreaOutlinePen(Chem::Atom &atom, const Pen &pen)
CDPL_VIS_API void clearStereoBondHashSpacing(Chem::Bond &bond)
CDPL_VIS_API void clearCustomLabelColor(Chem::Atom &atom)
CDPL_VIS_API void clearReactionCenterLineSpacing(Chem::Bond &bond)
CDPL_VIS_API const Color & getConfigurationLabelColor(const Chem::Atom &atom)
CDPL_VIS_API bool hasReactionCenterLineLength(const Chem::Bond &bond)
CDPL_VIS_API bool hasTripleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API const Font & getConfigurationLabelFont(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getCustomLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const Font & getLabelFont(const Chem::Atom &atom)
CDPL_VIS_API bool hasLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const Color & getColor(const Chem::Atom &atom)
CDPL_VIS_API bool hasLineSpacing(const Chem::Bond &bond)
CDPL_VIS_API void clearLabelSize(Chem::Atom &atom)
CDPL_VIS_API void setLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API bool hasLineWidth(const Chem::Bond &bond)
CDPL_VIS_API void clearHighlightAreaBrush(Chem::Atom &atom)
CDPL_VIS_API void setLabelFont(Chem::Atom &atom, const Font &font)
CDPL_VIS_API void clearLabelMargin(Chem::Atom &atom)
CDPL_VIS_API bool hasCustomLabel(const Chem::Atom &atom)
CDPL_VIS_API void clearHighlightAreaOutlinePen(Chem::Atom &atom)
CDPL_VIS_API bool hasReactionCenterLineSpacing(const Chem::Bond &bond)
CDPL_VIS_API bool getHighlightedFlag(const Chem::Atom &atom)
CDPL_VIS_API bool hasDoubleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API void clearLineSpacing(Chem::Bond &bond)
CDPL_VIS_API void clearConfigurationLabelColor(Chem::Atom &atom)
CDPL_VIS_API void setLabelMargin(Chem::Atom &atom, const SizeSpecification &margin)
CDPL_VIS_API void setCustomLabelFont(Chem::Atom &atom, const Font &font)
CDPL_VIS_API bool hasLabelMargin(const Chem::Atom &atom)
CDPL_VIS_API bool hasCustomLabelColor(const Chem::Atom &atom)
CDPL_VIS_API void setHighlightedFlag(Chem::Atom &atom, bool highlighted)
CDPL_VIS_API void setTripleBondTrimLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL_VIS_API bool hasHighlightAreaOutlinePen(const Chem::Atom &atom)
CDPL_VIS_API void setCustomLabel(Chem::Atom &atom, const std::string &text)
CDPL_VIS_API const Brush & getHighlightAreaBrush(const Chem::Atom &atom)
CDPL_VIS_API bool hasLabelFont(const Chem::Atom &atom)
CDPL_VIS_API void setDoubleBondTrimLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL_VIS_API bool hasCustomLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getDoubleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API const SizeSpecification & getReactionCenterLineLength(const Chem::Bond &bond)
CDPL_VIS_API void setReactionCenterLineLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL_VIS_API const SizeSpecification & getLineSpacing(const Chem::Bond &bond)
CDPL_VIS_API bool hasCustomLabelFont(const Chem::Atom &atom)
CDPL_VIS_API const Pen & getHighlightAreaOutlinePen(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getStereoBondHashSpacing(const Chem::Bond &bond)
CDPL_VIS_API void setConfigurationLabelColor(Chem::Atom &atom, const Color &color)
CDPL_VIS_API void clearTripleBondTrimLength(Chem::Bond &bond)
CDPL_VIS_API const SizeSpecification & getTripleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API bool hasStereoBondWedgeWidth(const Chem::Bond &bond)
CDPL_VIS_API bool hasConfigurationLabelColor(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getStereoBondWedgeWidth(const Chem::Bond &bond)
CDPL_VIS_API void setCustomLabelColor(Chem::Atom &atom, const Color &color)
CDPL_VIS_API void clearLineWidth(Chem::Bond &bond)
CDPL_VIS_API void setConfigurationLabelSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void clearColor(Chem::Atom &atom)
CDPL_VIS_API bool hasHighlightAreaBrush(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getConfigurationLabelSize(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getReactionCenterLineSpacing(const Chem::Bond &bond)
CDPL_VIS_API void clearCustomLabelFont(Chem::Atom &atom)
CDPL_VIS_API bool hasHighlightedFlag(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getLineWidth(const Chem::Bond &bond)
CDPL_VIS_API bool hasConfigurationLabelSize(const Chem::Atom &atom)
CDPL_VIS_API void clearDoubleBondTrimLength(Chem::Bond &bond)
CDPL_VIS_API const Font & getCustomLabelFont(const Chem::Atom &atom)
The namespace of the Chemical Data Processing Library.