using System;
using System.Xml;
using CDAColladaNET.Import.Attributes;
// Copyright (c) 2005 Accelerated Pictures, LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
namespace ColladaNET.Import{
public class NamedNode : ColladaNode , INamedNode
{
#region Constants
private static readonly string kName = "@name";
private static readonly string kId = "@id";
#endregion
#region Accessors
#region Id
private string mId;
private bool mbId = false;
public string Id
{
get
{
if ( mbId == false )
{
mId = XmlSource.SelectSingleNode( kId , Collada.NS ).Value;
mbId = true;
}
return mId;
}
}
#endregion
#region Name
private string mName;
private bool mbName = false;
public string Name
{
get
{
if ( mbName == false )
{
XmlNode optional = XmlSource.SelectSingleNode( kName , Collada.NS );
if ( optional == null )
{
mName = Id;
}
else
{
mName = optional.Value;
}
mbName = true;
}
return mName;
}
}
#endregion
#endregion
#region Constructors
public NamedNode( XmlNode source ) : base( source )
{
}
#endregion
}
}
|