This file is indexed.

/usr/include/opencollada/COLLADASaxFrameworkLoader/COLLADASaxFWLLibraryControllersLoader.h is in opencollada-dev 0.1.0~20140703.ddf8f47+dfsg1-2.

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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
/*
    Copyright (c) 2008-2009 NetAllied Systems GmbH

    This file is part of COLLADASaxFrameworkLoader.

    Licensed under the MIT Open Source License, 
    for details please see LICENSE file or the website
    http://www.opensource.org/licenses/mit-license.php
*/

#ifndef __COLLADASAXFWL_LIBRARYCONTROLLERSLOADER_H__
#define __COLLADASAXFWL_LIBRARYCONTROLLERSLOADER_H__

#include "COLLADASaxFWLPrerequisites.h"
#include "COLLADASaxFWLSourceArrayLoader.h"

#include "Math/COLLADABUMathMatrix4.h"


namespace COLLADAFW
{
	class SkinControllerData;
	class MorphController;
}

namespace COLLADASaxFWL
{

    /** TODO Documentation */
	class LibraryControllersLoader : public SourceArrayLoader 
	{
	private:
		/** Specifies the parent of a possible input element.*/
		enum InputParent
		{
			INPUT_PARENT_UNKNOWN,
			INPUT_PARENT_JOINTS,
			INPUT_PARENT_VERTEX_WEIGHTS
		};

		/** Types of controllers that can be loaded by this class.*/
		enum ControllerTypes
		{
			UNKNOWN_CONTROLLER,
			SKIN_CONTROLLER,
			MORPH_CONTROLLER
		};

		typedef std::map< String /*Id of the name array*/,  StringList> StringListMap;

	private:
		/** The type of the controller currently being parsed.*/
		ControllerTypes mCurrentControllerType;

		/** The original object id, if it in the original file format exist. */
		String mOriginalId;

		/** The id of the current controller.*/
		String mCurrentControllerId;

		/** The id of the current controller source.*/
		COLLADAFW::UniqueId mCurrentControllerSourceUniqueId;

		/** The name of the current controller.*/
		String mCurrentControllerName;

		/** The SkinControllerData currently being filled. */
		COLLADAFW::SkinControllerData* mCurrentSkinControllerData;

		/** The MorphController currently being filled. */
		COLLADAFW::MorphController* mCurrentMorphController;

		/** The current parent element of a possible input element. Unknown if input is 
		currently not allowed.*/
		InputParent mCurrentInputParent;

		/** The sids of the joints of the current skin controller.*/
		StringList *mJointSidsOrIds;

		/** Maps ids of name array to the list of name in the name array.*/
		StringListMap mJointSidsMap;

		/** Maps ids of id_ref array to the list of ids in the id_ref array.*/
		StringListMap mJointIdsMap;

		/** The expected joints/vertex pair count of the current skin data.*/
		size_t mCurrentJointsVertexPairCount;

		/** The offset of the joints in the current vertex_weights element.*/
		uint64 mJointOffset;

		/** The offset of the weights in the current vertex_weights element.*/
		uint64 mWeightsOffset;

		/** The largest offset of the inputs in the current vertex_weights element.*/
		uint64 mCurrentMaxOffset;

		/** The current offset while parsing a v element.*/
		uint64 mCurrentOffset;

		/** The bind shape matrix of the current skin controller.*/
		COLLADABU::Math::Matrix4 mCurrentBindShapeMatrix;

		/** The index of the current matrix element, while parsing the bind_shape_matrix element.*/
		size_t mCurrentMatrixIndex;

		/** Used to control if validate function should report errors
		or do its job silently */
		bool mVerboseValidate;

	public:

        /** Constructor. */
		LibraryControllersLoader( IFilePartLoader* callingFilePartLoader );

        /** Destructor. */
		virtual ~LibraryControllersLoader();

        /** Returns the unique id of the current parsed object. */
        virtual const COLLADAFW::UniqueId& getUniqueId();

		/** Write the indices of the v element into the framework.*/
		bool writeVIndices ( const sint64* data, size_t length );

		/** Sets the String list, the values of an id_ref or name_array should be stored in.
		@param isIdArray If true, values are stored in idMap otherwise in in sid map*/
		bool beginJointsArray(bool isIdArray);
		bool dataJointArray( const ParserString* data, size_t length );


		virtual bool end__library_controllers( );


		virtual bool begin__controller( const controller__AttributeData& attributeData );
		virtual bool end__controller();


		virtual bool begin__skin( const skin__AttributeData& attributeData );
		virtual bool end__skin();

		virtual bool begin__morph( const morph__AttributeData& attributeData );
		virtual bool end__morph();


		bool begin__source( const source__AttributeData& attributes );
		bool end__source();


		virtual bool begin__joints();
		virtual bool end__joints();

		/** Evaluate the semantic and assign the corresponding sources to the current animation curve.*/
		bool begin__input____InputLocal( const input____InputLocal__AttributeData& attributeData );

		/** We don't need to do anything here.*/
		bool end__input____InputLocal() {return true;}


		virtual bool begin__vertex_weights( const vertex_weights__AttributeData& attributeData );
		virtual bool end__vertex_weights();

		virtual bool begin__input____InputLocalOffset( const input____InputLocalOffset__AttributeData& attributeData );
		virtual bool end__input____InputLocalOffset();

		virtual bool begin__vcount();
		virtual bool end__vcount();
		virtual bool data__vcount( const unsigned long long*, size_t length );


		virtual bool begin__v();
		virtual bool end__v();
		virtual bool data__v( const sint64* data, size_t length );


		virtual bool begin__Name_array( const Name_array__AttributeData& attributeData );
		virtual bool end__Name_array();
		virtual bool data__Name_array( const ParserString* data, size_t length );

		virtual bool begin__IDREF_array( const IDREF_array__AttributeData& attributeData );
		virtual bool end__IDREF_array();
		virtual bool data__IDREF_array( const ParserString* value, size_t length );


		virtual bool begin__bind_shape_matrix(){return true;}
		virtual bool end__bind_shape_matrix();
		virtual bool data__bind_shape_matrix( const float* data, size_t length );



	private:

        /** Disable default copy ctor. */
		LibraryControllersLoader( const LibraryControllersLoader& pre );

        /** Disable default assignment operator. */
		const LibraryControllersLoader& operator= ( const LibraryControllersLoader& pre );
	};

} // namespace COLLADASAXFWL

#endif // __COLLADASAXFWL_LIBRARYCONTROLLERSLOADER_H__