7 #ifndef BALL_VIEW_MODELS_CARTOONMODEL_H
8 #define BALL_VIEW_MODELS_CARTOONMODEL_H
10 #ifndef BALL_VIEW_MODELS_BACKBONEMODEL_H
35 STRAND = NUCLEIC_ACID + 1,
45 AddCartoonModel(const AddCartoonModel& cartoon_model);
48 virtual ~AddCartoonModel();
51 void setHelixRadius(
float radius)
52 { helix_radius_ = radius;}
55 float getHelixRadius()
const
56 {
return helix_radius_;}
59 void setArrowWidth(
float width)
60 {arrow_width_ = width;}
63 float getArrowWidth()
const
64 {
return arrow_width_;}
67 void setStrandHeight(
float heigth)
68 { strand_height_ = heigth;}
71 float getStrandHeight()
const
72 {
return strand_height_;}
75 void setStrandWidth(
float w)
79 float getStrandWidth()
const
80 {
return strand_width_;}
83 void setDNABaseRadius(
float r)
84 { DNA_base_radius_ = r;}
87 float getDNABaseRadius()
const
88 {
return DNA_base_radius_;}
91 void setDNAHelixRadius(
float r)
92 { DNA_helix_radius_ = r;}
95 float getDNAHelixRadius()
const
96 {
return DNA_helix_radius_;}
99 void setDNALadderRadius(
float r)
100 { DNA_ladder_radius_ = r;}
103 float getDNALadderRadius()
const
104 {
return DNA_ladder_radius_;}
107 void setDrawDNAAsLadderModel(
bool state)
108 { draw_DNA_as_ladder_ = state;}
111 bool drawDNAAsLadderModel()
112 {
return draw_DNA_as_ladder_;}
115 void enableRibbons(
bool state)
116 { draw_ribbon_ = state;}
119 bool ribbonsEnabled()
const
120 {
return draw_ribbon_;}
125 inline void drawStrand_(
const Vector3& start,
132 void calculateComplementaryBases_(
const Composite& composite);
138 void calculateModelParts(
Protein& protein);
139 void assignModelType(ModelPart& part);
148 void renderNucleotideOutline_(
const vector<Vector3>& positions,
Vector3 uv,
Mesh& mesh);
149 Mesh* createDoubleRing_(
const vector<Vector3>& positions);
150 Mesh* create6Ring_(vector<Vector3> positions);
151 virtual void refineGuidePoints_();
175 #endif // BALL_VIEW_MODELS_CARTOONMODEL_H