/* MOD_V2.0 * Copyright (c) 2012 OpenDA Association * All rights reserved. * * This file is part of OpenDA. * * OpenDA is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * OpenDA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with OpenDA. If not, see . */ using System; using System.Collections.Generic; namespace OpenDA.DotNet.Interfaces { /// /// TreeVector /// public interface ITreeVector : IVector { /// /// Get a TreeVector's identifier. /// The TreeVector's identifier. /// String Id { get; } /// /// Get a TreeVector's caption. /// The TreeVector's caption (i.e. descriptive name) /// String Caption { get; } /// /// Get a TreeVector's description. /// The TreeVector's extensive description. /// String Description { get; } /// /// Get the identifiers of the children /// the sub-treevector ids /// IList SubTreeVectorIds { get; } /// /// Get a child in the tree vector, the child is known to be a SubTreeVector /// (otherwise a run time exception will be thrown). /// identifier of the child, may contain "/"'s to specify full path in tree. /// Child SubTreeVector with identifier id. /// ITreeVector GetSubTreeVector(String id); /// /// Get the number of dimensions in the TreeVector. /// Returns null if there are no dimensions defined, returns the array with dimensions /// otherwise. The length of the returned array is equal to the number of dimensions /// IDimensionIndex[] DimensionIndices { get; } /// /// Should this part of the tree vector be excluded from the vector of is parent? /// Returns true if this part should be excluded. /// bool ExcludeFromVector(); /// /// Clone (i.e. duplicate) a TreeVector. ///

/// Note: Duplication means that a new vector is created that is identical to /// the current vector. All data in the current vector is also copied. /// /// A deep copy of the present vector. ///

new ITreeVector Clone(); } }