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,
52 { helix_radius_ = radius;}
56 {
return helix_radius_;}
60 {arrow_width_ = width;}
64 {
return arrow_width_;}
68 { strand_height_ = heigth;}
72 {
return strand_height_;}
80 {
return strand_width_;}
84 { DNA_base_radius_ = r;}
88 {
return DNA_base_radius_;}
92 { DNA_helix_radius_ = r;}
96 {
return DNA_helix_radius_;}
100 { DNA_ladder_radius_ = r;}
104 {
return DNA_ladder_radius_;}
108 { draw_DNA_as_ladder_ = state;}
112 {
return draw_DNA_as_ladder_;}
116 { draw_ribbon_ = state;}
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