Chemical Data Processing Library C++ API - Version 1.1.1
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 SizeSpecification;
51 
53 
55 
57 
59 
60 
62 
63  CDPL_VIS_API void setAtomColor(Chem::MolecularGraph& molgraph, const Color& color);
64 
66 
68 
69 
71 
73 
75 
77 
78 
80 
82 
84 
86 
87 
89 
91 
93 
95 
96 
98 
100 
102 
104 
105 
107 
109 
111 
113 
114 
116 
118 
120 
122 
123 
125 
127 
129 
131 
132 
134 
136 
138 
140 
141 
143 
144  CDPL_VIS_API void setBondColor(Chem::MolecularGraph& molgraph, const Color& color);
145 
147 
149 
150 
152 
154 
156 
158 
159 
161 
163 
165 
167 
168 
170 
172 
174 
176 
177 
179 
181 
183 
185 
186 
188 
190 
192 
194 
195 
197 
199 
201 
203 
204 
206 
208 
210 
212 
213 
215 
217 
219 
221 
222 
224 
226 
228 
230 
231 
233 
235 
237 
239 
240 
242 
244 
246 
248 
249 
251 
253 
255 
257 
258 
260 
262 
264 
266  } // namespace Vis
267 } // namespace CDPL
268 
269 #endif // CDPL_VIS_MOLECULARGRAPHFUNCTIONS_HPP
CDPL::Vis::SizeSpecification
Specifies the value and type of a size attribute and defines how the value may change during processi...
Definition: SizeSpecification.hpp:45
CDPL::Vis::getBondLineWidth
CDPL_VIS_API const SizeSpecification & getBondLineWidth(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getReactionCenterLineSpacing
CDPL_VIS_API const SizeSpecification & getReactionCenterLineSpacing(const Chem::Bond &bond)
CDPL::Vis::setReactionCenterLineSpacing
CDPL_VIS_API void setReactionCenterLineSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL::Vis::getStereoBondHashSpacing
CDPL_VIS_API const SizeSpecification & getStereoBondHashSpacing(const Chem::Bond &bond)
CDPL::Vis::hasBondLineWidth
CDPL_VIS_API bool hasBondLineWidth(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getAtomConfigurationLabelFont
CDPL_VIS_API const Font & getAtomConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearSecondaryAtomLabelFont
CDPL_VIS_API void clearSecondaryAtomLabelFont(Chem::MolecularGraph &molgraph)
CDPL::Vis::setSecondaryAtomLabelFont
CDPL_VIS_API void setSecondaryAtomLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL::Vis::hasRadicalElectronDotSize
CDPL_VIS_API bool hasRadicalElectronDotSize(const Chem::Atom &atom)
CDPL::Vis::clearBondConfigurationLabelSize
CDPL_VIS_API void clearBondConfigurationLabelSize(Chem::MolecularGraph &molgraph)
CDPL::Vis::hasSecondaryAtomLabelFont
CDPL_VIS_API bool hasSecondaryAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::hasAtomLabelSize
CDPL_VIS_API bool hasAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getAtomLabelMargin
CDPL_VIS_API const SizeSpecification & getAtomLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setTripleBondTrimLength
CDPL_VIS_API void setTripleBondTrimLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL::Vis::setBondLineSpacing
CDPL_VIS_API void setBondLineSpacing(Chem::MolecularGraph &molgraph, const SizeSpecification &spacing)
CDPL::Vis::setAtomLabelFont
CDPL_VIS_API void setAtomLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL::Vis::getBondColor
CDPL_VIS_API const Color & getBondColor(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearAtomConfigurationLabelSize
CDPL_VIS_API void clearAtomConfigurationLabelSize(Chem::MolecularGraph &molgraph)
CDPL::Vis::clearReactionCenterLineSpacing
CDPL_VIS_API void clearReactionCenterLineSpacing(Chem::Bond &bond)
CDPL::Vis::setDoubleBondTrimLength
CDPL_VIS_API void setDoubleBondTrimLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL::Vis::getDoubleBondTrimLength
CDPL_VIS_API const SizeSpecification & getDoubleBondTrimLength(const Chem::Bond &bond)
CDPL::Vis::setReactionCenterLineLength
CDPL_VIS_API void setReactionCenterLineLength(Chem::Bond &bond, const SizeSpecification &length)
CDPL::Vis::clearAtomLabelSize
CDPL_VIS_API void clearAtomLabelSize(Chem::MolecularGraph &molgraph)
CDPL::Vis::setAtomColor
CDPL_VIS_API void setAtomColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL::Vis::hasDoubleBondTrimLength
CDPL_VIS_API bool hasDoubleBondTrimLength(const Chem::Bond &bond)
CDPL::Vis::getAtomColor
CDPL_VIS_API const Color & getAtomColor(const Chem::MolecularGraph &molgraph)
CDPL::Vis::hasAtomColor
CDPL_VIS_API bool hasAtomColor(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearBondConfigurationLabelFont
CDPL_VIS_API void clearBondConfigurationLabelFont(Chem::MolecularGraph &molgraph)
CDPL::Vis::setAtomColorTable
CDPL_VIS_API void setAtomColorTable(Chem::MolecularGraph &molgraph, const ColorTable::SharedPointer &colors)
CDPL::Vis::getBondConfigurationLabelSize
CDPL_VIS_API const SizeSpecification & getBondConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getStereoBondWedgeWidth
CDPL_VIS_API const SizeSpecification & getStereoBondWedgeWidth(const Chem::Bond &bond)
CDPL::Vis::hasBondConfigurationLabelFont
CDPL_VIS_API bool hasBondConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::hasReactionCenterLineLength
CDPL_VIS_API bool hasReactionCenterLineLength(const Chem::Bond &bond)
CDPL::Vis::clearAtomLabelFont
CDPL_VIS_API void clearAtomLabelFont(Chem::MolecularGraph &molgraph)
CDPL::Vis::setBondLineWidth
CDPL_VIS_API void setBondLineWidth(Chem::MolecularGraph &molgraph, const SizeSpecification &width)
CDPL::Vis::Font
Specifies a font for drawing text.
Definition: Font.hpp:54
CDPL::Vis::clearAtomConfigurationLabelFont
CDPL_VIS_API void clearAtomConfigurationLabelFont(Chem::MolecularGraph &molgraph)
CDPL::Vis::hasBondConfigurationLabelSize
CDPL_VIS_API bool hasBondConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::hasBondLabelSize
CDPL_VIS_API bool hasBondLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Chem::MolecularGraph
MolecularGraph.
Definition: MolecularGraph.hpp:52
CDPL::Vis::getBondLabelSize
CDPL_VIS_API const SizeSpecification & getBondLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setBondConfigurationLabelFont
CDPL_VIS_API void setBondConfigurationLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL::Vis::ColorTable::SharedPointer
std::shared_ptr< ColorTable > SharedPointer
Definition: ColorTable.hpp:51
CDPL::Vis::getAtomConfigurationLabelSize
CDPL_VIS_API const SizeSpecification & getAtomConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::hasSecondaryAtomLabelSize
CDPL_VIS_API bool hasSecondaryAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setAtomLabelSize
CDPL_VIS_API void setAtomLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL::Vis::getBondConfigurationLabelFont
CDPL_VIS_API const Font & getBondConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
CDPL_VIS_API
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
CDPL::Vis::getTripleBondTrimLength
CDPL_VIS_API const SizeSpecification & getTripleBondTrimLength(const Chem::Bond &bond)
CDPL::Vis::hasBondColor
CDPL_VIS_API bool hasBondColor(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setBondConfigurationLabelSize
CDPL_VIS_API void setBondConfigurationLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL::Vis::setSecondaryAtomLabelSize
CDPL_VIS_API void setSecondaryAtomLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL::Vis::clearSecondaryAtomLabelSize
CDPL_VIS_API void clearSecondaryAtomLabelSize(Chem::MolecularGraph &molgraph)
CDPL::Vis::setAtomLabelMargin
CDPL_VIS_API void setAtomLabelMargin(Chem::MolecularGraph &molgraph, const SizeSpecification &margin)
CDPL::Vis::clearBondLabelFont
CDPL_VIS_API void clearBondLabelFont(Chem::MolecularGraph &molgraph)
CDPL::Vis::clearBondLabelMargin
CDPL_VIS_API void clearBondLabelMargin(Chem::MolecularGraph &molgraph)
CDPL::Vis::getBondLabelFont
CDPL_VIS_API const Font & getBondLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearRadicalElectronDotSize
CDPL_VIS_API void clearRadicalElectronDotSize(Chem::Atom &atom)
CDPL::Vis::getSecondaryAtomLabelSize
CDPL_VIS_API const SizeSpecification & getSecondaryAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearBondLabelSize
CDPL_VIS_API void clearBondLabelSize(Chem::MolecularGraph &molgraph)
CDPL::Vis::hasBondLineSpacing
CDPL_VIS_API bool hasBondLineSpacing(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearStereoBondWedgeWidth
CDPL_VIS_API void clearStereoBondWedgeWidth(Chem::Bond &bond)
CDPL::Vis::hasReactionCenterLineSpacing
CDPL_VIS_API bool hasReactionCenterLineSpacing(const Chem::Bond &bond)
CDPL::Vis::setStereoBondHashSpacing
CDPL_VIS_API void setStereoBondHashSpacing(Chem::Bond &bond, const SizeSpecification &spacing)
CDPL::Vis::hasAtomColorTable
CDPL_VIS_API bool hasAtomColorTable(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setBondLabelFont
CDPL_VIS_API void setBondLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL::Vis::clearReactionCenterLineLength
CDPL_VIS_API void clearReactionCenterLineLength(Chem::Bond &bond)
CDPL
The namespace of the Chemical Data Processing Library.
CDPL::Vis::hasAtomConfigurationLabelSize
CDPL_VIS_API bool hasAtomConfigurationLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearBondColor
CDPL_VIS_API void clearBondColor(Chem::MolecularGraph &molgraph)
CDPL::Vis::setAtomConfigurationLabelSize
CDPL_VIS_API void setAtomConfigurationLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL::Vis::getAtomLabelSize
CDPL_VIS_API const SizeSpecification & getAtomLabelSize(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setBondColor
CDPL_VIS_API void setBondColor(Chem::MolecularGraph &molgraph, const Color &color)
CDPL::Vis::hasAtomLabelFont
CDPL_VIS_API bool hasAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getRadicalElectronDotSize
CDPL_VIS_API const SizeSpecification & getRadicalElectronDotSize(const Chem::Atom &atom)
CDPL::Vis::setRadicalElectronDotSize
CDPL_VIS_API void setRadicalElectronDotSize(Chem::Atom &atom, const SizeSpecification &size)
CDPL::Vis::hasAtomLabelMargin
CDPL_VIS_API bool hasAtomLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL::Vis::setStereoBondWedgeWidth
CDPL_VIS_API void setStereoBondWedgeWidth(Chem::Bond &bond, const SizeSpecification &width)
CDPL::Vis::hasBondLabelFont
CDPL_VIS_API bool hasBondLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getSecondaryAtomLabelFont
CDPL_VIS_API const Font & getSecondaryAtomLabelFont(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearBondLineWidth
CDPL_VIS_API void clearBondLineWidth(Chem::MolecularGraph &molgraph)
CDPL::Vis::hasStereoBondHashSpacing
CDPL_VIS_API bool hasStereoBondHashSpacing(const Chem::Bond &bond)
CDPL::Vis::clearStereoBondHashSpacing
CDPL_VIS_API void clearStereoBondHashSpacing(Chem::Bond &bond)
CDPL::Vis::clearAtomColor
CDPL_VIS_API void clearAtomColor(Chem::MolecularGraph &molgraph)
CDPL::Vis::setAtomConfigurationLabelFont
CDPL_VIS_API void setAtomConfigurationLabelFont(Chem::MolecularGraph &molgraph, const Font &font)
CDPL::Vis::setBondLabelMargin
CDPL_VIS_API void setBondLabelMargin(Chem::MolecularGraph &molgraph, const SizeSpecification &margin)
CDPL::Vis::getAtomColorTable
CDPL_VIS_API const ColorTable::SharedPointer & getAtomColorTable(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getAtomLabelFont
CDPL_VIS_API const Font & getAtomLabelFont(const Chem::MolecularGraph &molgraph)
APIPrefix.hpp
Definition of the preprocessor macro CDPL_VIS_API.
CDPL::Vis::clearBondLineSpacing
CDPL_VIS_API void clearBondLineSpacing(Chem::MolecularGraph &molgraph)
CDPL::Vis::setBondLabelSize
CDPL_VIS_API void setBondLabelSize(Chem::MolecularGraph &molgraph, const SizeSpecification &size)
CDPL::Vis::hasAtomConfigurationLabelFont
CDPL_VIS_API bool hasAtomConfigurationLabelFont(const Chem::MolecularGraph &molgraph)
ColorTable.hpp
Definition of the type CDPL::Vis::ColorTable.
CDPL::Vis::clearDoubleBondTrimLength
CDPL_VIS_API void clearDoubleBondTrimLength(Chem::Bond &bond)
CDPL::Vis::getBondLabelMargin
CDPL_VIS_API const SizeSpecification & getBondLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL::Vis::getReactionCenterLineLength
CDPL_VIS_API const SizeSpecification & getReactionCenterLineLength(const Chem::Bond &bond)
CDPL::Vis::hasBondLabelMargin
CDPL_VIS_API bool hasBondLabelMargin(const Chem::MolecularGraph &molgraph)
CDPL::Vis::Color
Specifies a color in terms of its red, green and blue components and an alpha-channel for transparenc...
Definition: Color.hpp:52
CDPL::Vis::hasStereoBondWedgeWidth
CDPL_VIS_API bool hasStereoBondWedgeWidth(const Chem::Bond &bond)
CDPL::Vis::clearAtomColorTable
CDPL_VIS_API void clearAtomColorTable(Chem::MolecularGraph &molgraph)
CDPL::Vis::clearAtomLabelMargin
CDPL_VIS_API void clearAtomLabelMargin(Chem::MolecularGraph &molgraph)
CDPL::Vis::hasTripleBondTrimLength
CDPL_VIS_API bool hasTripleBondTrimLength(const Chem::Bond &bond)
CDPL::Math::length
VectorNorm2< E >::ResultType length(const VectorExpression< E > &e)
Definition: VectorExpression.hpp:553
CDPL::Vis::getBondLineSpacing
CDPL_VIS_API const SizeSpecification & getBondLineSpacing(const Chem::MolecularGraph &molgraph)
CDPL::Vis::clearTripleBondTrimLength
CDPL_VIS_API void clearTripleBondTrimLength(Chem::Bond &bond)