BALL::RSConstructor Class Reference

class, performing the prefabication of ringsystems (i.e. providing them with relative 2D-coordinates) More...

#include <BALL/STRUCTURE/rsConstructor.h>

List of all members.


Public Types

typedef RingAnalyser::RingInfo RingInfo

Public Member Functions

 RSConstructor ()
 

Default-Constructor.


virtual ~RSConstructor ()
 

Destructor.


void constructRS (std::vector< RingInfo > &analysed_rings, Size &i)
 

constructs a ringsystem, providing the atoms with relative 2D-coordinates, starting in the point of origin



Private Member Functions

void buildRegularPolygon (std::vector< Atom * > &ring, Size &z)
 

construct the core-ring as a regular polygon


void attachFused (RingInfo &ring_info, std::vector< RingInfo > &ringsystem)
 

attach a fused ring to a (partially) constructed ringsystem


void attachBridged (std::vector< Atom * > &ring, std::vector< RingInfo > &ringsystem)
 

attach a bridged ring to a (partially) constructed ringsystem


void attachSpiro (RingInfo &ring_info, std::vector< RingInfo > &ringsystem)
 

attach a spiro ring to a (partially) constructed ringsystem


void attachTemplate (std::vector< Atom * > &ring)
 

attach a ring template to a (partially) constructed ringsystem (no functionality yet)


bool inside (Atom *&test_a, vector< Atom * > &ring)
 

checks, whether an atom has been positioned inside the area of another ring



Detailed Description

class, performing the prefabication of ringsystems (i.e. providing them with relative 2D-coordinates)


Member Typedef Documentation


Constructor & Destructor Documentation

BALL::RSConstructor::RSConstructor (  ) 

Default-Constructor.

virtual BALL::RSConstructor::~RSConstructor (  )  [virtual]

Destructor.


Member Function Documentation

void BALL::RSConstructor::attachBridged ( std::vector< Atom * > &  ring,
std::vector< RingInfo > &  ringsystem 
) [private]

attach a bridged ring to a (partially) constructed ringsystem

Parameters:
ring_info the bridged ring
ringsystem the whole ringsystem
void BALL::RSConstructor::attachFused ( RingInfo ring_info,
std::vector< RingInfo > &  ringsystem 
) [private]

attach a fused ring to a (partially) constructed ringsystem

Parameters:
ring_info the fused ring
ringsystem the whole ringsystem
void BALL::RSConstructor::attachSpiro ( RingInfo ring_info,
std::vector< RingInfo > &  ringsystem 
) [private]

attach a spiro ring to a (partially) constructed ringsystem

Parameters:
ring_info the spiro ring
ringsystem the whole ringsystem
void BALL::RSConstructor::attachTemplate ( std::vector< Atom * > &  ring  )  [private]

attach a ring template to a (partially) constructed ringsystem (no functionality yet)

Parameters:
ring_info the template ring
ringsystem the whole ringsystem
void BALL::RSConstructor::buildRegularPolygon ( std::vector< Atom * > &  ring,
Size z 
) [private]

construct the core-ring as a regular polygon

Parameters:
ring the core ring
z consecutive numbering of the molecule's ringsystems
void BALL::RSConstructor::constructRS ( std::vector< RingInfo > &  analysed_rings,
Size i 
)

constructs a ringsystem, providing the atoms with relative 2D-coordinates, starting in the point of origin

Parameters:
analysed_rings the ringsystem to be constructed
i consecutive numbering of the molecule's ringsystems
bool BALL::RSConstructor::inside ( Atom *&  test_a,
vector< Atom * > &  ring 
) [private]

checks, whether an atom has been positioned inside the area of another ring

Parameters:
test_a the atom to be checked
ring the ring to be checked
Returns:
true, if the atom lies inside the ring area, false, if it doesn't