gcp::Bond Class Reference

#include <gcp/bond.h>

Inheritance diagram for gcp::Bond:
gcu::Bond gcu::Object

List of all members.

Public Member Functions

 Bond ()
 Bond (Atom *first, Atom *last, unsigned char order)
virtual ~Bond ()
Object * GetAtomAt (double x, double y, double z=0.)
BondType GetType () const
void SetType (BondType type)
double GetAngle2D (Atom *pAtom)
void AddCycle (gcu::Cycle *pCycle)
void RemoveCycle (gcu::Cycle *pCycle)
void RemoveAllCycles ()
bool GetLine2DCoords (unsigned Num, double *x1, double *y1, double *x2, double *y2)
virtual bool SaveNode (xmlDocPtr xml, xmlNodePtr node) const
bool LoadNode (xmlNodePtr node)
void Move (double x, double y, double z=0)
void Transform2D (gcu::Matrix2D &m, double x, double y)
double GetDist (double x, double y)
void SetDirty ()
void Revert ()
void IncOrder (int n=1)
void AddItem ()
void UpdateItem ()
void SetSelected (int state)
double GetYAlign ()
bool IsCrossing (Bond *pBond)
bool BuildContextualMenu (GtkUIManager *UIManager, Object *object, double x, double y)
void MoveToBack ()
void BringToFront ()
std::string GetProperty (unsigned property) const
bool SetProperty (unsigned property, char const *value)

Detailed Description

This class is used to represent bonds.

Definition at line 73 of file gcp/bond.h.


Constructor & Destructor Documentation

gcp::Bond::Bond (  ) 

The default constructor.

Reimplemented from gcu::Bond.

gcp::Bond::Bond ( Atom first,
Atom last,
unsigned char  order 
)
Parameters:
first the first bonded atom.
last the last bonded atom.
order the bond order

Constructs a bond given its two terminal atoms and its order.

virtual gcp::Bond::~Bond (  )  [virtual]

The destructor.

Reimplemented from gcu::Bond.


Member Function Documentation

void gcp::Bond::AddCycle ( gcu::Cycle pCycle  )  [virtual]
Parameters:
pCycle a cycle containing the bond.

Notifies the bond it is in the cycle.

Reimplemented from gcu::Bond.

void gcp::Bond::AddItem (  ) 

Used to add a representation of the bond in the view.

void gcp::Bond::BringToFront (  ) 

Brings the bond to front. It has an effect only for crossing bonds.

bool gcp::Bond::BuildContextualMenu ( GtkUIManager *  UIManager,
Object *  object,
double  x,
double  y 
)
Parameters:
UIManager,: the GtkUIManager to populate.
object the atom on which occured the mouse click.
x x coordinate of the mouse click.
y y coordinate of the mouse click.

This method is called to build a contextual menu for the atom.

double gcp::Bond::GetAngle2D ( Atom pAtom  ) 
Parameters:
pAtom one of the bonded atoms
Returns:
the angle (0 to 306°) that the bond makes from the horizontal when starting from pAtom.
Object* gcp::Bond::GetAtomAt ( double  x,
double  y,
double  z = 0. 
) [virtual]
Parameters:
x the x coordinate
y the y coordinate
z the z coordinate
Returns:
a pointer to a bonded atom at or near position defined by the coordinates passed as parameters.

Reimplemented from gcu::Object.

double gcp::Bond::GetDist ( double  x,
double  y 
)
Parameters:
x the x coordinate.
y the x coordinate.

Evaluates the distance from the point with coordinates x and y to the bond. The line segment joining the two atoms is used whatever the type and the order of the bond.

Returns:
the calculated distance in pm.
bool gcp::Bond::GetLine2DCoords ( unsigned  Num,
double *  x1,
double *  y1,
double *  x2,
double *  y2 
)
Parameters:
Num the index of the line representing a, possibly, multiple bond.
x1 where to store the first x coordinate.
y1 where to store the first y coordinate.
x2 where to store the second x coordinate.
y2 where to store the second y coordinate.

Retrievers the coordinates of one of the lines representing the bond. Num must be lower than the bond order to succeed.

Returns:
true on success, false otherwise.
std::string gcp::Bond::GetProperty ( unsigned  property  )  const [virtual]
Parameters:
property the identity of the property as defined in objprops.h.

Used by the gcu::Loader mechanism to retrieve properties of bonds.

Returns:
the value of the property as a string.

Reimplemented from gcu::Bond.

BondType gcp::Bond::GetType (  )  const [inline]
Returns:
the type of the bond.

Reimplemented from gcu::Object.

Definition at line 105 of file gcp/bond.h.

double gcp::Bond::GetYAlign (  )  [virtual]

Used to retrieve the y coordinate for alignment.

Returns:
y coordinate of the bond center.

Reimplemented from gcu::Object.

void gcp::Bond::IncOrder ( int  n = 1  )  [virtual]
Parameters:
n the bond order increment. If not given, the default is 1.

Tries to increment the bond order by n units. If something goes wrong, the bond order is set to 1.

Reimplemented from gcu::Bond.

bool gcp::Bond::IsCrossing ( Bond pBond  ) 
Parameters:
pBond a bond which might cross.

The lines representing two bonds might cross. This method detects this condition.

Returns:
true if bonds cross, false otherwise.
bool gcp::Bond::LoadNode ( xmlNodePtr  node  )  [virtual]
Parameters:
node a pointer to the xmlNode containing the serialized Bond.

Loads properties specific to GChemPaint bonds.

Reimplemented from gcu::Bond.

void gcp::Bond::Move ( double  x,
double  y,
double  z = 0 
) [virtual]
Parameters:
x the x component of the transation vector.
y the y component of the transation vector.
z the z component of the transation vector.

Used to move a bond. Just tells the bond it has been moved and that it's coordinates need to be reevaluated from the new atomic positions.

Reimplemented from gcu::Bond.

void gcp::Bond::MoveToBack (  ) 

Move the bond to the lowest position. It has an effect only for crossing bonds.

void gcp::Bond::RemoveAllCycles (  )  [virtual]

Clears the list of the cycles containing the bond.

Reimplemented from gcu::Bond.

void gcp::Bond::RemoveCycle ( gcu::Cycle pCycle  )  [virtual]
Parameters:
pCycle a cycle.

Notifies the bond that it is not anymore in the cycle.

Reimplemented from gcu::Bond.

void gcp::Bond::Revert (  ) 

Exchanges the start and end atoms.

virtual bool gcp::Bond::SaveNode ( xmlDocPtr  xml,
xmlNodePtr  node 
) const [virtual]
Parameters:
xml the xmlDoc used to save the document.
node a pointer to the xmlNode to which this Bond is serialized.

Saves the GChemPaint Bond class specific properties, such as the bond type (see gcp::BondType for more information).

Reimplemented from gcu::Bond.

void gcp::Bond::SetDirty (  ) 

Tells that the bond has changed, and that the items representing it should be updated accordingly.

bool gcp::Bond::SetProperty ( unsigned  property,
char const *  value 
) [virtual]
Parameters:
property the property id as defined in objprops.h
value the property value as a string

Used when loading to set properties for the bond. This method supports GCU_PROP_BOND_TYPE and calls gcu::Bond::SetProperty() for other properties.

Returns:
true if the property could be set, or if the property is not relevant, false otherwise.

Reimplemented from gcu::Bond.

void gcp::Bond::SetSelected ( int  state  ) 
Parameters:
state the selection state of the bond.

Used to set the selection state of the bond inside the widget. The values of state might be gcp::SelStateUnselected, gcp::SelStateSelected, gcp::SelStateUpdating, or gcp::SelStateErasing.

void gcp::Bond::SetType ( BondType  type  ) 
Parameters:
type the new bond type.

Sets the bond type.

void gcp::Bond::Transform2D ( gcu::Matrix2D m,
double  x,
double  y 
) [virtual]
Parameters:
m the Matrix2D of the transformation.
x the x component of the center of the transformation.
y the y component of the center of the transformation.

Used to move and/or transform a bond. Just tells the bond it has been moved and /or rotated and that it's coordinates need to be reevaluated from the new atomic positions.

Reimplemented from gcu::Bond.

void gcp::Bond::UpdateItem (  ) 

Used to update the representation of the bond in the view.


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

Generated on Sun Sep 6 18:29:27 2009 for The Gnome Chemistry Utils by  doxygen 1.6.1