Chemical Data Processing Library C++ API - Version 1.2.0
Vis/MolecularGraphFunctions.hpp
Go to the documentation of this file.
1 /*
2  * MolecularGraphFunctions.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_MOLECULARGRAPHFUNCTIONS_HPP
30 #define CDPL_VIS_MOLECULARGRAPHFUNCTIONS_HPP
31 
32 #include "CDPL/Vis/APIPrefix.hpp"
33 #include "CDPL/Vis/ColorTable.hpp"
34 
35 
36 namespace CDPL
37 {
38 
39  namespace Chem
40  {
41 
42  class MolecularGraph;
43  }
44 
45  namespace Vis
46  {
47 
48  class Color;
49  class Font;
50  class Pen;
51  class Brush;
52  class SizeSpecification;
53 
55 
57 
59 
61 
62 
64 
65  CDPL_VIS_API void setAtomColor(Chem::MolecularGraph& molgraph, const Color& color);
66 
68 
70 
71 
73 
75 
77 
79 
80 
82 
84 
86 
88 
89 
91 
93 
95 
97 
98 
100 
102 
104 
106 
107 
109 
111 
113 
115 
116 
118 
120 
122 
124 
125  /*
126  * \since 1.1
127  */
129 
131 
133 
135 
136  /*
137  * \since 1.1
138  */
140 
142 
144 
146 
147  /*
148  * \since 1.2
149  */
151 
153 
155 
157 
158  /*
159  * \since 1.2
160  */
162 
164 
166 
168 
169  /*
170  * \since 1.2
171  */
173 
175 
177 
179 
180  /*
181  * \since 1.2
182  */
184 
186 
188 
190 
191  /*
192  * \since 1.2
193  */
195 
197 
199 
201 
202  /*
203  * \since 1.2
204  */
206 
208 
210 
212 
213  /*
214  * \since 1.2
215  */
217 
219 
221 
223 
224  /*
225  * \since 1.2
226  */
228 
230 
232 
234 
235 
237 
238  CDPL_VIS_API void setBondColor(Chem::MolecularGraph& molgraph, const Color& color);
239 
241 
243 
244 
246 
248 
250 
252 
253 
255 
257 
259 
261 
262 
264 
266 
268 
270 
271 
273 
275 
277 
279 
280 
282 
284 
286 
288 
289 
291 
293 
295 
297 
298 
300 
302 
304 
306 
307 
309 
311 
313 
315 
316 
318 
320 
322 
324 
325 
327 
329 
331 
333 
334 
336 
338 
340 
342  /*
343  * \since 1.2
344  */
346 
348 
350 
352 
353  /*
354  * \since 1.2
355  */
357 
359 
361 
363 
364  /*
365  * \since 1.2
366  */
368 
370 
372 
374 
375  /*
376  * \since 1.1
377  */
379 
381 
383 
385 
386  /*
387  * \since 1.1
388  */
390 
392 
394 
396 
397  /*
398  * \since 1.2
399  */
401 
403 
405 
407 
408  /*
409  * \since 1.2
410  */
412 
414 
416 
418 
419  /*
420  * \since 1.2
421  */
423 
425 
427 
429 
430  /*
431  * \since 1.2
432  */
434 
436 
438 
440 
441  } // namespace Vis
442 } // namespace CDPL
443 
444 #endif // CDPL_VIS_MOLECULARGRAPHFUNCTIONS_HPP
Definition of the type CDPL::Vis::ColorTable.
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.
MolecularGraph.
Definition: MolecularGraph.hpp:52
Specifies the fill pattern and fill color of shapes.
Definition: Brush.hpp:50
std::shared_ptr< ColorTable > SharedPointer
Definition: ColorTable.hpp:51
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 clearAtomColorTable(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondConfigurationLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API void setReactionCenterLineSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL_VIS_API void setBondCustomLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API bool hasBondCustomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomHighlightAreaBrush(Chem::MolecularGraph &molgraph, const Brush &brush)
CDPL_VIS_API void setStereoBondWedgeWidth(Chem::Bond &bond, const SizeSpecification &width)
CDPL_VIS_API void clearStereoBondWedgeWidth(Chem::Bond &bond)
CDPL_VIS_API void setBondConfigurationLabelColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL_VIS_API void clearBondHighlightAreaBrush(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Color & getBondCustomLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearSecondaryAtomLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondConfigurationLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomHighlightAreaSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomCustomLabelColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL_VIS_API bool hasHighlightAreaOutlineWidth(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondLineWidth(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondConfigurationLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Font & getAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasStereoBondHashSpacing(const Chem::Bond &bond)
CDPL_VIS_API void setAtomColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL_VIS_API bool hasBondColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondCustomLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setStereoBondHashSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL_VIS_API const SizeSpecification & getBondConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomConfigurationLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const ColorTable::SharedPointer & getAtomColorTable(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondConfigurationLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondCustomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondHighlightAreaWidth(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasSecondaryAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomConfigurationLabelColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL_VIS_API void setAtomHighlightAreaSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API void setBondCustomLabelColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL_VIS_API bool hasAtomColorTable(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Font & getBondConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API void clearAtomColor(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondHighlightAreaOutlinePen(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomLabelMargin(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondHighlightAreaOutlinePen(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getBondCustomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomHighlightAreaOutlinePen(Chem::MolecularGraph &molgraph, const Pen &pen)
CDPL_VIS_API const SizeSpecification & getBondLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomLabelMargin(Chem::MolecularGraph &molgraph, const SizeSpecification &margin)
CDPL_VIS_API void clearAtomHighlightAreaBrush(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Font & getAtomCustomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearReactionCenterLineLength(Chem::Bond &bond)
CDPL_VIS_API bool hasBondHighlightAreaWidth(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondConfigurationLabelColor(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Brush & getBondHighlightAreaBrush(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomHighlightAreaOutlinePen(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearHighlightAreaOutlineWidth(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondConfigurationLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API const SizeSpecification & getRadicalElectronDotSize(const Chem::Atom &atom)
CDPL_VIS_API void clearBondLabelMargin(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearStereoBondHashSpacing(Chem::Bond &bond)
CDPL_VIS_API bool hasAtomCustomLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setSecondaryAtomLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API void clearSecondaryAtomLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearReactionCenterLineSpacing(Chem::Bond &bond)
CDPL_VIS_API const SizeSpecification & getSecondaryAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasReactionCenterLineLength(const Chem::Bond &bond)
CDPL_VIS_API bool hasTripleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API void setBondColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL_VIS_API bool hasAtomConfigurationLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API const Font & getBondCustomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomHighlightAreaSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setRadicalElectronDotSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL_VIS_API void setBondLineSpacing(Chem::MolecularGraph &molgraph, const SizeSpecification &spacing)
CDPL_VIS_API bool hasRadicalElectronDotSize(const Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getAtomConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Color & getAtomConfigurationLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondLabelMargin(Chem::MolecularGraph &molgraph, const SizeSpecification &margin)
CDPL_VIS_API void setBondHighlightAreaOutlinePen(Chem::MolecularGraph &molgraph, const Pen &pen)
CDPL_VIS_API void clearBondLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasReactionCenterLineSpacing(const Chem::Bond &bond)
CDPL_VIS_API void setAtomCustomLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API bool hasBondLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API const SizeSpecification & getAtomLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondHighlightAreaWidth(Chem::MolecularGraph &molgraph, const SizeSpecification &width)
CDPL_VIS_API bool hasDoubleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API bool hasSecondaryAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomHighlightAreaBrush(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API bool hasBondCustomLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setTripleBondTrimLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL_VIS_API bool hasBondLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getAtomCustomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getBondLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomConfigurationLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API void clearAtomConfigurationLabelColor(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomConfigurationLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API void setDoubleBondTrimLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL_VIS_API void clearAtomCustomLabelSize(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Color & getBondColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondCustomLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API bool hasAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getDoubleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API const SizeSpecification & getReactionCenterLineLength(const Chem::Bond &bond)
CDPL_VIS_API void clearBondLineSpacing(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setBondLineWidth(Chem::MolecularGraph &molgraph, const SizeSpecification &width)
CDPL_VIS_API void setReactionCenterLineLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL_VIS_API const SizeSpecification & getAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomCustomLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL_VIS_API const SizeSpecification & getBondHighlightAreaWidth(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Color & getAtomCustomLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomConfigurationLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondLineWidth(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Font & getSecondaryAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomCustomLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomCustomLabelColor(Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomCustomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getStereoBondHashSpacing(const Chem::Bond &bond)
CDPL_VIS_API bool hasBondConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Font & getAtomConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearRadicalElectronDotSize(Chem::Atom &atom)
CDPL_VIS_API const SizeSpecification & getHighlightAreaOutlineWidth(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearTripleBondTrimLength(Chem::Bond &bond)
CDPL_VIS_API void setBondHighlightAreaBrush(Chem::MolecularGraph &molgraph, const Brush &brush)
CDPL_VIS_API const SizeSpecification & getTripleBondTrimLength(const Chem::Bond &bond)
CDPL_VIS_API const SizeSpecification & getAtomHighlightAreaSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getBondLineWidth(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasStereoBondWedgeWidth(const Chem::Bond &bond)
CDPL_VIS_API const Pen & getAtomHighlightAreaOutlinePen(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setHighlightAreaOutlineWidth(Chem::MolecularGraph &molgraph, const SizeSpecification &width)
CDPL_VIS_API void clearBondCustomLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getStereoBondWedgeWidth(const Chem::Bond &bond)
CDPL_VIS_API bool hasAtomHighlightAreaOutlinePen(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearAtomLabelFont(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Brush & getAtomHighlightAreaBrush(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void setAtomColorTable(Chem::MolecularGraph &molgraph, const ColorTable::SharedPointer &colors)
CDPL_VIS_API void setSecondaryAtomLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL_VIS_API bool hasAtomColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Font & getBondLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const SizeSpecification & getReactionCenterLineSpacing(const Chem::Bond &bond)
CDPL_VIS_API bool hasBondLineSpacing(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasAtomCustomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondColor(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Pen & getBondHighlightAreaOutlinePen(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearBondCustomLabelColor(Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Color & getAtomColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API const Color & getBondConfigurationLabelColor(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondHighlightAreaBrush(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API void clearDoubleBondTrimLength(Chem::Bond &bond)
CDPL_VIS_API const SizeSpecification & getBondLineSpacing(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API bool hasBondLabelMargin(const Chem::MolecularGraph &molgraph)
The namespace of the Chemical Data Processing Library.