Пример #1
0
		public ColladaPolygons() : base(Enums.ColladaElementType.Core_Polygons)
		{
			Fields.Add(_input = new ColladaObjectElementList<ColladaInputShared>());
			Fields.Add(_p = new ColladaObjectElementList<ColladaValueArray<uint>>());
			Fields.Add(_ph = new ColladaObjectElementList<ColladaPolyPH>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());
		}
Пример #2
0
		public ColladaPolylist() : base(Enums.ColladaElementType.Core_Polylist)
		{
			Fields.Add(_input = new ColladaObjectElementList<ColladaInputShared>());
			Fields.Add(_vCount = new ColladaObjectElement<ColladaValueArray<int>>());
			Fields.Add(_p = new ColladaObjectElement<ColladaValueArray<int>>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());
		}
Пример #3
0
		public ColladaAnimation() : base(Enums.ColladaElementType.Core_Animation) 
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaAnimation>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_animation = new ColladaObjectElementList<ColladaAnimation>());
			Fields.Add(_source = new ColladaObjectElementList<ColladaSource>());
			Fields.Add(_sampler = new ColladaObjectElementList<ColladaSampler>());
			Fields.Add(_channel = new ColladaObjectElementList<ColladaChannel>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			List<ColladaObject> mutually_inclusive = new List<ColladaObject>();
			mutually_inclusive.Add(_sampler);
			mutually_inclusive.Add(_channel);

			List<ColladaObject> mutually_exclusive1 = new List<ColladaObject>();
			mutually_inclusive.Add(_animation);
			mutually_inclusive.Add(_sampler);

			List<ColladaObject> mutually_exclusive2 = new List<ColladaObject>();
			mutually_inclusive.Add(_animation);
			mutually_inclusive.Add(_channel);

			ValidationTests.Add(new ColladaMutuallyInclusive(Enums.ColladaElementType.All, mutually_inclusive));
			ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.All, mutually_exclusive1));
			ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.All, mutually_exclusive2));
		}
Пример #4
0
		public ColladaControlVertices() : base(Enums.ColladaElementType.Core_ControlVertices)
		{
			Fields.Add(_input = new ColladaObjectElementList<ColladaInputShared>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _input));
			ValidationTests.Add(new ColladaListMinCount<ColladaInputShared>(Enums.ColladaElementType.All, _input, 1));
		}
Пример #5
0
		public ColladaImager() : base(Enums.ColladaElementType.Core_Imager)
		{
			Fields.Add(_technique = new ColladaObjectElementList<ColladaTechnique>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _technique));
			ValidationTests.Add(new ColladaListMinCount<ColladaTechnique>(Enums.ColladaElementType.All, _technique, 1));
		}
Пример #6
0
		public ColladaOptics() : base(Enums.ColladaElementType.Core_Optics)
		{
			Fields.Add(_techniqueCommon = new ColladaObjectElement<ColladaTechniqueCommon>());
			Fields.Add(_technique = new ColladaObjectElementList<ColladaTechnique>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _techniqueCommon));
		}
Пример #7
0
		public ColladaSamplerCUBE() : base(Enums.ColladaElementType.Fx_SamplerCUBE)
		{
			Fields.Add(_source = new ColladaObjectValue<string>(""));
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _source));
			ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _source));
		}
Пример #8
0
		public ColladaBindMaterial() : base(Enums.ColladaElementType.Fx_BindMaterial)
		{
			Fields.Add(_param = new ColladaObjectElementList<Core.ColladaParam>());
			Fields.Add(_techniqueCommon = new ColladaObjectElement<Core.ColladaTechniqueCommon>());
			Fields.Add(_technique = new ColladaObjectElementList<Core.ColladaTechnique>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _techniqueCommon));
		}
Пример #9
0
		public ColladaPolyPH() : base(Enums.ColladaElementType.Undefined)
		{
			Fields.Add(_p = new ColladaObjectElement<ColladaValueArray<uint>>());
			Fields.Add(_h = new ColladaObjectElementList<ColladaValueArray<uint>>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _p));
			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _h));
			ValidationTests.Add(new ColladaListMinCount<ColladaValueArray<uint>>(Enums.ColladaElementType.All, _h, 1));
		}
Пример #10
0
		public ColladaMaterial() : base(Enums.ColladaElementType.Fx_Material)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<Core.ColladaAsset>());
			Fields.Add(_instanceEffect = new ColladaObjectElement<ColladaInstanceEffect>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _instanceEffect));
		}
Пример #11
0
		public ColladaSampler() : base(Enums.ColladaElementType.Core_Sampler)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaSampler>>(""));
			Fields.Add(_input = new ColladaObjectElementList<ColladaInputUnshared>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _input));
			ValidationTests.Add(new ColladaListMinCount<ColladaInputUnshared>(Enums.ColladaElementType.All, _input, 1));
			ValidationTests.Add(new ColladaListHasValue<ColladaInputUnshared, Enums.ColladaInputSharedSemantic>(Enums.ColladaElementType.All,
				_input, "Semantic", Enums.ColladaInputSharedSemantic.INTERPOLATION));
		}
Пример #12
0
		public ColladaAccessor() : base(Enums.ColladaElementType.Core_Accessor)
		{
			Fields.Add(_count = new ColladaObjectAttribute<uint>(0));
			Fields.Add(_offset = new ColladaObjectAttribute<uint>(0));
			Fields.Add(_source = new ColladaObjectAttribute<string>(""));
			Fields.Add(_param = new ColladaObjectElementList<ColladaParam>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _source));
			ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _source));
		}
Пример #13
0
		public ColladaJoints() : base(Enums.ColladaElementType.Core_Joints)
		{
			Fields.Add(_input = new ColladaObjectElementList<ColladaInputUnshared>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _input));
			ValidationTests.Add(new ColladaListMinCount<ColladaInputUnshared>(Enums.ColladaElementType.All, _input, 2));
			ValidationTests.Add(new ColladaListHasValue<ColladaInputUnshared, Enums.ColladaInputSharedSemantic>(Enums.ColladaElementType.All,
				_input, "Semantic", Enums.ColladaInputSharedSemantic.JOINT));
		}
Пример #14
0
		public ColladaInstanceNode() : base(Enums.ColladaElementType.Core_InstanceNode)
		{
			Fields.Add(_sid = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_url = new ColladaObjectAttribute<string>(""));
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _url));
			ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _url));
		}
Пример #15
0
		public ColladaCamera() : base(Enums.ColladaElementType.Core_Camera)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_optics = new ColladaObjectElement<ColladaOptics>());
			Fields.Add(_imager = new ColladaObjectElement<ColladaImager>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

		}
		public ColladaLibraryEffects() : base(Enums.ColladaElementType.Fx_LibraryEffects)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaLibraryEffects>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_asset = new ColladaObjectElement<Core.ColladaAsset>());
			Fields.Add(_effect = new ColladaObjectElementList<ColladaEffect>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _effect));
			ValidationTests.Add(new ColladaListMinCount<ColladaEffect>(Enums.ColladaElementType.All, _effect, 1));
		}
        public ColladaLibraryEffects() : base(Enums.ColladaElementType.Fx_LibraryEffects)
        {
            Fields.Add(_id     = new ColladaObjectAttribute <ColladaID <ColladaLibraryEffects> >(""));
            Fields.Add(_name   = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset  = new ColladaObjectElement <Core.ColladaAsset>());
            Fields.Add(_effect = new ColladaObjectElementList <ColladaEffect>());
            Fields.Add(_extra  = new ColladaObjectElementList <Core.ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _effect));
            ValidationTests.Add(new ColladaListMinCount <ColladaEffect>(Enums.ColladaElementType.All, _effect, 1));
        }
Пример #18
0
		public ColladaLibraryMaterials() : base(Enums.ColladaElementType.Fx_LibraryMaterials)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<Core.ColladaAsset>());
			Fields.Add(_material = new ColladaObjectElementList<ColladaMaterial>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _material));
			ValidationTests.Add(new ColladaListMinCount<ColladaMaterial>(Enums.ColladaElementType.All, _material, 1));
		}
Пример #19
0
        public ColladaLibraryGeometries() : base(Enums.ColladaElementType.Core_LibraryGeometries)
        {
            Fields.Add(_id       = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name     = new ColladaObjectAttribute <string>(""));
            Fields.Add(_asset    = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_geometry = new ColladaObjectElementList <ColladaGeometry>());
            Fields.Add(_extra    = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _geometry));
            ValidationTests.Add(new ColladaListMinCount <ColladaGeometry>(Enums.ColladaElementType.All, _geometry, 1));
        }
Пример #20
0
        public ColladaLibraryAnimations() : base(Enums.ColladaElementType.Core_LibraryAnimations)
        {
            Fields.Add(_id        = new ColladaObjectAttribute <ColladaID <ColladaLibraryAnimations> >(""));
            Fields.Add(_name      = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset     = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_animation = new ColladaObjectElementList <ColladaAnimation>());
            Fields.Add(_extra     = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _animation));
            ValidationTests.Add(new ColladaListMinCount <ColladaAnimation>(Enums.ColladaElementType.All, _animation, 1));
        }
Пример #21
0
		public ColladaProfileCOMMON() : base(Enums.ColladaElementType.Fx_ProfileCOMMON)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<Core.ColladaAsset>());
			Fields.Add(_image = new ColladaObjectElementList<ColladaImage>());
			Fields.Add(_newparam = new ColladaObjectElementList<ColladaNewparam>());
			Fields.Add(_technique = new ColladaObjectElement<ColladaTechnique>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _technique));
		}
		public ColladaLibraryGeometries() : base(Enums.ColladaElementType.Core_LibraryGeometries)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaLibraryGeometries>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_geometry = new ColladaObjectElementList<ColladaGeometry>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _geometry));
			ValidationTests.Add(new ColladaListMinCount<ColladaGeometry>(Enums.ColladaElementType.All, _geometry, 1));
		}
Пример #23
0
		public ColladaLight() : base(Enums.ColladaElementType.Core_Light)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_techniqueCommon = new ColladaObjectElement<ColladaTechniqueCommon>());
			Fields.Add(_technique = new ColladaObjectElementList<ColladaTechnique>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _techniqueCommon));
		}
Пример #24
0
		public ColladaExtra() : base(Enums.ColladaElementType.Core_Extra)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_type = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_technique = new ColladaObjectElementList<ColladaTechnique>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _technique));
			ValidationTests.Add(new ColladaListMinCount<ColladaTechnique>(Enums.ColladaElementType.All, _technique, 1));
		}
		public ColladaLibraryControllers() : base(Enums.ColladaElementType.Core_LibraryControllers)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaLibraryControllers>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_controller = new ColladaObjectElementList<ColladaController>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _controller));
			ValidationTests.Add(new ColladaListMinCount<ColladaController>(Enums.ColladaElementType.All, _controller, 1));
		}
Пример #26
0
        public ColladaProfileCOMMON() : base(Enums.ColladaElementType.Fx_ProfileCOMMON)
        {
            Fields.Add(_id        = new ColladaObjectAttribute <ColladaID <ColladaProfileCOMMON> >(""));
            Fields.Add(_asset     = new ColladaObjectElement <Core.ColladaAsset>());
            Fields.Add(_image     = new ColladaObjectElementList <ColladaImage>());
            Fields.Add(_newparam  = new ColladaObjectElementList <ColladaNewparam>());
            Fields.Add(_technique = new ColladaObjectElement <ColladaTechnique>());
            Fields.Add(_extra     = new ColladaObjectElementList <Core.ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _technique));
        }
        public ColladaLibraryControllers() : base(Enums.ColladaElementType.Core_LibraryControllers)
        {
            Fields.Add(_id         = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name       = new ColladaObjectAttribute <string>(""));
            Fields.Add(_asset      = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_controller = new ColladaObjectElementList <ColladaController>());
            Fields.Add(_extra      = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _controller));
            ValidationTests.Add(new ColladaListMinCount <ColladaController>(Enums.ColladaElementType.All, _controller, 1));
        }
Пример #28
0
        public ColladaVisualScene() : base(Enums.ColladaElementType.Core_VisualScene)
        {
            Fields.Add(_id    = new ColladaObjectAttribute <ColladaID <ColladaVisualScene> >(""));
            Fields.Add(_name  = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_node  = new ColladaObjectElementList <ColladaNode>());
            Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _node));
            ValidationTests.Add(new ColladaListMinCount <ColladaNode>(Enums.ColladaElementType.All, _node, 1));
        }
Пример #29
0
		public ColladaLibraryCameras() : base(Enums.ColladaElementType.Core_LibraryCameras)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_camera = new ColladaObjectElementList<ColladaCamera>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _camera));
			ValidationTests.Add(new ColladaListMinCount<ColladaCamera>(Enums.ColladaElementType.All, _camera, 1));
		}
		public ColladaLibraryAnimations() : base(Enums.ColladaElementType.Core_LibraryAnimations)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaLibraryAnimations>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_animation = new ColladaObjectElementList<ColladaAnimation>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _animation));
			ValidationTests.Add(new ColladaListMinCount<ColladaAnimation>(Enums.ColladaElementType.All, _animation, 1));
		}
Пример #31
0
		public ColladaSpline() : base(Enums.ColladaElementType.Core_Spline)
		{
			Fields.Add(_closed = new ColladaObjectAttribute<bool>(false));
			Fields.Add(_source = new ColladaObjectElementList<ColladaSource>());
			Fields.Add(_controlVertices = new ColladaObjectElement<ColladaControlVertices>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _source));
			ValidationTests.Add(new ColladaListMinCount<ColladaSource>(Enums.ColladaElementType.All, _source, 1));
			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _controlVertices));
		}
Пример #32
0
		public ColladaVisualScene() : base(Enums.ColladaElementType.Core_VisualScene)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaVisualScene>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_node = new ColladaObjectElementList<ColladaNode>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _node));
			ValidationTests.Add(new ColladaListMinCount<ColladaNode>(Enums.ColladaElementType.All, _node, 1));
		}
        public ColladaInstanceController() : base(Enums.ColladaElementType.Core_InstanceController)
        {
            Fields.Add(_sid          = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name         = new ColladaObjectAttribute <string>(""));
            Fields.Add(_url          = new ColladaObjectAttribute <string>(""));
            Fields.Add(_skeleton     = new ColladaObjectElementList <ColladaSkeleton>());
            Fields.Add(_bindMaterial = new ColladaObjectElementList <Fx.ColladaBindMaterial>());
            Fields.Add(_extra        = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _url));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _url));
        }
        public ColladaVertexWeights() : base(Enums.ColladaElementType.Core_VertexWeights)
        {
            Fields.Add(_input  = new ColladaObjectElementList <ColladaInputShared>());
            Fields.Add(_vCount = new ColladaObjectElement <ColladaValueArray <int> >());
            Fields.Add(_v      = new ColladaObjectElement <ColladaValueArray <int> >());
            Fields.Add(_extra  = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _input));
            ValidationTests.Add(new ColladaListMinCount <ColladaInputShared>(Enums.ColladaElementType.All, _input, 2));
            ValidationTests.Add(new ColladaListHasValue <ColladaInputShared, Enums.ColladaInputSharedSemantic>(Enums.ColladaElementType.All,
                                                                                                               _input, "Semantic", Enums.ColladaInputSharedSemantic.JOINT));
        }
Пример #35
0
        public ColladaTargets() : base(Enums.ColladaElementType.Core_Targets)
        {
            Fields.Add(_input = new ColladaObjectElementList <ColladaInputUnshared>());
            Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _input));
            ValidationTests.Add(new ColladaListMinCount <ColladaInputUnshared>(Enums.ColladaElementType.All, _input, 2));
            ValidationTests.Add(new ColladaListHasValue <ColladaInputUnshared, Enums.ColladaInputSharedSemantic>(Enums.ColladaElementType.All,
                                                                                                                 _input, "Semantic", Enums.ColladaInputSharedSemantic.MORPH_TARGET));
            ValidationTests.Add(new ColladaListHasValue <ColladaInputUnshared, Enums.ColladaInputSharedSemantic>(Enums.ColladaElementType.All,
                                                                                                                 _input, "Semantic", Enums.ColladaInputSharedSemantic.MORPH_WEIGHT));
        }
		public ColladaInstanceController() : base(Enums.ColladaElementType.Core_InstanceController)
		{
			Fields.Add(_sid = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_url = new ColladaObjectAttribute<string>(""));
			Fields.Add(_skeleton = new ColladaObjectElementList<ColladaSkeleton>());
			Fields.Add(_bindMaterial = new ColladaObjectElementList<Fx.ColladaBindMaterial>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _url));
			ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _url));
		}
        public ColladaInstanceEffect() : base(Enums.ColladaElementType.Fx_InstanceEffect)
        {
            Fields.Add(_sid           = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name          = new ColladaObjectAttribute <string>(""));
            Fields.Add(_url           = new ColladaObjectAttribute <string>(""));
            Fields.Add(_techniqueHint = new ColladaObjectElementList <ColladaTechniqueHint>());
            Fields.Add(_setparam      = new ColladaObjectElementList <ColladaSetparam>());
            Fields.Add(_extra         = new ColladaObjectElementList <Core.ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _sid));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _sid));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _url));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _url));
        }
Пример #38
0
        public ColladaAnimationClip() : base(Enums.ColladaElementType.Core_AnimationClip)
        {
            Fields.Add(_id    = new ColladaObjectAttribute <string>(""));
            Fields.Add(_start = new ColladaObjectAttribute <double>(0.0));
            Fields.Add(_end   = new ColladaObjectAttribute <double>(0.0));
            Fields.Add(_name  = new ColladaObjectAttribute <string>(""));

            Fields.Add(_asset             = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_instanceAnimation = new ColladaObjectElementList <ColladaInstanceAnimation>());
            Fields.Add(_extra             = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _instanceAnimation));
            ValidationTests.Add(new ColladaListMinCount <ColladaInstanceAnimation>(Enums.ColladaElementType.All, _instanceAnimation, 1));
        }
        private void AddToElementList <T>(T element, ColladaObjectElementList <T> list)
            where T : new()
        {
            if (element == null)
            {
                return;
            }

            if (list.Value == null)
            {
                list.Value = new List <T>();
            }
            list.Value.Add(element);
        }
        private void AddRangeToElementList <T>(List <T> elements, ColladaObjectElementList <T> list)
            where T : new()
        {
            if (elements == null)
            {
                return;
            }

            if (list.Value == null)
            {
                list.Value = new List <T>();
            }
            list.Value.AddRange(elements);
        }
Пример #41
0
		public ColladaImage() : base(Enums.ColladaElementType.Fx_Image)
		{
			Fields.Add(_id = new ColladaObjectAttribute<ColladaID<ColladaImage>>(""));
			Fields.Add(_name = new ColladaObjectAttribute<ColladaNCName>(""));
			Fields.Add(_format = new ColladaObjectAttribute<string>(""));
			Fields.Add(_height = new ColladaObjectAttribute<uint>(0));
			Fields.Add(_width = new ColladaObjectAttribute<uint>(0));
			Fields.Add(_depth = new ColladaObjectAttribute<uint>(1));
			Fields.Add(_asset = new ColladaObjectElement<Core.ColladaAsset>());
			Fields.Add(_initFrom = new ColladaObjectElement<ColladaInitFrom>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _initFrom));
		}
Пример #42
0
        public ColladaMorph() : base(Enums.ColladaElementType.Core_Morph)
        {
            Fields.Add(_sourceAttrib = new ColladaObjectAttribute <string>(""));
            Fields.Add(_method       = new ColladaObjectAttribute <Enums.ColladaMorphMethodType>(Enums.ColladaMorphMethodType.NORMALIZED));
            Fields.Add(_source       = new ColladaObjectElementList <ColladaSource>());
            Fields.Add(_targets      = new ColladaObjectElement <ColladaTargets>());
            Fields.Add(_extra        = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _sourceAttrib));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _sourceAttrib));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _source));
            ValidationTests.Add(new ColladaListMinCount <ColladaSource>(Enums.ColladaElementType.All, _source, 2));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _targets));
        }
Пример #43
0
		public ColladaInstanceEffect() : base(Enums.ColladaElementType.Fx_InstanceEffect)
		{
			Fields.Add(_sid = new ColladaObjectAttribute<string>(""));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));
			Fields.Add(_url = new ColladaObjectAttribute<string>(""));
			Fields.Add(_techniqueHint = new ColladaObjectElementList<ColladaTechniqueHint>());
			Fields.Add(_setparam = new ColladaObjectElementList<ColladaSetparam>());
			Fields.Add(_extra = new ColladaObjectElementList<Core.ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _sid));
			ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _sid));
			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _url));
			ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _url));
		}
Пример #44
0
        public ColladaImage() : base(Enums.ColladaElementType.Fx_Image)
        {
            Fields.Add(_id       = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name     = new ColladaObjectAttribute <string>(""));
            Fields.Add(_format   = new ColladaObjectAttribute <string>(""));
            Fields.Add(_height   = new ColladaObjectAttribute <uint>(0));
            Fields.Add(_width    = new ColladaObjectAttribute <uint>(0));
            Fields.Add(_depth    = new ColladaObjectAttribute <uint>(1));
            Fields.Add(_asset    = new ColladaObjectElement <Core.ColladaAsset>());
            Fields.Add(_initFrom = new ColladaObjectElement <ColladaInitFrom>());
            Fields.Add(_extra    = new ColladaObjectElementList <Core.ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _initFrom));
        }
Пример #45
0
		public ColladaAnimationClip() : base(Enums.ColladaElementType.Core_AnimationClip)
		{
			Fields.Add(_id = new ColladaObjectAttribute<string>(""));
			Fields.Add(_start = new ColladaObjectAttribute<double>(0.0));
			Fields.Add(_end = new ColladaObjectAttribute<double>(0.0));
			Fields.Add(_name = new ColladaObjectAttribute<string>(""));

			Fields.Add(_asset = new ColladaObjectElement<ColladaAsset>());
			Fields.Add(_instanceAnimation = new ColladaObjectElementList<ColladaInstanceAnimation>());
			Fields.Add(_extra = new ColladaObjectElementList<ColladaExtra>());

			ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _instanceAnimation));
			ValidationTests.Add(new ColladaListMinCount<ColladaInstanceAnimation>(Enums.ColladaElementType.All, _instanceAnimation, 1));
		}
Пример #46
0
        public ColladaVertices() : base(Enums.ColladaElementType.Core_Vertices)
        {
            Fields.Add(_id    = new ColladaObjectAttribute <ColladaID <ColladaVertices> >(""));
            Fields.Add(_name  = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_input = new ColladaObjectElementList <ColladaInputUnshared>());
            Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _id));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _id));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _input));
            ValidationTests.Add(new ColladaListMinCount <ColladaInputUnshared>(Enums.ColladaElementType.All, _input, 1));
            ValidationTests.Add(new ColladaListHasValue <ColladaInputUnshared, Enums.ColladaInputSharedSemantic>(Enums.ColladaElementType.All,
                                                                                                                 _input, "Semantic", Enums.ColladaInputSharedSemantic.POSITION));
        }
Пример #47
0
        public ColladaInstanceMaterial() : base(Enums.ColladaElementType.Fx_InstanceMaterial)
        {
            Fields.Add(_sid             = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name            = new ColladaObjectAttribute <string>(""));
            Fields.Add(_target          = new ColladaObjectAttribute <string>(""));
            Fields.Add(_symbol          = new ColladaObjectAttribute <string>(""));
            Fields.Add(_bind            = new ColladaObjectElementList <ColladaBind>());
            Fields.Add(_bindVertexInput = new ColladaObjectElementList <ColladaBindVertexInput>());
            Fields.Add(_extra           = new ColladaObjectElementList <Core.ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _target));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _target));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _symbol));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _symbol));
        }
        public ColladaAsset() : base(Enums.ColladaElementType.Core_Asset)
        {
            Fields.Add(_contributor = new ColladaObjectElementList <ColladaContributor>());
            Fields.Add(_created     = new ColladaObjectValue <DateTime>());
            Fields.Add(_keywords    = new ColladaObjectValue <string>(""));
            Fields.Add(_modified    = new ColladaObjectValue <DateTime>());
            Fields.Add(_revision    = new ColladaObjectValue <string>(""));
            Fields.Add(_subject     = new ColladaObjectValue <string>(""));
            Fields.Add(_title       = new ColladaObjectValue <string>(""));
            Fields.Add(_unit        = new ColladaObjectElement <ColladaAssetUnit>());
            Fields.Add(_upAxis      = new ColladaObjectValue <Enums.ColladaUpAxisEnum>(Enums.ColladaUpAxisEnum.Y_UP));

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _contributor));
            ValidationTests.Add(new ColladaListMinCount <ColladaContributor>(Enums.ColladaElementType.All, _contributor, 1));
        }
Пример #49
0
        public ColladaEffect() : base(Enums.ColladaElementType.Fx_Effect)
        {
            Fields.Add(_id            = new ColladaObjectAttribute <ColladaID <ColladaEffect> >(""));
            Fields.Add(_name          = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset         = new ColladaObjectElement <Core.ColladaAsset>());
            Fields.Add(_annotate      = new ColladaObjectElementList <ColladaAnnotate>());
            Fields.Add(_image         = new ColladaObjectElementList <ColladaImage>());
            Fields.Add(_newparam      = new ColladaObjectElementList <ColladaNewparam>());
            Fields.Add(_profileCOMMON = new ColladaObjectElementList <ColladaProfileCOMMON>());
            Fields.Add(_extra         = new ColladaObjectElementList <Core.ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _id));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _id));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _profileCOMMON));
            ValidationTests.Add(new ColladaListMinCount <ColladaProfileCOMMON>(Enums.ColladaElementType.All, _profileCOMMON, 1));
        }
Пример #50
0
        public ColladaSkin() : base(Enums.ColladaElementType.Core_Skin)
        {
            Fields.Add(_sourceAttrib    = new ColladaObjectAttribute <string>(""));
            Fields.Add(_bindShapeMatrix = new ColladaObjectElement <ColladaValueArray <float> >());
            Fields.Add(_source          = new ColladaObjectElementList <ColladaSource>());
            Fields.Add(_joints          = new ColladaObjectElement <ColladaJoints>());
            Fields.Add(_vertexWeights   = new ColladaObjectElement <ColladaVertexWeights>());
            Fields.Add(_extra           = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _sourceAttrib));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _sourceAttrib));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _source));
            ValidationTests.Add(new ColladaListMinCount <ColladaSource>(Enums.ColladaElementType.All, _source, 3));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _joints));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _vertexWeights));
        }
Пример #51
0
        public ColladaMesh() : base(Enums.ColladaElementType.Core_Mesh)
        {
            Fields.Add(_source     = new ColladaObjectElementList <ColladaSource>());
            Fields.Add(_vertices   = new ColladaObjectElement <ColladaVertices>());
            Fields.Add(_lines      = new ColladaObjectElementList <ColladaLines>());
            Fields.Add(_linestrips = new ColladaObjectElementList <ColladaLinestrips>());
            Fields.Add(_polygons   = new ColladaObjectElementList <ColladaPolygons>());
            Fields.Add(_polylist   = new ColladaObjectElementList <ColladaPolylist>());
            Fields.Add(_triangles  = new ColladaObjectElementList <ColladaTriangles>());
            Fields.Add(_trifans    = new ColladaObjectElementList <ColladaTrifans>());
            Fields.Add(_tristrips  = new ColladaObjectElementList <ColladaTristrips>());
            Fields.Add(_extra      = new ColladaObjectElementList <ColladaExtra>());

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _source));
            ValidationTests.Add(new ColladaListMinCount <ColladaSource>(Enums.ColladaElementType.All, _source, 1));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _vertices));
        }
Пример #52
0
        public ColladaController() : base(Enums.ColladaElementType.Core_Controller)
        {
            Fields.Add(_id    = new ColladaObjectAttribute <ColladaID <ColladaController> >(""));
            Fields.Add(_name  = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_skin  = new ColladaObjectElement <ColladaSkin>());
            Fields.Add(_morph = new ColladaObjectElement <ColladaMorph>());
            Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());

            List <ColladaObject> mutually_exclusive = new List <ColladaObject>();

            mutually_exclusive.Add(_skin);
            mutually_exclusive.Add(_morph);

            ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.All, mutually_exclusive));
            ValidationTests.Add(new ColladaOneRequired(Enums.ColladaElementType.All, mutually_exclusive));
        }
 public ColladaNode() : base(Enums.ColladaElementType.Core_Node)
 {
     Fields.Add(_id    = new ColladaObjectAttribute <string>(""));
     Fields.Add(_name  = new ColladaObjectAttribute <string>(""));
     Fields.Add(_sid   = new ColladaObjectAttribute <string>(""));
     Fields.Add(_type  = new ColladaObjectAttribute <Enums.ColladaNodeType>(Enums.ColladaNodeType.NODE));
     Fields.Add(_layer = new ColladaObjectAttribute <string>(""));
     Fields.Add(_asset = new ColladaObjectElement <ColladaAsset>());
     Fields.Add(_transformationElements = new ColladaObjectElementList <ColladaElement>());
     Fields.Add(_instanceCamera         = new ColladaObjectElementList <ColladaInstanceCamera>());
     Fields.Add(_instanceController     = new ColladaObjectElementList <ColladaInstanceController>());
     Fields.Add(_instanceGeometry       = new ColladaObjectElementList <ColladaInstanceGeometry>());
     Fields.Add(_instanceLight          = new ColladaObjectElementList <ColladaInstanceLight>());
     Fields.Add(_instanceNode           = new ColladaObjectElementList <ColladaInstanceNode>());
     Fields.Add(_node  = new ColladaObjectElementList <ColladaNode>());
     Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());
 }
        public ColladaGeometry() : base(Enums.ColladaElementType.Core_Geometry)
        {
            Fields.Add(_id     = new ColladaObjectAttribute <string>(""));
            Fields.Add(_name   = new ColladaObjectAttribute <string>(""));
            Fields.Add(_asset  = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_mesh   = new ColladaObjectElement <ColladaMesh>());
            Fields.Add(_spline = new ColladaObjectElement <ColladaSpline>());
            Fields.Add(_extra  = new ColladaObjectElementList <ColladaExtra>());

            List <ColladaObject> mutually_exclusive = new List <ColladaObject>();

            mutually_exclusive.Add(_mesh);
            mutually_exclusive.Add(_spline);

            ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.All, mutually_exclusive));
            ValidationTests.Add(new ColladaOneRequired(Enums.ColladaElementType.All, mutually_exclusive));
        }
Пример #55
0
        public ColladaTechniqueCommon() : base(Enums.ColladaElementType.Core_TechniqueCommon)
        {
            Fields.Add(_accessor         = new ColladaObjectElement <ColladaAccessor>());
            Fields.Add(_instanceMaterial = new ColladaObjectElementList <Fx.ColladaInstanceMaterial>());
            Fields.Add(_ambient          = new ColladaObjectElement <ColladaAmbient>());
            Fields.Add(_directional      = new ColladaObjectElement <ColladaDirectional>());
            Fields.Add(_point            = new ColladaObjectElement <ColladaPoint>());
            Fields.Add(_spot             = new ColladaObjectElement <ColladaSpot>());
            Fields.Add(_orthographic     = new ColladaObjectElement <ColladaOrthographic>());
            Fields.Add(_perspective      = new ColladaObjectElement <ColladaPerspective>());

            List <ColladaObject> required_for_light = new List <ColladaObject>();

            required_for_light.Add(_ambient);
            required_for_light.Add(_directional);
            required_for_light.Add(_point);
            required_for_light.Add(_spot);

            List <ColladaObject> mutually_exclusive_for_light = new List <ColladaObject>();

            mutually_exclusive_for_light.Add(_ambient);
            mutually_exclusive_for_light.Add(_directional);
            mutually_exclusive_for_light.Add(_point);
            mutually_exclusive_for_light.Add(_spot);

            List <ColladaObject> required_for_optics = new List <ColladaObject>();

            required_for_optics.Add(_orthographic);
            required_for_optics.Add(_perspective);

            List <ColladaObject> mutually_exclusive_for_optics = new List <ColladaObject>();

            mutually_exclusive_for_optics.Add(_orthographic);
            mutually_exclusive_for_optics.Add(_perspective);

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.Fx_BindMaterial, _instanceMaterial));
            ValidationTests.Add(new ColladaListMinCount <Fx.ColladaInstanceMaterial>(Enums.ColladaElementType.Fx_BindMaterial, _instanceMaterial, 1));
            ValidationTests.Add(new ColladaOneRequired(Enums.ColladaElementType.Core_Light, required_for_light));
            ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.Core_Light, mutually_exclusive_for_light));
            ValidationTests.Add(new ColladaOneRequired(Enums.ColladaElementType.Core_Optics, required_for_optics));
            ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.Core_Optics, mutually_exclusive_for_optics));
            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.Core_Source, _accessor));
        }
Пример #56
0
        public ColladaSource() : base(Enums.ColladaElementType.Core_Source)
        {
            Fields.Add(_id              = new ColladaObjectAttribute <ColladaID <ColladaSource> >(""));
            Fields.Add(_name            = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset           = new ColladaObjectElement <ColladaAsset>());
            Fields.Add(_idrefArray      = new ColladaObjectElement <ColladaIDREFArray>());
            Fields.Add(_nameArray       = new ColladaObjectElement <ColladaNameArray>());
            Fields.Add(_boolArray       = new ColladaObjectElement <ColladaBoolArray>());
            Fields.Add(_floatArray      = new ColladaObjectElement <ColladaFloatArray>());
            Fields.Add(_intArray        = new ColladaObjectElement <ColladaIntArray>());
            Fields.Add(_techniqueCommon = new ColladaObjectElement <ColladaTechniqueCommon>());
            Fields.Add(_technique       = new ColladaObjectElementList <ColladaTechnique>());

            List <ColladaObject> mutually_exclusive = new List <ColladaObject>();

            mutually_exclusive.Add(_idrefArray);
            mutually_exclusive.Add(_nameArray);
            mutually_exclusive.Add(_boolArray);
            mutually_exclusive.Add(_floatArray);
            mutually_exclusive.Add(_intArray);

            ValidationTests.Add(new ColladaMutuallyExclusive(Enums.ColladaElementType.All, mutually_exclusive));
        }
Пример #57
0
        public ColladaTechnique() : base(Enums.ColladaElementType.Fx_Technique)
        {
            Fields.Add(_id       = new ColladaObjectAttribute <ColladaID <ColladaTechnique> >(""));
            Fields.Add(_sid      = new ColladaObjectAttribute <ColladaNCName>(""));
            Fields.Add(_asset    = new ColladaObjectElement <Core.ColladaAsset>());
            Fields.Add(_newparam = new ColladaObjectElementList <ColladaNewparam>());
            Fields.Add(_image    = new ColladaObjectElementList <ColladaImage>());
            Fields.Add(_blinn    = new ColladaObjectElement <ColladaBlinn>());
            Fields.Add(_constant = new ColladaObjectElement <ColladaConstant>());
            Fields.Add(_lambert  = new ColladaObjectElement <ColladaLambert>());
            Fields.Add(_phong    = new ColladaObjectElement <ColladaPhong>());
            Fields.Add(_extra    = new ColladaObjectElementList <Core.ColladaExtra>());

            List <ColladaObject> required = new List <ColladaObject>();

            required.Add(_blinn);
            required.Add(_constant);
            required.Add(_lambert);
            required.Add(_phong);

            ValidationTests.Add(new ColladaIsNull(Enums.ColladaElementType.All, _sid));
            ValidationTests.Add(new ColladaEmptyString(Enums.ColladaElementType.All, _sid));
            ValidationTests.Add(new ColladaOneRequired(Enums.ColladaElementType.All, required));
        }
 /// <summary>
 /// Validation test constructor
 /// </summary>
 /// <param name="valid_parent">The parent collada element type to run this test for. Set to "All" to run regardless of parent type</param>
 /// <param name="field">The field to run the test on</param>
 /// <param name="minimum_count">The minimum number of elements the list must have</param>
 public ColladaListMinCount(Enums.ColladaElementType valid_parent, ColladaObjectElementList <T> field, int minimum_count)
     : base(valid_parent)
 {
     testField    = field;
     minimumCount = minimum_count;
 }
 public ColladaScene() : base(Enums.ColladaElementType.Core_Scene)
 {
     Fields.Add(_instanceVisualScene = new ColladaObjectElement <ColladaInstanceVisualScene>());
     Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());
 }
 public ColladaTristrips() : base(Enums.ColladaElementType.Core_Tristrips)
 {
     Fields.Add(_input = new ColladaObjectElementList <ColladaInputShared>());
     Fields.Add(_p     = new ColladaObjectElementList <ColladaValueArray <int> >());
     Fields.Add(_extra = new ColladaObjectElementList <ColladaExtra>());
 }