This file is indexed.

/usr/include/BALL/VIEW/MODELS/cartoonModel.h is in libballview1.4-dev 1.4.3~beta1-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: cartoonModel.h,v 1.32.18.1 2007/03/25 21:26:05 oliver Exp $
//

#ifndef BALL_VIEW_MODELS_CARTOONMODEL_H
#define BALL_VIEW_MODELS_CARTOONMODEL_H

#ifndef BALL_VIEW_MODELS_BACKBONEMODEL_H
#	include <BALL/VIEW/MODELS/backboneModel.h>
#endif

namespace BALL
{
	namespace VIEW
	{
 		class Mesh;

		/** AddCartoonModel class.
				The class AddCartoonModel is a model processor that creates a Cartoon model
				through the <b>CA</b>-atoms of the processed Composite object.
				For information about the processor concept see Processor in the BALL
				documentation.
				\ingroup  ViewModels
		*/

		class BALL_VIEW_EXPORT AddCartoonModel
			: public AddBackboneModel
		{
			public:

			enum Types
			{
				STRAND = NUCLEIC_ACID + 1,
				HELIX
			};

			BALL_CREATE(AddCartoonModel)

			/// Default Constructor.
			AddCartoonModel();

			/// Copy constructor.
			AddCartoonModel(const AddCartoonModel& cartoon_model);

			/// Destructor.
			virtual ~AddCartoonModel();

			///
			void setHelixRadius(float radius)
				{ helix_radius_ = radius;}

			///
			float getHelixRadius() const
				{ return helix_radius_;}

			///
			void setArrowWidth(float width)
				{arrow_width_ = width;}

			///
			float getArrowWidth() const
				{ return arrow_width_;}

			///
			void setStrandHeight(float heigth)
				{ strand_height_ = heigth;}

			///
			float getStrandHeight() const
				{ return strand_height_;}
			
			///
			void setStrandWidth(float w)
				{ strand_width_ = w;}

			///
			float getStrandWidth() const
				{ return strand_width_;}

			///
			void setDNABaseRadius(float r)
				{ DNA_base_radius_ = r;}

			///
			float getDNABaseRadius() const
				{ return DNA_base_radius_;}

			///
			void setDNAHelixRadius(float r)
				{ DNA_helix_radius_ = r;}

			///
			float getDNAHelixRadius() const
				{ return DNA_helix_radius_;}

			///
			void setDNALadderRadius(float r)
				{ DNA_ladder_radius_ = r;}

			///
			float getDNALadderRadius() const
				{ return DNA_ladder_radius_;}

			///
			void setDrawDNAAsLadderModel(bool state)
				{ draw_DNA_as_ladder_ = state;}

			///
			bool drawDNAAsLadderModel()
				{ return draw_DNA_as_ladder_;}

			///
			void enableRibbons(bool state)
				{ draw_ribbon_ = state;}

			///
			bool ribbonsEnabled() const
				{return draw_ribbon_;}
			
			protected:

			void insertTriangle_(Position v1, Position v2, Position v3, Mesh& mesh);
			inline void drawStrand_(const Vector3& start,
															 Vector3& right,
															 Vector3& hn,
															 float arrow_width,
															 Position& last_vertices,
															 Mesh& mesh);

			void calculateComplementaryBases_(const Composite& composite);

			bool assignNucleotideAtoms_(Residue& r, Size nr_atoms, String atom_names[10], Atom* atoms[10]);

			void drawRiboseAtoms_(const Atom* atom1, const Atom* atom2, const Vector3& v1, const Vector3& v2);

			void calculateModelParts(Protein& protein);
			void assignModelType(ModelPart& part);
			void createModel_(Position set_pos, Position part_pos);

			void createStrand_(Position set_pos, Position part_pos);
			void createHelix_(Position set_first, Position part_pos);
			void createTubeHelix_(Position set_first, Position part_pos);
			void createWatsonCrickModel_(Position set_pos, Position part_pos);
			void createSimpleNucleicAcid_(Position set_pos, Position part_pos);

			void renderNucleotideOutline_(const vector<Vector3>& positions, Vector3 uv, Mesh& mesh);
			Mesh* createDoubleRing_(const vector<Vector3>& positions);
			Mesh* create6Ring_(vector<Vector3> positions);
			virtual void refineGuidePoints_();

			float helix_radius_;
			float helix_height_;
			float helix_width_;
			float arrow_width_;
			float strand_width_;
			float strand_height_;
			float DNA_helix_radius_;
			float DNA_ladder_radius_;
			float DNA_base_radius_;
			float ribbon_width_;
			float ribbon_radius_;

			bool  draw_DNA_as_ladder_;
			bool  draw_ribbon_;

			HashMap<const Residue*, const Residue*> complementary_bases_;
	};


	} // namespace VIEW
} // namespace BALL

#endif // BALL_VIEW_MODELS_CARTOONMODEL_H