📄 daeentity.as.svn-base
字号:
/*
* Copyright 2007 (c) Tim Knip, ascollada.org.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
package org.ascollada.core {
import org.ascollada.ASCollada;
import org.ascollada.namespaces.*;
import org.ascollada.utils.Logger;
import org.ascollada.utils.StringUtil;
/**
*
*/
public class DaeEntity {
/** */
public var id:String;
/** */
public var name:String;
/** */
public var sid:String;
/** */
public var asset:DaeAsset;
/** */
public var extras:Object;
/** */
public var async:Boolean;
/**
*
* @param node
*/
public function DaeEntity( node:XML = null, async:Boolean = false ) {
this.async = async;
if( node )
read( node );
}
/**
*
* @param node
* @param name
* @return
*/
public function getAttributeAsFloat( node:XML, name:String, defaultValue:Number = 0 ):Number {
var attr:String = getAttribute(node, name);
return (isNaN(parseFloat(attr)) ? defaultValue : parseFloat(attr));
}
/**
*
* @param node
* @param name
* @return
*/
public function getAttributeAsInt( node:XML, name:String, defaultValue:int = 0 ):int {
var attr:String = getAttribute(node, name);
return (isNaN(parseInt(attr, 10)) ? defaultValue : parseInt(attr, 10));
}
/**
*
* @param node
* @param name
* @param stripPound
* @return
*/
public function getAttribute( node:XML, name:String, stripPound:Boolean = true ):String {
var attr:XMLList = node.attribute(name);
var ret:String = attr.length() ? attr.toString() : "";
if( stripPound && ret.indexOf("#") == 0 )
ret = ret.split("#")[1];
return ret;
}
/**
*
* @param node
* @return
*/
public function getBools( node:XML ):Array {
var arr:Array = getStrings( node );
for( var i:int = 0; i < arr.length; i++ )
arr[i] = (arr[i] == "true" ? true : false);
return arr;
}
/**
*
* @param node
* @return
*/
public function getFloats( node:XML ):Array {
var arr:Array = getStrings( node );
for( var i:int = 0; i < arr.length; i++ )
arr[i] = parseFloat( StringUtil.trim(arr[i]) );
return arr;
}
/**
*
* @param node
* @return
*/
public function getInts( node:XML ):Array {
var arr:Array = getStrings( node );
for( var i:int = 0; i < arr.length; i++ )
arr[i] = parseInt( StringUtil.trim(arr[i]), 10 );
return arr;
}
/**
*
* @param node
* @return
*/
public function getStrings( node:XML ):Array {
return StringUtil.trim(node.text().toString()).split(/\s+/);
}
/**
*
* @param parent
* @param nodeName
* @return
*/
public function getNode( parent:XML, nodeName:String ):XML {
return parent.collada::[nodeName][0];
}
/**
*
* @param parent
* @param nodeName
* @return
*/
public function getNodeById( parent:XML, nodeName:String, id:String ):XML {
return parent..collada::[nodeName].(@[ASCollada.DAE_ID_ATTRIBUTE] == id)[0];
}
/**
*
* @param parent
* @return
*/
public function getNodeContent( parent:XML ):String {
return (parent ? parent.text().toString() : "");
}
/**
*
* @param parent
* @param nodeName
* @return
*/
public function getNodeList( parent:XML, nodeName:String ):XMLList {
return parent.collada::[nodeName];
}
/**
*
* @return
*/
public function read( node:XML ):void {
this.extras = new Object();
this.id = getAttribute(node, ASCollada.DAE_ID_ATTRIBUTE);
this.name = getAttribute(node, ASCollada.DAE_NAME_ATTRIBUTE);
this.sid = getAttribute(node, ASCollada.DAE_SID_ATTRIBUTE);
}
public function write( indent:String = "" ):String {
return indent;
}
public function writeSimpleEndElement( nodeName:String, indent:String = "" ):String {
return indent + '</' + nodeName + '>\n';
}
public function writeSimpleStartElement( nodeName:String, indent:String = "" ):String {
return indent + '<' + nodeName + '>\n';
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -