Ejemplo n.º 1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Constructor. </summary>
        ///
        /// <param name="extractionData">   Data for the extraction. </param>
        public ExtractionJobGbxmodel(IExtractionData extractionData)
        {
            mColladaSettings     = extractionData.Get <IColladaSettings>();
            mModelExtractionData = extractionData.Get <ModelExtractionData>();

            JobID   = mModelExtractionData.TagFile.AbsoluteTagPath;
            JobName = mModelExtractionData.TagFile.TagNameWithExtension;
        }
		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>   Constructor. </summary>
		///
		/// <param name="extractionData">   Data for the extraction. </param>
		public ExtractionJobGbxmodel(IExtractionData extractionData)
		{
			mColladaSettings = extractionData.Get<IColladaSettings>();
			mModelExtractionData = extractionData.Get<ModelExtractionData>();

			JobID = mModelExtractionData.TagFile.AbsoluteTagPath;
			JobName = mModelExtractionData.TagFile.TagNameWithExtension;
		}
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>	Gets an extraction job. </summary>
        ///
        /// <exception cref="ArgumentException">
        ///     Thrown when one or more arguments have unsupported or illegal values.
        /// </exception>
        ///
        /// <param name="extension">	    The files extension. </param>
        /// <param name="extractionData">	Information describing the extraction. </param>
        ///
        /// <returns>	The extraction job. </returns>
        public IExtractionJob GetExtractionJob(string extension, IExtractionData extractionData)
        {
            var trimmedExtension = extension.TrimStart('.');

            if (!mExtractorDictionary.ContainsKey(trimmedExtension))
            {
                throw new ArgumentException("Attempted to get a non existant extractor job");
            }

            return(mExtractorDictionary[trimmedExtension].mExtractorJobConstructor.Invoke(new object[] { extractionData }) as IExtractionJob);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>	Adds a job to the extraction queue</summary>
        ///
        /// <param name="modelFile">	    The path of the model tag. </param>
        /// <param name="extractionData">	The extraction data to use. </param>
        public void AddJob(string modelFile, IExtractionData extractionData)
        {
            // Clone the extraction data, then override the model extraction data values
            var clonedData          = extractionData.Clone() as IExtractionData;
            var modelExtractionData = clonedData.Get <ModelExtractionData>();

            var outputFile = GetOutputFile(modelExtractionData.TagsDirectory.AbsoluteFolder, modelExtractionData.DataDirectory.AbsoluteFolder, modelFile);

            var tagPath = new BlamTagPath(modelExtractionData.TagsDirectory.AbsoluteFolder);

            tagPath.SetPath(modelFile);

            modelExtractionData.TagFile    = tagPath;
            modelExtractionData.OutputFile = outputFile;

            // Add an extraction job to the extraction manager
            var modelExtractor = mExtractorFactory.GetExtractionJob(Path.GetExtension(modelFile), clonedData);

            mExtractionManager.Add(modelExtractor);
        }
Ejemplo n.º 5
0
		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Gets an extraction job. </summary>
		///
		/// <exception cref="ArgumentException">
		/// 	Thrown when one or more arguments have unsupported or illegal values.
		/// </exception>
		///
		/// <param name="extension">	 	The files extension. </param>
		/// <param name="extractionData">	Information describing the extraction. </param>
		///
		/// <returns>	The extraction job. </returns>
		public IExtractionJob GetExtractionJob(string extension, IExtractionData extractionData)
		{
			var trimmedExtension = extension.TrimStart('.');
			if (!mExtractorDictionary.ContainsKey(trimmedExtension))
			{
				throw new ArgumentException("Attempted to get a non existant extractor job");
			}

			return mExtractorDictionary[trimmedExtension].mExtractorJobConstructor.Invoke(new object[] { extractionData }) as IExtractionJob;
		}