# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Member Functions | Protected Attributes

# vl::Atom Class Reference

The Atom class represents an atom to be used with the Molecule class. More...

`#include <Atom.hpp>`

Inheritance diagram for vl::Atom:

List of all members.

## Public Member Functions

| Atom ()
| Atom (const Atom &other)
Atom & | operator= (const Atom &other)
| Assignment operator: does not assign the adjacent atoms.
bool | isAtomAdjacent (Atom *atom) const
const std::vector< Atom * > & | adjacentAtoms () const
std::vector< Atom * > & | adjacentAtoms ()
EAtomType | atomType () const
void | setAtomType (EAtomType type)
unsigned int | id () const
void | setId (unsigned int id)
const fvec3 & | coordinates () const
void | setCoordinates (const fvec3 &coordinates)
float | radius () const
void | setRadius (float radius)
void | setVisited (bool visited)
bool | visited () const
void | setAtomName (const std::string &name)
const std::string & | atomName () const
const fvec4 & | color () const
void | setColor (const fvec4 &color)
bool | visible () const
void | setVisible (bool visible)
void | setShowAtomName (bool show)
| Defines whether the atom name should be rendered or not. See also Molecule::setShowAtomNames().
bool | showAtomName () const
| Defines whether the atom name should be rendered or not. See also Molecule::setShowAtomNames().

## Protected Attributes

fvec4 | mColor
fvec3 | mCoordinates
EAtomType | mAtomType
float | mRadius
std::vector< Atom * > | mAdjacentAtoms
std::string | mAtomName
unsigned int | mId
bool | mVisited
bool | mVisible
bool | mShowAtomName

## Detailed Description

The Atom class represents an atom to be used with the Molecule class.

See also:
  - Molecule Visualization Tutorial
  - Molecule
  - Bond

Definition at line 51 of file Atom.hpp.

## Constructor & Destructor Documentation

vl::Atom::Atom | ( | ) | `[inline]`

Definition at line 56 of file Atom.hpp.

References vl::AT_Unknown, mAtomType, mColor, mCoordinates, mId, mRadius, mShowAtomName, mVisible, mVisited, and VL_DEBUG_SET_OBJECT_NAME.

vl::Atom::Atom | ( | const Atom & | other ) | `[inline]`

Definition at line 70 of file Atom.hpp.

## Member Function Documentation

Atom& vl::Atom::operator= | ( | const Atom & | other ) | `[inline]`

Assignment operator: does not assign the adjacent atoms.

Definition at line 73 of file Atom.hpp.

References mAtomName, mAtomType, mColor, mCoordinates, mId, mRadius, mShowAtomName, and mVisible.

bool vl::Atom::isAtomAdjacent | ( | Atom * | atom ) | const`[inline]`

Definition at line 89 of file Atom.hpp.

References adjacentAtoms().

Referenced by vl::RingExtractor::sortCycles().

const std::vector< Atom* >& vl::Atom::adjacentAtoms | ( | ) | const`[inline]`

Definition at line 97 of file Atom.hpp.

References mAdjacentAtoms.

Referenced by vl::Molecule::computeAtomAdjacency(), vl::RingExtractor::depthFirstVisit(), and isAtomAdjacent().

std::vector< Atom* >& vl::Atom::adjacentAtoms | ( | ) | `[inline]`

Definition at line 98 of file Atom.hpp.

References mAdjacentAtoms.

EAtomType vl::Atom::atomType | ( | ) | const`[inline]`

Definition at line 100 of file Atom.hpp.

References mAtomType.

Referenced by vl::Molecule::setAtomTypeVisible().

void vl::Atom::setAtomType | ( | EAtomType | type ) | `[inline]`

Definition at line 101 of file Atom.hpp.

References mAtomType.

unsigned int vl::Atom::id | ( | ) | const`[inline]`

Definition at line 103 of file Atom.hpp.

References mId.

Referenced by setId().

void vl::Atom::setId | ( | unsigned int | id ) | `[inline]`

Definition at line 104 of file Atom.hpp.

References id(), and mId.

const fvec3& vl::Atom::coordinates | ( | ) | const`[inline]`

Definition at line 106 of file Atom.hpp.

References mCoordinates.

Referenced by vl::Molecule::ballAndStickStyle(), vl::RingExtractor::keepPlanarCycles(), setCoordinates(), vl::Molecule::sticksStyle(), and vl::Molecule::wireframeStyle().

void vl::Atom::setCoordinates | ( | const fvec3 & | coordinates ) | `[inline]`

Definition at line 107 of file Atom.hpp.

References coordinates(), and mCoordinates.

float vl::Atom::radius | ( | ) | const`[inline]`

Definition at line 109 of file Atom.hpp.

References mRadius.

Referenced by setRadius().

void vl::Atom::setRadius | ( | float | radius ) | `[inline]`

Definition at line 110 of file Atom.hpp.

References mRadius, and radius().

void vl::Atom::setVisited | ( | bool | visited ) | `[inline]`

Definition at line 112 of file Atom.hpp.

References mVisited, and visited().

Referenced by vl::RingExtractor::bootstrap(), and vl::RingExtractor::depthFirstVisit().

bool vl::Atom::visited | ( | ) | const`[inline]`

Definition at line 113 of file Atom.hpp.

References mVisited.

Referenced by vl::RingExtractor::depthFirstVisit(), and setVisited().

void vl::Atom::setAtomName | ( | const std::string & | name ) | `[inline]`

Definition at line 115 of file Atom.hpp.

References mAtomName.

const std::string& vl::Atom::atomName | ( | ) | const`[inline]`

Definition at line 116 of file Atom.hpp.

References mAtomName.

Referenced by vl::Molecule::generateAtomLabel().

const fvec4& vl::Atom::color | ( | ) | const`[inline]`

Definition at line 118 of file Atom.hpp.

References mColor.

Referenced by vl::Molecule::ballAndStickStyle(), setColor(), vl::Molecule::sticksStyle(), and vl::Molecule::wireframeStyle().

void vl::Atom::setColor | ( | const fvec4 & | color ) | `[inline]`

Definition at line 119 of file Atom.hpp.

References color(), and mColor.

bool vl::Atom::visible | ( | ) | const`[inline]`

Definition at line 121 of file Atom.hpp.

References mVisible.

Referenced by vl::Molecule::generateAtomLabel(), setVisible(), and vl::Molecule::wireframeStyle().

void vl::Atom::setVisible | ( | bool | visible ) | `[inline]`

Definition at line 122 of file Atom.hpp.

References mVisible, and visible().

Referenced by vl::Molecule::setAtomTypeVisible().

void vl::Atom::setShowAtomName | ( | bool | show ) | `[inline]`

Defines whether the atom name should be rendered or not. See also Molecule::setShowAtomNames().

Definition at line 125 of file Atom.hpp.

References mShowAtomName.

bool vl::Atom::showAtomName | ( | ) | const`[inline]`

Defines whether the atom name should be rendered or not. See also Molecule::setShowAtomNames().

Definition at line 127 of file Atom.hpp.

References mShowAtomName.

Referenced by vl::Molecule::generateAtomLabel().

## Member Data Documentation

fvec4 vl::Atom::mColor`[protected]`

Definition at line 130 of file Atom.hpp.

Referenced by Atom(), color(), operator=(), and setColor().

fvec3 vl::Atom::mCoordinates`[protected]`

Definition at line 131 of file Atom.hpp.

Referenced by Atom(), coordinates(), operator=(), and setCoordinates().

EAtomType vl::Atom::mAtomType`[protected]`

Definition at line 132 of file Atom.hpp.

Referenced by Atom(), atomType(), operator=(), and setAtomType().

float vl::Atom::mRadius`[protected]`

Definition at line 133 of file Atom.hpp.

Referenced by Atom(), operator=(), radius(), and setRadius().

std::vector< Atom* > vl::Atom::mAdjacentAtoms`[protected]`

Definition at line 134 of file Atom.hpp.

Referenced by adjacentAtoms().

std::string vl::Atom::mAtomName`[protected]`

Definition at line 135 of file Atom.hpp.

Referenced by atomName(), operator=(), and setAtomName().

unsigned int vl::Atom::mId`[protected]`

Definition at line 136 of file Atom.hpp.

Referenced by Atom(), id(), operator=(), and setId().

bool vl::Atom::mVisited`[protected]`

Definition at line 138 of file Atom.hpp.

Referenced by Atom(), setVisited(), and visited().

bool vl::Atom::mVisible`[protected]`

Definition at line 140 of file Atom.hpp.

Referenced by Atom(), operator=(), setVisible(), and visible().

bool vl::Atom::mShowAtomName`[protected]`

Definition at line 142 of file Atom.hpp.

Referenced by Atom(), operator=(), setShowAtomName(), and showAtomName().

The documentation for this class was generated from the following file:

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlMolecule/Atom.hpp

Visualization Library v2011.09.1162 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu Jan 26 2012 00:44:58.
Permission is granted to use this page to write and publish articles regarding Visualization Library.