Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
libcifpp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
libcifpp
Commits
600c86a1
Commit
600c86a1
authored
Sep 01, 2023
by
Maarten L. Hekkelman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
attempt to get some documentation
parent
1ae755b0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
3 deletions
+36
-3
docs/CMakeLists.txt
+1
-1
docs/Doxyfile.in
+2
-0
include/cif++/atom_type.hpp
+33
-2
No files found.
docs/CMakeLists.txt
View file @
600c86a1
...
@@ -17,7 +17,7 @@ configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
...
@@ -17,7 +17,7 @@ configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
file
(
MAKE_DIRECTORY
${
DOXYGEN_OUTPUT_DIR
}
)
#Doxygen won't create this for us
file
(
MAKE_DIRECTORY
${
DOXYGEN_OUTPUT_DIR
}
)
#Doxygen won't create this for us
add_custom_command
(
OUTPUT
${
DOXYGEN_INDEX_FILE
}
add_custom_command
(
OUTPUT
${
DOXYGEN_INDEX_FILE
}
DEPENDS
${
MCFP_PUBLIC_HEADERS
}
DEPENDS
${
MCFP_PUBLIC_HEADERS
}
${
DOXYFILE_OUT
}
COMMAND
${
DOXYGEN_EXECUTABLE
}
${
DOXYFILE_OUT
}
COMMAND
${
DOXYGEN_EXECUTABLE
}
${
DOXYFILE_OUT
}
MAIN_DEPENDENCY
${
DOXYFILE_OUT
}
${
DOXYFILE_IN
}
MAIN_DEPENDENCY
${
DOXYFILE_OUT
}
${
DOXYFILE_IN
}
COMMENT
"Generating docs"
)
COMMENT
"Generating docs"
)
...
...
docs/Doxyfile.in
View file @
600c86a1
...
@@ -2,6 +2,8 @@ EXCLUDE_SYMBOLS = cif::detail::*, std*
...
@@ -2,6 +2,8 @@ EXCLUDE_SYMBOLS = cif::detail::*, std*
FILE_PATTERNS = *.hpp
FILE_PATTERNS = *.hpp
RECURSIVE = YES
RECURSIVE = YES
GENERATE_XML = YES
GENERATE_XML = YES
PREDEFINED += and=&& or=|| not=!
PREDEFINED += CIFPP_EXPORT=
GENERATE_HTML = NO
GENERATE_HTML = NO
GENERATE_TODOLIST = NO
GENERATE_TODOLIST = NO
INPUT = @DOXYGEN_INPUT_DIR@
INPUT = @DOXYGEN_INPUT_DIR@
include/cif++/atom_type.hpp
View file @
600c86a1
...
@@ -24,7 +24,9 @@
...
@@ -24,7 +24,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
*/
// Lib for working with structures as contained in mmCIF and PDB files
/// \file
/// This file contains information about all known elements
#pragma once
#pragma once
...
@@ -32,6 +34,8 @@
...
@@ -32,6 +34,8 @@
#include <stdexcept>
#include <stdexcept>
#include <string>
#include <string>
#include "exports.hpp"
namespace
cif
namespace
cif
{
{
...
@@ -175,7 +179,8 @@ enum atom_type : uint8_t
...
@@ -175,7 +179,8 @@ enum atom_type : uint8_t
/// @endcond
/// @endcond
// --------------------------------------------------------------------
// --------------------------------------------------------------------
// atom_type_info
/// An enum used to select the desired radius for an atom
enum
class
radius_type
enum
class
radius_type
{
{
...
@@ -194,30 +199,53 @@ enum class radius_type
...
@@ -194,30 +199,53 @@ enum class radius_type
constexpr
size_t
kRadiusTypeCount
=
static_cast
<
size_t
>
(
radius_type
::
type_count
);
constexpr
size_t
kRadiusTypeCount
=
static_cast
<
size_t
>
(
radius_type
::
type_count
);
/// An enum used to select either the effective or the crystal radius of an ion
enum
class
ionic_radius_type
enum
class
ionic_radius_type
{
{
effective
,
crystal
effective
,
crystal
};
};
/// A struct holding the known information for all elements defined in @ref atom_type
struct
atom_type_info
struct
atom_type_info
{
{
/// The type as an @ref atom_type
atom_type
type
;
atom_type
type
;
/// The official name for this element
std
::
string
name
;
std
::
string
name
;
/// The official symbol for this element
std
::
string
symbol
;
std
::
string
symbol
;
/// The weight of this element
float
weight
;
float
weight
;
/// A flag indicating whether the element is a metal
bool
metal
;
bool
metal
;
/// Array containing all known radii for this element. A value of std::nanf("1") is
/// stored for unknown values
float
radii
[
kRadiusTypeCount
];
float
radii
[
kRadiusTypeCount
];
};
};
/// Array of @ref atom_type_info struct for each of the defined elements in @ref atom_type
extern
CIFPP_EXPORT
const
atom_type_info
kKnownAtoms
[];
extern
CIFPP_EXPORT
const
atom_type_info
kKnownAtoms
[];
// --------------------------------------------------------------------
// --------------------------------------------------------------------
// AtomTypeTraits
// AtomTypeTraits
/// A traits class to access information on known elements
class
atom_type_traits
class
atom_type_traits
{
{
public
:
public
:
/// Constructor taking an @ref atom_type \a a
atom_type_traits
(
atom_type
a
);
atom_type_traits
(
atom_type
a
);
/// Constructor based on the element as a string in \a symbol
atom_type_traits
(
const
std
::
string
&
symbol
);
atom_type_traits
(
const
std
::
string
&
symbol
);
atom_type
type
()
const
{
return
m_info
->
type
;
}
atom_type
type
()
const
{
return
m_info
->
type
;
}
...
@@ -227,7 +255,10 @@ class atom_type_traits
...
@@ -227,7 +255,10 @@ class atom_type_traits
bool
is_metal
()
const
{
return
m_info
->
metal
;
}
bool
is_metal
()
const
{
return
m_info
->
metal
;
}
/// Return true if the symbol in \a symbol actually exists in the list of known elements in @ref atom_type
static
bool
is_element
(
const
std
::
string
&
symbol
);
static
bool
is_element
(
const
std
::
string
&
symbol
);
/// Return true if the symbol in \a symbol exists and is a metal
static
bool
is_metal
(
const
std
::
string
&
symbol
);
static
bool
is_metal
(
const
std
::
string
&
symbol
);
float
radius
(
radius_type
type
=
radius_type
::
single_bond
)
const
float
radius
(
radius_type
type
=
radius_type
::
single_bond
)
const
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment