/usr/include/opencollada/COLLADAFramework/COLLADAFWUniqueId.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 | /*
Copyright (c) 2008-2009 NetAllied Systems GmbH
This file is part of COLLADAFramework.
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 __COLLADAFW_UNIQUEID_H__
#define __COLLADAFW_UNIQUEID_H__
#include "COLLADAFWPrerequisites.h"
#include "COLLADAFWTypes.h"
#include "COLLADAFWArray.h"
namespace COLLADAFW
{
/** Class that uniquely identifies each object in the model. It consists of a ClassId that uniquely identifies
the class an object is instantiated from and of an ObjectId that uniquely identifies the object in the set
of all objects of the same Type.*/
class UniqueId
{
public:
/** An invalid UniqueId.*/
static const UniqueId INVALID;
private:
/** The class id of the class the object is instantiated from.*/
ClassId mClassId;
/** The object id that uniquely identifies the object in the set of all objects of the same Type.*/
ObjectId mObjectId;
/** The id of the COLLADA file that contains the object.*/
FileId mFileId;
public:
/** Default constructor. Creates a UniqueId with ClassId COLALDA_TYPES::No_TYPE, which is an invalid ClassId.
Therefore the UniqueId is considered to be invalid.*/
UniqueId() : mClassId(COLLADA_TYPE::NO_TYPE), mObjectId(0), mFileId(0){}
/** Constructor. Creates UniqueId with ClassId @a classId an ObjectId @a objectId.*/
UniqueId(ClassId classId, ObjectId objectId, FileId fileId) : mClassId(classId), mObjectId(objectId), mFileId(fileId){}
/** Constructor. Creates UniqueId from string @a ascii. This text representation is used in formula
to reference parameters.*/
UniqueId(const String& ascii);
~UniqueId();
/** Returns the class id of the class the object is instantiated from.*/
ClassId getClassId() const { return mClassId; }
/** Returns the object id that uniquely identifies the object in the set of all objects of the same Type.*/
ObjectId getObjectId() const { return mObjectId; }
/** Returns the id of the COLLADA file that contains the object.*/
FileId getFileId() const { return mFileId; }
/** Returns true if the unique id is valid, false otherwise.*/
bool isValid() const { return mClassId != COLLADA_TYPE::NO_TYPE; }
/** Creates an ascii representation of the unique id.*/
String toAscii() const;
/** Parses the ascii representation and sets this values according to @a ascii.
To ensure parsing always succeeds, only parse string created by toAscii().
@return True on success, false if parsing failed.*/
bool fromAscii( const String& ascii);
bool operator<(const UniqueId& rhs) const;
bool operator>(const UniqueId& rhs) const;
bool operator==(const UniqueId& uid) const;
bool operator!=(const UniqueId& uid) const;
operator size_t()const;
private:
/** Parses the ascii representation and sets this values according to @a ascii.
To ensure parsing always succeeds, only parse string created by toAscii().
@return True on success, false if parsing failed.*/
bool fromAscii_intern( const String& ascii);
};
typedef Array<UniqueId> UniqueIdArray;
} // namespace COLLADAFW
#endif // __COLLADAFW_UNIQUEID_H__
|