1
edit
Changes
→Parser Skeleton
==Parser Skeleton==
The following bit of code is a skeleton which you can use as an aid to help you write your own parserfor XB PointStream.
<pre>
var Your_Parser_Name = (function() {
/** XBPS will create an instance of your parser and pass in an object with three named properties:
start - must occur exactly once. Has one argumentWhen you call this function, the pass in a reference to your parser itself end - must occur exactly once. Has When you call this function, pass in a reference to your parser parse - may occur one or many times. When you call this function, pass in a reference to your parser as the first argument, and an object as the parser itselfsecond argument.
var attributes = {};
attributes["ps_Vertex"] = vertexArrayvertsArray; attributes["ps_Color"] = colorsArraycolsArray; parse(thisParser, attributes); PointStream will create buffers using these values and start rendering them using the built-in shaders. Notice the variable names have been qualified with "ps_". If you are using the XB PointStream built-in shaders, you will need to use these exact variable names.
*/
function Your_Parser_Name(config) {
/*Returns the version of this parser.*/
this.__defineGetter__("version", function(){ return /*!!*/; });
/*Get the number of parsed points so far.*/
this.__defineGetter__("numParsedPoints", function(){ return /*!!*/; });
/*Get the total number of points in the point cloud.*/
this.__defineGetter__("numTotalPoints", function(){ return /*!!*/; });
/*Returns the progress of downloading the point cloud between zero and one.*/
this.__defineGetter__("progress", function(){ return /*!!*/; });
/*Returns the file size of the resource in bytes.*/
this.__defineGetter__("fileSize", function(){ return /*!!*/; });
/** @param Path = path Path to the resource */ this.load = function(path){ /*!!*/ };
}
return Your_Parser_Name;