summaryrefslogtreecommitdiff
path: root/cad/plugins/NanoVision-1/include/Nanorex/Interface/NXBondRenderData.h
blob: 2af48322d92bfa1cfe4c21a04f8d4414d2331670 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright 2008 Nanorex, Inc.  See LICENSE file for details.

#ifndef NX_BONDRENDERDATA_H
#define NX_BONDRENDERDATA_H

#include <vector>


namespace Nanorex {


/* CLASS: NXBondRenderData */
/**
 * Information for rendering bonds
 */
class NXBondRenderData {
public:
    NXBondRenderData(int const& the_order,
                     double const& the_length);
    ~NXBondRenderData() {}
    
    /// Bond order: 1=single, 2=double, 3=triple, 5=aromatic
    int const& getOrder(void) const { return order; }
    
    /// Length
    double const& getLength(void) const { return length; }
    
    /// Custom supplemental data
    std::vector<void const*> const& getSupplementalData(void) const
    { return supplementalData; }
    
    void setSupplementalData(std::vector<void const*> const& suppData)
    { supplementalData = suppData; }
    
    void addData(void const *const dataPtr)
    { supplementalData.push_back(dataPtr); }
    
protected:
    int order;
    double length;
    std::vector<void const*> supplementalData;
};


} // Nanorex

#endif // NX_BONDRENDERDATA_H