This file is indexed.

/usr/include/opencollada/COLLADAStreamWriter/COLLADASWInputList.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
/*
    Copyright (c) 2008-2009 NetAllied Systems GmbH

	This file is part of COLLADAStreamWriter.

    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 __COLLADASTREAMWRITER_INPUT_LIST_H__
#define __COLLADASTREAMWRITER_INPUT_LIST_H__

#include "COLLADASWPrerequisites.h"
#include "COLLADASWElementWriter.h"
#include "COLLADASWBaseElement.h"
#include "COLLADASWConstants.h"

#include "COLLADABUURI.h"

namespace COLLADASW
{

    class InputList;
    class PrimitivesBase;
    class BaseInputElement;
    class Vertices;
	class ControlVertices;

	namespace InputSemantic
	{
		/** The geometry source data types. */
		enum Semantics
		{
			BINORMAL=0, /** Geometric binormal (bitangent) vector */
			BINDMATRIX, 
			COLOR, /** Color coordinate vector. Color inputs are RGB (float3) */
			CONTINUITY, /** Continuity constraint at the control vertex (CV). See also "Curve Interpolation" in Chapter 4: Programming Guide. */
			IMAGE, /** Raster or MIP-level input. */
			INPUT, /** Sampler input. See also "Curve Interpolation" in Chapter 4: Programming Guide. */
			IN_TANGENT, /** Tangent vector for preceding control point. See also "Curve Interpolation" in Chapter 4: Programming Guide. */
			INTERPOLATION, /** Sampler interpolation type. See also "Curve Interpolation" in Chapter 4: Programming Guide. */
			INV_BIND_MATRIX, /** Inverse of local-to-world matrix. */
			JOINT, /** Skin influence identifier */
			LINEAR_STEPS, /** Number of piece-wise linear approximation steps to use for the spline segment that follows this CV. See also Curve Interpolation in Chapter 4: Programming Guide. */
			MORPH_TARGET, /** Morph targets for mesh morphing */
			MORPH_WEIGHT, /** Weights for mesh morphing */
			NORMAL, /** Normal vector */
			OUTPUT, /** Sampler output. See also Curve Interpolation in Chapter 4: Programming Guide. */
			OUT_TANGENT, /** Tangent vector for succeeding control point. See also "Curve Interpolation" in Chapter 4: Programming Guide. */
			POSITION, /** Geometric coordinate vector. See also "Curve Interpolation" in Chapter 4: Programming Guide. */
			TANGENT, /** Geometric tangent vector */
			TEXBINORMAL, /** Texture binormal (bitangent) vector */
			TEXCOORD, /** Texture coordinate vector */
			TEXTANGENT, /** Texture tangent vector */
			UV, /** Generic parameter vector */
			VERTEX, /** Mesh vertex */
			WEIGHT, /** Skin influence weighting value */
			UNKNOWN = -1 /**< An unknown data source. */
		};
	}


    /** A class that holds information about an @a \<input\> element.*/
    class Input
    {

    public:
        /** Constructor
        @param semantic The semantic of the @a \<input\> element.
        @param source The source of the @a \<input\> element.
        @param offset The offset of the @a \<input\> element.
        @param set The set of the @a \<input\> element.
        */
		Input ( InputSemantic::Semantics semantic, const URI& source, int offset = -1, int set = -1 )
                : mSemantic ( semantic ),
                mSource ( source ),
                mOffset ( offset ),
                mSet ( set ) {}

        virtual ~Input() {}

        /** Returns the semantic of the Input*/
        InputSemantic::Semantics getSemantic() const
        {
            return mSemantic;
        }

        /** Returns the source of the Input*/
        const COLLADABU::URI& getSource() const
        {
            return mSource;
        }

        /** Returns the offset of the Input*/
        int getOffset() const
        {
            return mOffset;
        }

        /** Returns the set of the Input*/
        int getSet() const
        {
            return mSet;
        }

    private:
        InputSemantic::Semantics mSemantic;
        COLLADABU::URI mSource;
        int mOffset;
        int mSet;
    };


    /** A class that writes a list of Input objects to the stream.*/
    class InputList : public ElementWriter
    {

    private:

        /** Declare friend, so the class can use the 'add()' method. */
        friend class PrimitivesBase;

        /** Declare friend, so the class can use the 'add()' method. */
        friend class BaseInputElement;

		/** Declare friend, so the class can use the 'add()' method. */
		friend class Vertices;

		/** Declare friend, so the class can use the 'add()' method. */
		friend class ControlVertices;

		friend class LibraryAnimations;

        /** List of all the inputs*/
        typedef std::list<Input> List;
        List mList;

    public:

        /** Constructor
        @param The stream the InputList should be written to*/
        InputList ( StreamWriter* streamWriter ) : ElementWriter ( streamWriter ) {}

        /** Destructor*/
        virtual ~InputList() {}

        /** Adds @a input to list of inputs that should be added*/
        void push_back ( Input input )
        {
            mList.push_back ( input );
        }

		/** Returns a string containing the semantic name*/
		static const String& getSemanticString ( InputSemantic::Semantics semantic );

	private:

        /** Add all the inputs, added using push_back(), to the stream*/
        void add()const;


    };


} //namespace COLLADASW



#endif //__COLLADASTREAMWRITER_INPUT_LIST_H__