From 5529b334d22ba3b200dc6e44d7fed2bbfd6e2872 Mon Sep 17 00:00:00 2001
From: Yoshman29 <81191621+YoshiCrafter29@users.noreply.github.com>
Date: Sat, 10 Dec 2022 14:13:35 +0100
Subject: [PATCH] documentation
---
docs/doc.xml | 58216 ++++++++++++++--
pages/funkin/away3d/Flx3DView.html | 10 +
pages/funkin/away3d/index.html | 10 +
pages/funkin/cutscenes/Cutscene.html | 10 +
pages/funkin/cutscenes/MP4Handler.html | 10 +
pages/funkin/cutscenes/ScriptedCutscene.html | 10 +
pages/funkin/cutscenes/VideoCutscene.html | 10 +
pages/funkin/cutscenes/index.html | 10 +
pages/funkin/debug/AnimationDebug.html | 2 +-
pages/funkin/desktop/DesktopMain.html | 2 +-
pages/funkin/editors/CharacterEditor.html | 10 +
pages/funkin/editors/ChartingState.html | 2 +-
pages/funkin/editors/index.html | 2 +-
pages/funkin/game/Character.html | 2 +-
pages/funkin/game/ComboRating.html | 10 +
pages/funkin/game/GameOverSubstate.html | 2 +-
pages/funkin/game/Highscore.html | 2 +-
pages/funkin/game/Note.html | 2 +-
pages/funkin/game/PlayState.html | 2 +-
pages/funkin/game/SongScore.html | 10 +
pages/funkin/game/Stage.html | 2 +-
pages/funkin/game/Strum.html | 2 +-
pages/funkin/game/index.html | 2 +-
pages/funkin/index.html | 2 +-
pages/funkin/interfaces/IBeatReceiver.html | 2 +-
pages/funkin/menus/FreeplayJSON.html | 10 +
pages/funkin/menus/FreeplaySong.html | 10 +
pages/funkin/menus/FreeplaySonglist.html | 10 +
pages/funkin/menus/FreeplayState.html | 2 +-
pages/funkin/menus/GitarooPause.html | 2 +-
pages/funkin/menus/MainMenuState.html | 2 +-
pages/funkin/menus/MenuCharacter.html | 2 +-
pages/funkin/menus/MenuCharacterSprite.html | 10 +
pages/funkin/menus/MenuItem.html | 2 +-
pages/funkin/menus/ModSwitchMenu.html | 10 +
pages/funkin/menus/PauseSubState.html | 2 +-
pages/funkin/menus/SongMetadata.html | 10 +
pages/funkin/menus/StoryMenuState.html | 2 +-
pages/funkin/menus/TitleState.html | 2 +-
pages/funkin/menus/WeekData.html | 10 +
pages/funkin/menus/WeekSong.html | 10 +
pages/funkin/menus/index.html | 2 +-
pages/funkin/mods/ModsAssetLibrary.html | 2 +-
pages/funkin/mods/ModsFolder.html | 2 +-
pages/funkin/mods/ModsFolderLibrary.html | 10 +
pages/funkin/mods/ZipFolderLibrary.html | 10 +
pages/funkin/mods/index.html | 2 +-
pages/funkin/options/OptionCategory.html | 10 +
pages/funkin/options/Options.html | 2 +-
pages/funkin/options/OptionsMenu.html | 2 +-
pages/funkin/options/OptionsScreen.html | 10 +
.../options/categories/BehaviourOptions.html | 10 +
.../options/categories/DebugOptions.html | 10 +
.../options/categories/GameplayOptions.html | 10 +
.../options/categories/SaveDataOptions.html | 10 +
pages/funkin/options/categories/index.html | 10 +
pages/funkin/options/index.html | 2 +-
.../keybinds/ChangeKeybindSubState.html | 2 +-
.../options/keybinds/KeybindsOptions.html | 2 +-
pages/funkin/options/type/Checkbox.html | 10 +
pages/funkin/options/type/OptionType.html | 10 +
pages/funkin/options/type/TextOption.html | 10 +
pages/funkin/options/type/index.html | 10 +
pages/funkin/scripting/DummyScript.html | 3 +-
pages/funkin/scripting/GlobalScript.html | 10 +
pages/funkin/scripting/ModState.html | 10 +
pages/funkin/scripting/ModSubState.html | 10 +
pages/funkin/scripting/Script.html | 4 +-
pages/funkin/scripting/ScriptPack.html | 3 +-
.../funkin/scripting/events/CamMoveEvent.html | 15 +
.../scripting/events/CancellableEvent.html | 4 +-
.../scripting/events/CountdownEvent.html | 2 +-
pages/funkin/scripting/events/DanceEvent.html | 2 +-
.../scripting/events/DirectionAnimEvent.html | 2 +-
.../scripting/events/InputSystemEvent.html | 2 +-
.../scripting/events/MenuChangeEvent.html | 12 +
pages/funkin/scripting/events/NameEvent.html | 12 +
.../scripting/events/NoteCreationEvent.html | 2 +-
.../funkin/scripting/events/NoteHitEvent.html | 2 +-
.../scripting/events/NoteUpdateEvent.html | 2 +-
.../scripting/events/PauseCreationEvent.html | 12 +
.../scripting/events/PlayAnimContext.html | 2 +-
.../scripting/events/PlayAnimEvent.html | 2 +-
pages/funkin/scripting/events/PointEvent.html | 2 +-
.../scripting/events/RatingUpdateEvent.html | 12 +
.../funkin/scripting/events/ResizeEvent.html | 12 +
.../scripting/events/SimpleNoteEvent.html | 2 +-
pages/funkin/scripting/events/StateEvent.html | 12 +
.../scripting/events/StrumCreationEvent.html | 2 +-
.../scripting/events/WeekSelectEvent.html | 12 +
pages/funkin/scripting/events/index.html | 2 +-
pages/funkin/scripting/index.html | 2 +-
pages/funkin/shaders/CustomShader.html | 13 +
pages/funkin/shaders/FunkinShader.html | 11 +
pages/funkin/shaders/ShaderTemplates.html | 10 +
pages/funkin/shaders/ShaderTypeException.html | 10 +
pages/funkin/shaders/index.html | 2 +-
pages/funkin/system/AssetsLibraryList.html | 10 +
pages/funkin/system/Conductor.html | 2 +-
pages/funkin/system/CoolUtil.html | 2 +-
pages/funkin/system/IniUtils.html | 10 +
pages/funkin/system/Level.html | 10 +
pages/funkin/system/LogText.html | 10 +
pages/funkin/system/Logs.html | 10 +
pages/funkin/system/Main.html | 2 +-
pages/funkin/system/MusicBeatGroup.html | 10 +
pages/funkin/system/MusicBeatState.html | 2 +-
pages/funkin/system/MusicBeatSubstate.html | 2 +-
pages/funkin/system/Paths.html | 2 +-
pages/funkin/system/SwagSection.html | 2 +-
pages/funkin/system/SwagSong.html | 2 +-
pages/funkin/system/XMLSprite.html | 10 +
pages/funkin/system/XMLUtil.html | 2 +-
pages/funkin/system/index.html | 4 +-
pages/funkin/ui/AlphaCharacter.html | 2 +-
pages/funkin/ui/FunkinText.html | 10 +
pages/funkin/ui/index.html | 2 +-
pages/funkin/windows/ConsoleColor.html | 10 +
pages/funkin/windows/WindowsAPI.html | 2 +-
pages/funkin/windows/index.html | 2 +-
pages/nav.js | 2 +-
pages/scripting/CharacterScript.html | 4 +-
pages/scripting/GlobalScript.html | 14 +
pages/scripting/PlayStateScript.html | 2 +-
pages/scripting/index.html | 2 +-
125 files changed, 53293 insertions(+), 5656 deletions(-)
create mode 100644 pages/funkin/away3d/Flx3DView.html
create mode 100644 pages/funkin/away3d/index.html
create mode 100644 pages/funkin/cutscenes/Cutscene.html
create mode 100644 pages/funkin/cutscenes/MP4Handler.html
create mode 100644 pages/funkin/cutscenes/ScriptedCutscene.html
create mode 100644 pages/funkin/cutscenes/VideoCutscene.html
create mode 100644 pages/funkin/cutscenes/index.html
create mode 100644 pages/funkin/editors/CharacterEditor.html
create mode 100644 pages/funkin/game/ComboRating.html
create mode 100644 pages/funkin/game/SongScore.html
create mode 100644 pages/funkin/menus/FreeplayJSON.html
create mode 100644 pages/funkin/menus/FreeplaySong.html
create mode 100644 pages/funkin/menus/FreeplaySonglist.html
create mode 100644 pages/funkin/menus/MenuCharacterSprite.html
create mode 100644 pages/funkin/menus/ModSwitchMenu.html
create mode 100644 pages/funkin/menus/SongMetadata.html
create mode 100644 pages/funkin/menus/WeekData.html
create mode 100644 pages/funkin/menus/WeekSong.html
create mode 100644 pages/funkin/mods/ModsFolderLibrary.html
create mode 100644 pages/funkin/mods/ZipFolderLibrary.html
create mode 100644 pages/funkin/options/OptionCategory.html
create mode 100644 pages/funkin/options/OptionsScreen.html
create mode 100644 pages/funkin/options/categories/BehaviourOptions.html
create mode 100644 pages/funkin/options/categories/DebugOptions.html
create mode 100644 pages/funkin/options/categories/GameplayOptions.html
create mode 100644 pages/funkin/options/categories/SaveDataOptions.html
create mode 100644 pages/funkin/options/categories/index.html
create mode 100644 pages/funkin/options/type/Checkbox.html
create mode 100644 pages/funkin/options/type/OptionType.html
create mode 100644 pages/funkin/options/type/TextOption.html
create mode 100644 pages/funkin/options/type/index.html
create mode 100644 pages/funkin/scripting/GlobalScript.html
create mode 100644 pages/funkin/scripting/ModState.html
create mode 100644 pages/funkin/scripting/ModSubState.html
create mode 100644 pages/funkin/scripting/events/CamMoveEvent.html
create mode 100644 pages/funkin/scripting/events/MenuChangeEvent.html
create mode 100644 pages/funkin/scripting/events/NameEvent.html
create mode 100644 pages/funkin/scripting/events/PauseCreationEvent.html
create mode 100644 pages/funkin/scripting/events/RatingUpdateEvent.html
create mode 100644 pages/funkin/scripting/events/ResizeEvent.html
create mode 100644 pages/funkin/scripting/events/StateEvent.html
create mode 100644 pages/funkin/scripting/events/WeekSelectEvent.html
create mode 100644 pages/funkin/shaders/CustomShader.html
create mode 100644 pages/funkin/shaders/FunkinShader.html
create mode 100644 pages/funkin/shaders/ShaderTemplates.html
create mode 100644 pages/funkin/shaders/ShaderTypeException.html
create mode 100644 pages/funkin/system/AssetsLibraryList.html
create mode 100644 pages/funkin/system/IniUtils.html
create mode 100644 pages/funkin/system/Level.html
create mode 100644 pages/funkin/system/LogText.html
create mode 100644 pages/funkin/system/Logs.html
create mode 100644 pages/funkin/system/MusicBeatGroup.html
create mode 100644 pages/funkin/system/XMLSprite.html
create mode 100644 pages/funkin/ui/FunkinText.html
create mode 100644 pages/funkin/windows/ConsoleColor.html
create mode 100644 pages/scripting/GlobalScript.html
diff --git a/docs/doc.xml b/docs/doc.xml
index 0a052e24..c7f9c553 100644
--- a/docs/doc.xml
+++ b/docs/doc.xml
@@ -12442,11 +12442,18 @@
-
+
+
+
+ []
+
+
+
+
-
+ false
@@ -12454,13 +12461,42 @@
hide
-
+ 0
+ <__threadCycle expr="0" line="119" static="1">
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12510,22 +12546,22 @@
-
+
-
+
-
+
-
+
@@ -12533,7 +12569,6 @@
openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()
-
@@ -12931,6 +12966,21 @@
For measuring time differences with millisecond accuracy on
all platforms, see `haxe.Timer.stamp`.
+
+
+
+ Returns the hours of `this` Date (0-23 range) in the local timezone.
+
+
+
+
+ Returns the minutes of `this` Date (0-59 range) in the local timezone.
+
+
+
+
+ Returns the seconds of `this` Date (0-59 range) in the local timezone.
+
@@ -13488,11 +13538,11 @@
-
+
-
+
- "__ASSET__:file___ASSET__assets_fonts_fonts_go_here_txt1"
+ "__ASSET__:file___ASSET__flixel_sounds_beep_ogg"
@@ -13503,7 +13553,45 @@
lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()
- "assets/fonts/fonts-go-here.txt"
+ "E:/Dev/HaxeFlixel/flixel/assets/sounds/beep.ogg"
+
+
+
+
+
+
+
+ "__ASSET__:file___ASSET__flixel_sounds_flixel_ogg"
+
+
+
+
+
+
+
+ lime._internal.macros.AssetsMacro.embedBytes()
+ lime._internal.macros.AssetsMacro.embedBytes()
+
+ "E:/Dev/HaxeFlixel/flixel/assets/sounds/flixel.ogg"
+
+
+
+
+
+
+
+ "__ASSET__:file___ASSET__flixel_sounds_type_ogg"
+
+
+
+
+
+
+
+ lime._internal.macros.AssetsMacro.embedBytes()
+ lime._internal.macros.AssetsMacro.embedBytes()
+
+ "E:/Dev/HaxeFlixel/flixel/assets/sounds/type.ogg"
@@ -13637,98 +13725,9 @@
lime.text.Glyph
-
-
-
-
- "LIME_font___ASSET__assets_fonts_pixel_otf1"
-
-
-
-
- lime._internal.macros.AssetsMacro.embedFont()
- lime._internal.macros.AssetsMacro.embedFont()
-
- "assets/fonts/pixel.otf"
-
-
-
-
-
-
-
- "LIME_font___ASSET__assets_fonts_vcr_ttf1"
-
-
-
-
- lime._internal.macros.AssetsMacro.embedFont()
- lime._internal.macros.AssetsMacro.embedFont()
-
- "assets/fonts/vcr.ttf"
-
-
-
-
-
-
-
- "__ASSET__:file___ASSET__flixel_sounds_beep_ogg"
-
-
-
-
-
-
-
- lime._internal.macros.AssetsMacro.embedBytes()
- lime._internal.macros.AssetsMacro.embedBytes()
-
- "E:/Dev/HaxeFlixel/flixel/assets/sounds/beep.ogg"
-
-
-
-
-
-
-
- "__ASSET__:file___ASSET__flixel_sounds_flixel_ogg"
-
-
-
-
-
-
-
- lime._internal.macros.AssetsMacro.embedBytes()
- lime._internal.macros.AssetsMacro.embedBytes()
-
- "E:/Dev/HaxeFlixel/flixel/assets/sounds/flixel.ogg"
-
-
-
-
-
-
-
- "__ASSET__:file___ASSET__flixel_sounds_type_ogg"
-
-
-
-
-
-
-
- lime._internal.macros.AssetsMacro.embedBytes()
- lime._internal.macros.AssetsMacro.embedBytes()
-
- "E:/Dev/HaxeFlixel/flixel/assets/sounds/type.ogg"
-
-
-
-
+ "LIME_font___ASSET__flixel_fonts_nokiafc22_ttf"
@@ -13744,7 +13743,7 @@
-
+ "LIME_font___ASSET__flixel_fonts_monsterrat_ttf"
@@ -14413,7 +14412,7 @@
-
+ "__ASSET__:image___ASSET__flixel_images_ui_button_png"
@@ -14437,7 +14436,7 @@
-
+ "__ASSET__:image___ASSET__flixel_images_logo_default_png"
@@ -14461,7 +14460,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_box_png"
@@ -14485,7 +14484,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_png"
@@ -14509,7 +14508,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_down_png"
@@ -14533,7 +14532,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_left_png"
@@ -14557,7 +14556,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_right_png"
@@ -14581,7 +14580,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_up_png"
@@ -14605,7 +14604,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_thin_png"
@@ -14629,7 +14628,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_toggle_png"
@@ -14653,7 +14652,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_check_box_png"
@@ -14677,7 +14676,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_check_mark_png"
@@ -14701,7 +14700,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_png"
@@ -14725,7 +14724,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_flat_png"
@@ -14749,7 +14748,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_inset_png"
@@ -14773,7 +14772,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_light_png"
@@ -14797,7 +14796,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_dropdown_mark_png"
@@ -14821,7 +14820,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_big_png"
@@ -14845,7 +14844,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_small_png"
@@ -14869,7 +14868,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_hilight_png"
@@ -14893,7 +14892,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_invis_png"
@@ -14917,7 +14916,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_minus_mark_png"
@@ -14941,7 +14940,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_plus_mark_png"
@@ -14965,7 +14964,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_png"
@@ -14989,7 +14988,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_dot_png"
@@ -15013,7 +15012,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_swatch_png"
@@ -15037,7 +15036,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_png"
@@ -15061,7 +15060,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_back_png"
@@ -15085,7 +15084,7 @@
-
+ "__ASSET__:image___ASSET__flixel_flixel_ui_img_tooltip_arrow_png"
@@ -15109,7 +15108,7 @@
-
+ "__ASSET__:file___ASSET__flixel_flixel_ui_xml_defaults_xml"
@@ -15128,7 +15127,7 @@
-
+ "__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_loading_screen_xml"
@@ -15147,7 +15146,7 @@
-
+ "__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_popup_xml"
@@ -15166,7 +15165,7 @@
-
+ "__ASSET__:file___ASSET__manifest_assets_json"
@@ -15185,7 +15184,7 @@
-
+ lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()
@@ -15195,7 +15194,7 @@
-
+ lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()
@@ -15374,7 +15373,7 @@
-
+ lime._internal.macros.AssetsMacro.embedFont()
@@ -15386,7 +15385,7 @@
-
+ lime._internal.macros.AssetsMacro.embedFont()
@@ -15396,33 +15395,9 @@
-
-
-
-
-
- lime._internal.macros.AssetsMacro.embedFont()
- lime._internal.macros.AssetsMacro.embedFont()
-
- "__ASSET__OPENFL__assets_fonts_pixel_otf1"
-
-
-
-
-
-
-
-
- lime._internal.macros.AssetsMacro.embedFont()
- lime._internal.macros.AssetsMacro.embedFont()
-
- "__ASSET__OPENFL__assets_fonts_vcr_ttf1"
-
-
-
-
+ lime._internal.macros.AssetsMacro.embedFont()
@@ -15434,7 +15409,7 @@
-
+ lime._internal.macros.AssetsMacro.embedFont()
@@ -17469,6 +17444,47395 @@
+
+
+
+
+
+
+
+
+ * Array with all frames of this collection.
+
+
+
+ * Number of frames in this collection.
+
+
+
+
+
+
+ * Hash of frames for this frame collection.
+ * Used only in `FlxAtlasFrames` and `FlxBitmapFont` (not implemented yet),
+ * but you can try to use it for other types of collections
+ * (give names to your frames).
+
+
+
+ * Graphic object this frames belongs to.
+
+
+
+ * Type of this frame collection.
+ * Used for faster type detection (less casting).
+
+
+
+ * How much space was trimmed around the original frames.
+ * Use `addBorder()` to add borders.
+
+
+
+
+
+
+ * Finds a frame in `framesHash` by its name.
+ *
+ * @param name The name of the frame to find.
+ * @return Frame with specified name (if there is one).
+
+
+
+
+
+
+ * Finds frame in frames array by its index.
+ *
+ * @param index Index of the frame in the frames array.
+ * @return Frame with specified index in this frames collection (if there is one).
+
+
+
+
+
+
+ * Finds frame index by its name.
+ *
+ * @param name Name of the frame.
+ * @return Index of the frame with specified name.
+
+
+
+
+
+
+ * Finds the index of the specified frame in the frames array.
+ *
+ * @param frame Frame to find.
+ * @return Index of the specified frame.
+
+
+
+
+
+
+
+ * Adds empty frame into this frame collection.
+ * An empty frame is doing almost nothing for all the time.
+ *
+ * @param size Dimensions of the frame to add.
+ * @return Newly added empty frame.
+
+
+
+
+
+
+ * Adds new regular (not rotated) `FlxFrame` to this frame collection.
+ *
+ * @param region Region of image which new frame will display.
+ * @return Newly created `FlxFrame` object for specified region of image.
+
+
+
+
+
+
+
+
+
+
+
+
+ { flipY : false, flipX : false, angle : 0 }
+ * Adds new frame to this frame collection.
+ * This method runs additional check, and can add rotated frames (from texture atlases).
+ *
+ * @param frame Region of image.
+ * @param sourceSize Original size of packed image
+ * (if image had been cropped, then original size will be bigger than frame size).
+ * @param offset How frame region is located on original frame image
+ * (offset from top left corner of original image).
+ * @param name Name for this frame (name of packed image file).
+ * @param angle Rotation of packed image (can be `0`, `90` or `-90`).
+ * @param flipX If packed image should be horizontally flipped.
+ * @param flipY If packed image should be vertically flipped.
+ * @return Newly created and added frame object.
+
+
+
+
+
+
+
+ * Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds.
+ *
+ * @param frame Frame area to check.
+ * @param name Optional frame name for debugging info.
+ * @return Checked and trimmed frame rectangle.
+
+
+
+
+
+
+ * Helper method for a adding frame to the collection.
+ *
+ * @param frameObj Frame to add.
+ * @return Added frame.
+
+
+
+
+
+
+ * Generates new frames collection from this collection but trims frames by specified borders.
+ *
+ * @param border How much space trim around the frames.
+ * @return Generated frames collection.
+
+
+
+
+
+
+
+
+
+ * Base class for all frame collections.
+
+
+
+
+
+
+
+
+
+
+ { _excludeArray : null }
+ * Creates Frames from TextureAtlas(very early and broken ok) Originally made for FNF HD by Smokey and Rozebud
+ *
+ * @param key The file path.
+ * @param _excludeArray Use this to only create selected animations. Keep null to create all of them.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "loop"
+
+
+
+ "playonce"
+
+
+
+ "singleframe"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "loop"
+
+
+
+ "playonce"
+
+
+
+ "singleframe"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "graphic"
+
+
+
+ "movieclip"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "graphic"
+
+
+
+ "movieclip"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * All data needed for the json importer + some extra for after parsing.
+ * Stolen mostly from https://github.com/TomByrne/Starling-Extension-Adobe-Animate-Hx/blob/master/hx/src/starling/extensions/animate/AnimationAtlasData.hx
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "___atlas_sprite___"
+
+
+
+ { m00 : 1, m01 : 0, m02 : 0, m03 : 0, m10 : 0, m11 : 1, m12 : 0, m13 : 0, m20 : 0, m21 : 0, m22 : 1, m23 : 0, m30 : 0, m31 : 0, m32 : 0, m33 : 1 }
+
+
+ <_atlas>
+
+
+
+ <_symbolData>
+
+
+
+ <_symbolPool>
+
+
+
+ <_defaultSymbolName>
+ <_texture>
+
+
+
+
+
+
+
+
+
+ { symbol : null }
+
+
+
+
+
+
+ { prefix : "" }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ animateatlas
+ AtlasFrameMaker
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Performance will be REALLY BAD.
+ * Consider using TileAnimationLibrary whenever possible.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_framerate expr="null">
+
+ null
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ openfl.utils._internal.AssetsMacro.initBinding()
+ openfl.utils._internal.AssetsMacro.initBinding()
+ animateatlas.displayobject.SpriteSymbol
+
+
+
+ <__identity expr="new Matrix3()" line="56" static="1">
+
+ new Matrix3()
+
+
+
+ The matrix a component, used in scaling and skewing (default is 1)
+
+
+
+ The matrix b component, used in rotation and skewing (default is 0)
+
+
+
+ The matrix c component, used in rotation and skewing (default is 0)
+
+
+
+ The matrix d component, used in scaling and skewing (default is 1)
+
+
+
+ The matrix tx component, used in translation (default is 0)
+
+
+
+ The matrix ty component, used in translation (default is 0)
+
+
+
+ Creates a duplicate of the current `Matrix3`
+ @return A duplicate `Matrix3` instance
+
+
+
+
+
+
+ Concatenates the values of a second matrix to the current
+ `Matrix3`, combining the effects of both. This is the same
+ as matrix multiplication. The second matrix is not modified.
+ @param m A second `Matrix3` to concatenate to the current instance
+
+
+
+
+
+
+
+ Copies the `x` and `y` components from a `Vector4` instance
+ to the `a`/`c`, `b`/`d` or the `tx`/`ty` column of the current
+ matrix
+ @param column The column to copy into (0, 1 or 2)
+ @param vector4 The `Vector4` instance to copy from
+
+
+
+
+
+
+
+ Copies a column of the current matrix into a `Vector4`
+ instance. The `w` value will not be modified.
+ @param column The column to copy from (0, 1 or 2)
+ @param vector4 The `Vector4` instance to copy to
+
+
+
+
+
+
+ Copies the values of another `Matrix3` and
+ applies it to the current instance
+ @param sourceMatrix3 The `Matrix3` to copy from
+
+
+
+
+
+
+
+ Copies the values of a `Vector4` instance into a row
+ of the current matrix
+ @param row The row to copy into (0 or 1)
+ @param vector4 The `Vector4` instance to copy from
+
+
+
+
+
+
+
+ Copies a row of the current matrix into a `Vector4`
+ instance. The `w` value will not be modified.
+ @param row The row to copy into (0, 1 or 2)
+ @param vector4 The `Vector4` instance to copy from
+
+
+
+
+
+
+
+
+
+
+ { ty : 0, tx : 0, rotation : 0 }
+ Applies a two-dimensional transformation to the current matrix.
+
+ This is the same as calling `identity()`, `rotate()`, `scale()`
+ then `translate()` with these values.
+ @param scaleX An x scale transformation value
+ @param scaleY A y scale transformation value
+ @param rotation (Optional) A rotation value (default is 0)
+ @param tx (Optional) A translate x value (default is 0)
+ @param ty (Optional) A translate y value (default is 0)
+
+
+
+
+
+
+
+
+
+
+ { ty : 0, tx : 0, rotation : 0 }
+ Creates a matrix to use for a linear gradient fill
+ @param width The width of the gradient fill
+ @param height The height of the gradient fill
+ @param rotation (Optional) A rotation for the gradient fill (default is 0)
+ @param tx (Optional) An x offset for the gradient fill (default is 0)
+ @param ty (Optional) A y offset for the gradient fill (default is 0)
+ @return A new `Matrix` instance
+
+
+
+
+
+
+ Check if two matrices have the same values
+ @return Whether both matrices are equal
+
+
+
+
+
+
+
+ { result : null }
+ Transforms a `Vector2` instance by the current matrix,
+ without considering the `tx` and `ty` values of the matrix
+ @param result (Optional) An existing `Vector2` instance to fill with the result
+ @return A new `Vector2` instance representing the transformed values
+
+
+
+ Resets the matrix to default identity values
+
+
+
+ Inverts the values of the current matrix
+ @return The current matrix instance
+
+
+
+
+
+
+ Applies rotation to the current matrix
+ @param theta A rotation value in degrees
+
+
+
+
+
+
+
+ Scales the current matrix
+ @param sx The x scale to apply
+ @param sy The y scale to apply
+
+
+
+
+
+
+
+
+ { scale : 1 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the values of the current matrix
+ @param a The new matrix a value
+ @param b The new matrix b value
+ @param c The new matrix c value
+ @param d The new matrix d value
+ @param tx The new matrix tx value
+ @param ty The new matrix ty value
+
+
+
+
+
+
+
+ { roundPixels : false }
+ hide
+
+
+
+
+
+ hide
+
+
+
+
+
+
+
+ { result : null }
+ Transforms a `Rectangle` instance by the current matrix
+ and returns `Rectangle` with the bounds of the transformed
+ rectangle.
+ @param transform A `Matrix3` instance to transform by
+ @param result (Optional) A `Rectangle` instance to use for the result
+ @return A `Rectangle` represented the transformed bounds
+
+
+
+
+
+
+
+ { result : null }
+ Transforms a `Vector2` instance by the current matrix
+ @param result (Optional) An existing `Vector2` instance to fill with the result
+ @return A new `Vector2` instance representing the transformed values
+
+
+
+
+
+
+
+ Adjusts the `tx` and `ty` of the current matrix
+ @param dx The x amount to translate
+ @param dy The y amount to translate
+
+
+
+
+
+
+
+
+
+
+
+ { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 }
+ Creates a new `Matrix` instance
+ @param a (Optional) An initial a component value (default is 1)
+ @param b (Optional) An initial b component value (default is 0)
+ @param c (Optional) An initial c component value (default is 0)
+ @param d (Optional) An initial d component value (default is 1)
+ @param tx (Optional) An initial tx component value (default is 0)
+ @param ty (Optional) An initial ty component value (default is 0)
+
+ `Matrix3` is a 3x3 transformation matrix particularly useful for
+ two-dimensional transformation. It can be used for rotation, scale
+ and skewing of a two-dimensional object.
+
+ Although a 3x3 matrix is represented, configurable values can be
+ considered as a 3x2 matrix:
+
+ ```
+ [ a, c, tx ]
+ [ c, d, ty ]
+ [ 0, 0, 1 ]
+ ```
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+ <__identity expr="new Matrix()" line="76" static="1">
+
+
+ new Matrix()
+
+
+
+ <__pool expr="new ObjectPool<Matrix>(function() return new Matrix(), function(m) m.identity())" line="77" static="1">
+
+
+ (function() return new Matrix(), function(m) m.identity())]]>
+
+
+
+ <__matrix3 expr="new Matrix3()" line="79" static="1">
+
+
+ new Matrix3()
+
+
+
+
+
+ The value that affects the positioning of pixels along the _x_ axis
+ when scaling or rotating an image.
+
+
+
+ The value that affects the positioning of pixels along the _y_ axis
+ when rotating or skewing an image.
+
+
+
+ The value that affects the positioning of pixels along the _x_ axis
+ when rotating or skewing an image.
+
+
+
+ The value that affects the positioning of pixels along the _y_ axis
+ when scaling or rotating an image.
+
+
+
+ The distance by which to translate each point along the _x_ axis.
+
+
+
+ The distance by which to translate each point along the _y_ axis.
+
+ <__array>
+
+
+
+
+
+ Returns a new Matrix object that is a clone of this matrix, with an exact
+ copy of the contained object.
+
+ @return A Matrix object.
+
+
+
+
+
+
+ Concatenates a matrix with the current matrix, effectively combining the
+ geometric effects of the two. In mathematical terms, concatenating two
+ matrixes is the same as combining them using matrix multiplication.
+
+ For example, if matrix `m1` scales an object by a factor of
+ four, and matrix `m2` rotates an object by 1.5707963267949
+ radians(`Math.PI/2`), then `m1.concat(m2)`
+ transforms `m1` into a matrix that scales an object by a factor
+ of four and rotates the object by `Math.PI/2` radians.
+
+ This method replaces the source matrix with the concatenated matrix. If
+ you want to concatenate two matrixes without altering either of the two
+ source matrixes, first copy the source matrix by using the
+ `clone()` method, as shown in the Class Examples section.
+
+ @param m The matrix to be concatenated to the source matrix.
+
+
+
+
+
+
+
+ Copies a Vector3D object into specific column of the calling Matrix3D object.
+
+ @param column The column from which to copy the data from.
+ @param vector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+
+ Copies specific column of the calling Matrix object into the Vector3D object. The
+ `w` element of the Vector3D object will not be changed.
+
+ @param column The column from which to copy the data from.
+ @param vector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+ Copies all of the matrix data from the source Point object into the calling Matrix
+ object.
+
+ @param sourceMatrix The Matrix object from which to copy the data.
+
+
+
+
+
+
+
+ Copies a Vector3D object into specific row of the calling Matrix object.
+
+ @param row The row from which to copy the data from.
+ @param vector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+
+ Copies specific row of the calling Matrix object into the Vector3D object. The `w`
+ element of the Vector3D object will not be changed.
+
+ @param row The row from which to copy the data from.
+ @param vector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+
+
+
+
+ { ty : 0, tx : 0, rotation : 0 }
+ Includes parameters for scaling, rotation, and translation. When
+ applied to a matrix it sets the matrix's values based on those
+ parameters.
+ Using the `createBox()` method lets you obtain the same matrix as you
+ would if you applied the `identity()`, `rotate()`, `scale()`, and
+ `translate()` methods in succession. For example,
+ `mat1.createBox(2,2,Math.PI/4, 100, 100)` has the same effect as the
+ following:
+
+ ```haxe
+ import openfl.geom.Matrix;
+
+ var mat1 = new Matrix();
+ mat1.identity();
+ mat1.rotate(Math.PI/4);
+ mat1.scale(2,2);
+ mat1.translate(10,20);
+ ```
+
+ @param scaleX The factor by which to scale horizontally.
+ @param scaleY The factor by which scale vertically.
+ @param rotation The amount to rotate, in radians.
+ @param tx The number of pixels to translate (move) to the right
+ along the _x_ axis.
+ @param ty The number of pixels to translate (move) down along
+ the _y_ axis.
+
+
+
+
+
+
+
+
+
+
+ { ty : 0, tx : 0, rotation : 0 }
+ Creates the specific style of matrix expected by the
+ `beginGradientFill()` and `lineGradientStyle()` methods of the
+ Graphics class. Width and height are scaled to a `scaleX`/`scaleY`
+ pair and the `tx`/`ty` values are offset by half the width and height.
+
+ For example, consider a gradient with the following characteristics:
+
+ * `GradientType.LINEAR`
+ * Two colors, green and blue, with the ratios array set to `[0, 255]`
+ * `SpreadMethod.PAD`
+ * `InterpolationMethod.LINEAR_RGB`
+
+ The following illustrations show gradients in which the matrix was
+ defined using the `createGradientBox()` method with different
+ parameter settings:
+
+ | `createGradientBox()` settings | Resulting gradient |
+ | --- | --- |
+ | `width = 25; height = 25; rotation = 0; tx = 0; ty = 0;` |  |
+ | `width = 25; height = 25; rotation = 0; tx = 25; ty = 0;` |  |
+ | `width = 50; height = 50; rotation = 0; tx = 0; ty = 0;` |  |
+ | `width = 50; height = 50; rotation = Math.PI / 4; // 45 degrees tx = 0; ty = 0;` |  |
+
+ @param width The width of the gradient box.
+ @param height The height of the gradient box.
+ @param rotation The amount to rotate, in radians.
+ @param tx The distance, in pixels, to translate to the right
+ along the _x_ axis. This value is offset by half of
+ the `width` parameter.
+ @param ty The distance, in pixels, to translate down along the
+ _y_ axis. This value is offset by half of the `height`
+ parameter.
+
+
+
+
+
+
+ Given a point in the pretransform coordinate space, returns the
+ coordinates of that point after the transformation occurs. Unlike the
+ standard transformation applied using the `transformPoint()`
+ method, the `deltaTransformPoint()` method's transformation
+ does not consider the translation parameters `tx` and
+ `ty`.
+
+ @param point The point for which you want to get the result of the matrix
+ transformation.
+ @return The point resulting from applying the matrix transformation.
+
+
+
+
+
+
+
+ hide
+
+ "checkstyle:FieldDocComment"
+
+
+
+
+ Sets each matrix property to a value that causes a null
+ transformation. An object transformed by applying an identity matrix
+ will be identical to the original.
+ After calling the `identity()` method, the resulting matrix has the
+ following properties: `a`=1, `b`=0, `c`=0, `d`=1, `tx`=0, `ty`=0.
+
+ In matrix notation, the identity matrix looks like this:
+
+ 
+
+
+
+ Performs the opposite transformation of the original matrix. You can apply
+ an inverted matrix to an object to undo the transformation performed when
+ applying the original matrix.
+
+
+
+
+
+
+ Applies a rotation transformation to the Matrix object.
+ The `rotate()` method alters the `a`, `b`, `c`, and `d` properties of
+ the Matrix object. In matrix notation, this is the same as
+ concatenating the current matrix with the following:
+
+ 
+
+ @param angle The rotation angle in radians.
+
+
+
+
+
+
+
+ Applies a scaling transformation to the matrix. The _x_ axis is
+ multiplied by `sx`, and the _y_ axis it is multiplied by `sy`.
+ The `scale()` method alters the `a` and `d` properties of the Matrix
+ object. In matrix notation, this is the same as concatenating the
+ current matrix with the following matrix:
+
+ 
+
+ @param sx A multiplier used to scale the object along the _x_ axis.
+ @param sy A multiplier used to scale the object along the _y_ axis.
+
+
+
+
+
+
+
+
+ { scale : 1 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the members of Matrix to the specified values
+
+ @param aa the values to set the matrix to.
+ @param ba
+ @param ca
+ @param da
+ @param txa
+ @param tya
+
+
+
+
+
+
+
+ { roundPixels : false }
+ "checkstyle:FieldDocComment"
+ hide
+
+
+
+
+
+
+ "checkstyle:FieldDocComment"
+ hide
+
+
+
+
+
+ Returns a text value listing the properties of the Matrix object.
+
+ @return A string containing the values of the properties of the Matrix
+ object: `a`, `b`, `c`,
+ `d`, `tx`, and `ty`.
+
+
+
+
+
+
+ Returns the result of applying the geometric transformation represented by
+ the Matrix object to the specified point.
+
+ @param point The point for which you want to get the result of the Matrix
+ transformation.
+ @return The point resulting from applying the Matrix transformation.
+
+
+
+
+
+
+
+ Translates the matrix along the _x_ and _y_ axes, as specified
+ by the `dx` and `dy` parameters.
+
+ @param dx The amount of movement along the _x_ axis to the right, in
+ pixels.
+ @param dy The amount of movement down along the _y_ axis, in pixels.
+
+
+
+
+
+
+
+ { transpose : false }
+
+
+
+ <__cleanValues get="inline" set="null" line="740">
+
+
+
+ <__toMatrix3 set="method" line="751">
+
+
+
+ <__transformInversePoint get="inline" set="null" line="758">
+
+
+
+
+
+
+ <__transformInverseX get="inline" set="null" line="775">
+
+
+
+
+
+
+
+ <__transformInverseY get="inline" set="null" line="789">
+
+
+
+
+
+
+
+ <__transformPoint get="inline" set="null" line="803">
+
+
+
+
+
+
+ <__transformX get="inline" set="null" line="812">
+
+
+
+
+
+
+
+ <__transformY get="inline" set="null" line="817">
+
+
+
+
+
+
+
+ <__translateTransformed get="inline" set="null" line="822">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 }
+ Creates a new Matrix object with the specified parameters. In matrix
+ notation, the properties are organized like this:
+
+ 
+
+ If you do not provide any parameters to the `new Matrix()`
+ constructor, it creates an _identity matrix_ with the following
+ values:
+
+ | `a = 1` | `b = 0` |
+ | `c = 0` | `d = 1` |
+ | `tx = 0` | `ty = 0` |
+
+ In matrix notation, the identity matrix looks like this:
+
+ 
+
+ @param a The value that affects the positioning of pixels along the
+ _x_ axis when scaling or rotating an image.
+ @param b The value that affects the positioning of pixels along the
+ _y_ axis when rotating or skewing an image.
+ @param c The value that affects the positioning of pixels along the
+ _x_ axis when rotating or skewing an image.
+ @param d The value that affects the positioning of pixels along the
+ _y_ axis when scaling or rotating an image..
+ @param tx The distance by which to translate each point along the _x_
+ axis.
+ @param ty The distance by which to translate each point along the _y_
+ axis.
+
+ The Matrix class represents a transformation matrix that determines how to
+ map points from one coordinate space to another. You can perform various
+ graphical transformations on a display object by setting the properties of
+ a Matrix object, applying that Matrix object to the `matrix` property of a
+ Transform object, and then applying that Transform object as the
+ `transform` property of the display object. These transformation functions
+ include translation (_x_ and _y_ repositioning), rotation, scaling, and
+ skewing.
+ Together these types of transformations are known as _affine
+ transformations_. Affine transformations preserve the straightness of
+ lines while transforming, so that parallel lines stay parallel.
+
+ To apply a transformation matrix to a display object, you create a
+ Transform object, set its `matrix` property to the transformation matrix,
+ and then set the `transform` property of the display object to the
+ Transform object. Matrix objects are also used as parameters of some
+ methods, such as the following:
+
+ * The `draw()` method of a BitmapData object
+ * The `beginBitmapFill()` method, `beginGradientFill()` method, or
+ `lineGradientStyle()` method of a Graphics object
+
+ A transformation matrix object is a 3 x 3 matrix with the following
+ contents:
+
+ 
+
+ In traditional transformation matrixes, the `u`, `v`, and `w` properties
+ provide extra capabilities. The Matrix class can only operate in
+ two-dimensional space, so it always assumes that the property values `u`
+ and `v` are 0.0, and that the property value `w` is 1.0. The effective
+ values of the matrix are as follows:
+
+ 
+
+ You can get and set the values of all six of the other properties in a
+ Matrix object: `a`, `b`, `c`, `d`, `tx`, and `ty`.
+
+ The Matrix class supports the four major types of transformations:
+ translation, scaling, rotation, and skewing. You can set three of these
+ transformations by using specialized methods, as described in the
+ following table:
+
+ | Transformation | Method | Matrix values | Display result | Description |
+ | --- | --- | --- | --- | --- |
+ | Translation (displacement) | `translate(tx, ty)` |  |  | Moves the image `tx` pixels to the right and `ty` pixels down. |
+ | Scaling | `scale(sx, sy)` |  |  | Resizes the image, multiplying the location of each pixel by `sx` on the _x_ axis and `sy` on the _y_ axis. |
+ | Rotation | `rotate(q)` |  |  | Rotates the image by an angle `q`, which is measured in radians. |
+ | Skewing or shearing | None; must set the properties `b` and `c` |  |  | Progressively slides the image in a direction parallel to the _x_ or _y_ axis. The `b` property of the Matrix object represents the tangent of the skew angle along the _y_ axis; the `c` property of the Matrix object represents the tangent of the skew angle along the _x_ axis. |
+
+ Each transformation function alters the current matrix properties so that
+ you can effectively combine multiple transformations. To do this, you call
+ more than one transformation function before applying the matrix to its
+ display object target (by using the `transform` property of that display
+ object).
+
+ Use the `new Matrix()` constructor to create a Matrix object before you
+ can call the methods of the Matrix object.
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+ new Matrix()
+
+
+
+
+
+
+
+
+ <_data>
+ <_library>
+ <_symbolName>
+ <_type>
+ <_loopMode>
+ <_currentFrame>
+ <_composedFrame>
+ <_bitmap>
+ <_numFrames>
+ <_numLayers>
+ <_frameLabels>
+ <_colorTransform>
+ <_layers>
+ <_texture>
+ <_tempRect expr="new Rectangle()">
+
+ new Rectangle()
+
+ <_zeroPoint expr="new Point(0, 0)">
+
+ new Point(0, 0)
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+ { direction : 1 }
+ Moves all movie clips n frames, recursively.
+
+
+
+
+
+
+
+ animateatlas
+
+
+
+
+
+
+
+ animateatlas
+
+
+
+
+
+
+ animateatlas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_getFrameLabels set="method" line="380">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { afterLabel : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ openfl.utils._internal.AssetsMacro.initBinding()
+ openfl.utils._internal.AssetsMacro.initBinding()
+
+
+
+
+
+ "http://www.away3d.com"
+
+
+
+ 4
+
+
+
+ 1
+
+
+
+ 6
+
+ * Helper class to track a few important library constants.
+
+
+
+
+
+ "default"
+
+
+
+
+
+
+ <_originalName>
+ <_namespace>
+ <_name>
+ <_id>
+ <_full_path>
+
+
+ name, which may
+ * have changed due to of a name conflict.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { overrideOriginal : true, ns : null }
+
+
+
+
+
+
+
+ { name : null }
+
+
+
+
+
+
+
+
+
+
+
+ * The name of the asset.
+
+
+
+
+
+
+
+ * The id of the asset.
+
+
+
+
+
+
+
+ * The namespace of the asset. This allows several assets with the same name to coexist in different contexts.
+
+
+
+ * The type of the asset.
+
+
+
+ * The full path of the asset.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { overrideOriginal : true, ns : null }
+
+
+
+ * Cleans up resources used by this asset.
+
+
+
+
+
+
+
+
+
+
+ <_usesCPU>
+ <_animations expr="new Vector<AnimationNodeBase>()">
+
+ ()]]>
+
+ <_animationNames expr="new Vector<String>()">
+
+ ()]]>
+
+ <_animationDictionary expr="new Map<String,AnimationNodeBase>()">
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+ { excludeAnother : null }
+ * Retrieves a temporary GPU register that's still free.
+ *
+ * @param exclude An array of non-free temporary registers.
+ * @param excludeAnother An additional register that's not free.
+ * @return A temporary register that can be used.
+
+
+
+ * Indicates whether the properties of the animation data contained within the set combined with
+ * the vertex registers aslready in use on shading materials allows the animation data to utilise
+ * GPU calls.
+
+
+
+ away3d
+ * Called by the material to reset the GPU indicator before testing whether register space in the shader
+ * is available for running GPU-based animation code.
+ *
+ * @private
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Returns a vector of animation state objects that make up the contents of the animation data set.
+
+
+
+ * Returns a vector of animation state objects that make up the contents of the animation data set.
+
+
+
+
+
+
+ * Check to determine whether a state is registered in the animation set under the given name.
+ *
+ * @param stateName The name of the animation state object to be checked.
+
+
+
+
+
+
+ * Retrieves the animation state object registered in the animation data set under the given name.
+ *
+ * @param stateName The name of the animation state object to be retrieved.
+
+
+
+
+
+
+ * Adds an animation state object to the aniamtion data set under the given name.
+ *
+ * @param stateName The name under which the animation state object will be stored.
+ * @param animationState The animation state object to be staored in the set.
+
+
+
+ * Cleans up any resources used by the current object.
+
+
+ * Provides an abstract base class for data set classes that hold animation data for use in animator classes.
+ *
+ * @see away3d.animators.AnimatorBase
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_broadcaster expr="new Sprite()">
+
+ new Sprite()
+
+ <_isPlaying>
+ <_autoUpdate expr="true">
+
+ true
+
+ <_startEvent>
+ <_stopEvent>
+ <_cycleEvent>
+ <_time expr="0">
+
+ 0
+
+ <_playbackSpeed expr="1">
+
+ 1
+
+ <_animationSet>
+ <_owners expr="new Vector<Mesh>()">
+
+ ()]]>
+
+ <_activeNode>
+ <_activeState>
+ <_activeAnimationName>
+ <_absoluteTime expr="0">
+
+ 0
+
+ <_animationStates expr="new Map()">
+
+
+
+
+ new Map()
+
+
+
+ true
+ * Enables translation of the animated mesh from data returned per frame via the positionDelta property of the active animation node. Defaults to true.
+ *
+ * @see away3d.animators.states.IAnimationState#positionDelta
+
+
+
+
+
+
+
+
+
+
+
+ * Returns the internal absolute time of the animator, calculated by the current time and the playback speed.
+ *
+ * @see #time
+ * @see #playbackSpeed
+
+
+
+ * Returns the animation data set in use by the animator.
+
+
+
+ * Returns the current active animation state.
+
+
+
+ * Returns the current active animation node.
+
+
+
+ * Returns the current active animation node.
+
+
+
+ time property or update() method.
+ * Defaults to true.
+ *
+ * @see #time
+ * @see #update()]]>
+
+
+
+
+
+
+
+ * Gets and sets the internal time clock of the animator.
+
+
+
+
+
+
+
+
+
+
+ * Sets the animation phase of the current active state's animation clip(s).
+ *
+ * @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end.
+
+
+
+ * The amount by which passed time should be scaled. Used to slow down or speed up animations. Defaults to 1.
+
+
+
+
+
+
+
+ * Resumes the automatic playback clock controling the active state of the animator.
+
+
+
+ time property or update() method.
+ *
+ * @see #time
+ * @see #update()]]>
+
+
+
+
+
+
+ * Provides a way to manually update the active state of the animator when automatic
+ * updates are disabled.
+ *
+ * @see #stop()
+ * @see #autoUpdate
+
+
+
+
+
+
+
+ { offset : 0 }
+
+
+
+
+
+
+ away3d
+ * Used by the mesh object to which the animator is applied, registers the owner for internal use.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Used by the mesh object from which the animator is removed, unregisters the owner for internal use.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Internal abstract method called when the time delta property of the animator's contents requires updating.
+ *
+ * @private
+
+
+
+
+
+
+ { event : null }
+ * Enter frame event handler for automatically updating the active state of the animator.
+
+
+
+
+ away3d
+ * for internal use.
+ *
+ * @private
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ AnimatorBase object.
+ *
+ * @param animationSet The animation data set to be used by the animator object.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Check to determine whether a state is registered in the animation set under the given name.
+ *
+ * @param stateName The name of the animation state object to be checked.
+
+
+
+
+
+
+ * Retrieves the animation state object registered in the animation data set under the given name.
+ *
+ * @param stateName The name of the animation state object to be retrieved.
+
+
+
+ * Indicates whether the properties of the animation data contained within the set combined with
+ * the vertex registers aslready in use on shading materials allows the animation data to utilise
+ * GPU calls.
+
+
+
+ away3d
+ * Called by the material to reset the GPU indicator before testing whether register space in the shader
+ * is available for running GPU-based animation code.
+ *
+ * @private
+
+
+
+ away3d
+ * Called by the animator to void the GPU indicator when register space in the shader
+ * is no longer available for running GPU-based animation code.
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+ away3d
+ * Generates the AGAL Vertex code for the animation, tailored to the material pass's requirements.
+ *
+ * @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
+ * @sourceRegisters The animatable attribute registers of the material pass.
+ * @targetRegisters The animatable target registers of the material pass.
+ * @return The AGAL Vertex code that animates the vertex data.
+ *
+ * @private
+
+
+
+
+
+
+
+
+ away3d
+ * Generates the AGAL Fragment code for the animation, tailored to the material pass's requirements.
+ *
+ * @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
+ * @return The AGAL Vertex code that animates the vertex data.
+ *
+ * @private
+
+
+
+
+
+
+
+
+ away3d
+ * Generates the extra AGAL Fragment code for the animation when UVs are required, tailored to the material pass's requirements.
+ *
+ * @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
+ * @param UVSource String representing the UV source register.
+ * @param UVTarget String representing the UV target register.
+ * @return The AGAL UV code that animates the UV data.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Resets any constants used in the creation of AGAL for the vertex and fragment shaders.
+ *
+ * @param pass The material pass currently being used to render the geometry.
+ *
+ * @private
+
+
+
+
+
+
+
+ away3d
+ * Sets the GPU render state required by the animation that is independent of the rendered mesh.
+ *
+ * @param stage3DProxy The proxy currently performing the rendering.
+ * @param pass The material pass currently being used to render the geometry.
+ *
+ * @private
+
+
+
+
+
+
+
+ away3d
+ * Clears the GPU render state that has been set by the current animation.
+ *
+ * @param stage3DProxy The proxy currently performing the rendering.
+ * @param pass The material pass currently being used to render the geometry.
+ *
+ * @private
+
+ * Provides an interface for data set classes that hold animation data for use in animator classes.
+ *
+ * @see away3d.animators.IAnimator
+
+
+
+
+
+
+
+
+
+
+
+ * Returns the animation data set in use by the animator.
+
+
+
+
+
+
+
+
+
+
+ * Sets the GPU render state required by the animation that is dependent of the rendered object.
+ *
+ * @param stage3DProxy The Stage3DProxy object which is currently being used for rendering.
+ * @param renderable The object currently being rendered.
+ * @param vertexConstantOffset The first available vertex register to write data to if running on the gpu.
+ * @param vertexStreamOffset The first available vertex stream to write vertex data to if running on the gpu.
+
+
+
+
+
+
+ * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu.
+ * Needs to be called if gpu code is potentially required.
+
+
+
+
+
+
+ away3d
+ * Used by the mesh object to which the animator is applied, registers the owner for internal use.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Used by the mesh object from which the animator is removed, unregisters the owner for internal use.
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+
+
+ * Returns a shallow clone (re-using the same IAnimationSet) of this IAnimator.
+
+
+ AnimationSetBase.
+ *
+ * @see away3d.animators.IAnimationSet]]>
+
+
+
+
+
+
+
+ 9
+ * Property used by particle nodes that require compilation at the end of the shader
+
+
+
+ 18
+ * Property used by particle nodes that require color compilation
+
+
+ <_animationRegisterCache>
+
+ away3d
+ @private
+
+ <_timeNode>
+ <_animationSubGeometries expr="new Map()">
+
+
+
+
+ new Map()
+
+ <_particleNodes expr="new Vector<ParticleNodeBase>()">
+
+ ()]]>
+
+ <_localDynamicNodes expr="new Vector<ParticleNodeBase>()">
+
+ ()]]>
+
+ <_localStaticNodes expr="new Vector<ParticleNodeBase>()">
+
+ ()]]>
+
+ <_totalLenOfOneVertex expr="0">
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ * function initParticleFunc(prop:ParticleProperties):void
+ * {
+ * //code for settings local properties
+ * }
+ *
+ *
+ * Aside from setting any properties required in particle animation nodes using local static properties, the initParticleFunc function
+ * is required to time node requirements as they may be needed. These properties on the ParticleProperties object can include
+ * startTime, duration and delay. The use of these properties is determined by the setting
+ * arguments passed in the constructor of the particle animation set. By default, only the startTime property is required.]]>
+
+
+
+ * Returns a vector of the particle animation nodes contained within the set.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ away3d
+ @private
+
+
+
+
+
+
+
+
+ { usesDelay : false, usesLooping : false, usesDuration : false }
+ ParticleAnimationSet
+ *
+ * @param [optional] usesDuration Defines whether the animation set uses the duration data in its static properties function to determine how long a particle is visible for. Defaults to false.
+ * @param [optional] usesLooping Defines whether the animation set uses a looping timeframe for each particle determined by the startTime, duration and delay data in its static properties function. Defaults to false. Requires usesDuration to be true.
+ * @param [optional] usesDelay Defines whether the animation set uses the delay data in its static properties function to determine how long a particle is hidden for. Defaults to false. Requires usesLooping to be true.]]>
+
+ * The animation data set used by particle-based animators, containing particle animation data.
+ *
+ * @see away3d.animators.ParticleAnimator
+
+
+
+
+
+ <_particleAnimationSet public="1">
+ <_animationParticleStates expr="new Vector<ParticleStateBase>()">
+
+ ()]]>
+
+ <_animatorParticleStates expr="new Vector<ParticleStateBase>()">
+
+ ()]]>
+
+ <_timeParticleStates expr="new Vector<ParticleStateBase>()">
+
+ ()]]>
+
+ <_totalLenOfOneVertex expr="0">
+
+ 0
+
+ <_animatorSubGeometries expr="new Map()">
+
+
+
+
+ new Map()
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { offset : 0 }
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ ParticleAnimator object.
+ *
+ * @param particleAnimationSet The animation data set containing the particle animations used by the animator.]]>
+
+ * Provides an interface for assigning paricle-based animation data sets to mesh-based entity objects
+ * and controlling the various available states of animation through an interative playhead that can be
+ * automatically updated or manually triggered.
+ *
+ * Requires that the containing geometry of the parent mesh is particle geometry
+ *
+ * @see away3d.core.base.ParticleGeometry
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_path>
+ <_time>
+ <_index expr="0">
+
+ 0
+
+ <_rotations>
+ <_alignToPath>
+ <_target>
+ <_lookAtTarget>
+ <_offset>
+ <_tmpOffset>
+ <_position expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_lastTime>
+ <_from>
+ <_to>
+ <_bRange>
+ <_bSegment>
+ <_bCycle>
+ <_lastSegment expr="0">
+
+ 0
+
+ <_rot>
+ <_upAxis expr="new Vector3D(0, 1, 0)">
+
+ new Vector3D(0, 1, 0)
+
+ <_basePosition expr="new Vector3D(0, 0, 0)">
+
+ new Vector3D(0, 0, 0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { z : 0, y : 0, x : 0 }
+ Path object for parallel animations]]>
+
+
+
+
+
+
+ * Calculates the new position and set the object on the path accordingly
+ *
+ * @param t A Number from 0 to 1 (less than one to allow alignToPath)
+
+
+
+
+
+
+
+ * Updates a position Vector3D on the path at a given time. Do not use this handler to animate, it's in there to add dummy's or place camera before or after
+ * the animated object. Use the update() or the automatic tweened animateOnPath() handlers instead.
+ *
+ * @param t Number. A Number from 0 to 1
+ * @param out Vector3D. The Vector3D to update according to the "t" time parameter.
+
+
+
+
+
+
+
+
+ * Returns a position on the path according to duration/elapsed time. Duration variable must be set.
+ *
+ * @param ms Number. A number representing milliseconds.
+ * @param duration Number. The total duration in milliseconds.
+ * @param out [optional] Vector3D. A Vector3D that will be used to return the position. If none provided, method returns a new Vector3D with this data.
+ *
+ * An example of use of this handler would be cases where a given "lap" must be done in a given amount of time and you would want to retrieve the "ideal" time
+ * based on elapsed time since start of the race. By comparing actual progress to ideal time, you could extract their classement, calculate distance/time between competitors,
+ * abort the race if goal is impossible to be reached in time etc...
+ *
+ *@ returns Vector3D The position at a given elapsed time, compared to total duration.
+
+
+
+
+
+
+ * defines if the object animated along the path must be aligned to the path.
+
+
+
+
+ * returns the current interpolated position on the path with no optional offset applied
+
+
+
+
+
+
+ * defines the path to follow
+ * @see Path
+
+
+
+
+ * Represents the progress of the animation playhead from the start (0) to the end (1) of the animation.
+
+
+
+
+
+
+
+
+
+
+ { t : null }
+ * returns the segment index that is used at a given time;
+ * @param t [Number]. A Number between 0 and 1. If no params, actual pathanimator time segment index is returned.
+
+
+
+ * returns the actual interpolated rotation along the path.
+
+
+
+
+
+
+ * sets the object to be animated along the path.
+
+
+
+
+
+
+
+ * sets the object that the animated object will be looking at along the path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Set the pointer to a given segment along the path
+
+
+
+
+
+
+
+
+
+
+ * Default method for adding a cycle event listener. Event fired when the time reaches 1.
+ *
+ * @param listener The listener function
+
+
+
+
+
+
+
+
+
+ * Default method for removing a cycle event listener
+ *
+ * @param listener The listener function
+
+
+
+
+
+
+
+
+
+
+
+ { to : 0, from : 0 }
+
+
+
+
+
+
+
+
+
+
+ * Default method for removing a range event listener
+ *
+ * @param listener The listener function
+
+
+
+
+
+
+
+
+
+ * Default method for adding a segmentchange event listener. Event fired when the time pointer enters another PathSegment.
+ *
+ * @param listener The listener function
+
+
+
+
+
+
+
+
+
+ * Default method for removing a range event listener
+ *
+ * @param listener The listener function
+
+
+
+
+
+
+
+
+
+
+
+ { rotate : false }
+
+
+
+
+
+
+
+
+
+
+
+ { rotations : null, lookAtTarget : null, alignToPath : true, offset : null, target : null, path : null }
+ PathAnimator
+ *
+ * @param [optional] path The QuadraticPath to animate onto.
+ * @param [optional] target An Object3D, the object to animate along the path. It can be Mesh, Camera, ObjectContainer3D...
+ * @param [optional] offset A Vector3D to define the target offset to its location on the path.
+ * @param [optional] alignToPath Defines if the object animated along the path is orientated to the path. Default is true.
+ * @param [optional] lookAtTarget An Object3D that the target will constantly look at during animation.
+ * @param [optional] rotations A Vector.<Vector3D> to define rotations per pathsegments. If PathExtrude is used to simulate the "road", use the very same rotations vector.]]>
+
+
+
+
+
+
+ <_jointsPerVertex>
+
+
+ * Returns the amount of skeleton joints that can be linked to a single vertex via skinned weight values. For GPU-base animation, the
+ * maximum allowed value is 4.
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { jointsPerVertex : 4 }
+ SkeletonAnimationSet object.
+ *
+ * @param jointsPerVertex Sets the amount of skeleton joints that can be linked to a single vertex via skinned weight values. For GPU-base animation, the maximum allowed value is 4. Defaults to 4.]]>
+
+ * The animation data set used by skeleton-based animators, containing skeleton animation data.
+ *
+ * @see away3d.animators.SkeletonAnimator
+
+
+
+
+
+
+
+
+
+
+ <_globalMatrices>
+ <_globalPose expr="new SkeletonPose()">
+
+ new SkeletonPose()
+
+ <_globalPropertiesDirty>
+ <_numJoints>
+ <_skeletonAnimationStates expr="new Map()">
+
+
+
+
+ new Map()
+
+ <_condensedMatrices>
+ <_skeleton>
+ <_forceCPU>
+ <_useCondensedIndices>
+ <_jointsPerVertex>
+ <_activeSkeletonState>
+
+
+ * returns the calculated global matrices of the current skeleton pose.
+ *
+ * @see #globalPose
+
+
+
+ * returns the current skeleton pose output from the animator.
+ *
+ * @see away3d.animators.data.SkeletonPose
+
+
+
+ * Returns the skeleton object in use by the animator - this defines the number and heirarchy of joints used by the
+ * skinned geoemtry to which skeleon animator is applied.
+
+
+
+ * Indicates whether the skeleton animator is disabled by default for GPU rendering, something that allows the animator to perform calculation on the GPU.
+ * Defaults to false.
+
+
+
+ * Offers the option of enabling GPU accelerated animation on skeletons larger than 32 joints
+ * by condensing the number of joint index values required per mesh. Only applicable to
+ * skeleton animations that utilise more than one mesh object. Defaults to false.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { offset : null, transition : null }
+ * Plays an animation state registered with the given name in the animation data set.
+ *
+ * @param name The data set name of the animation state to be played.
+ * @param transition An optional transition object that determines how the animator will transition from the currently active animation state.
+ * @param offset An option offset time (in milliseconds) that resets the state's internal clock to the absolute time of the animator plus the offset value. Required for non-looping animation states.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Applies the calculated time delta to the active animation state node or state transition object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * If the animation can't be performed on GPU, transform vertices manually
+ * @param subGeom The subgeometry containing the weights and joint index data per vertex.
+ * @param pass The material pass for which we need to transform the vertices
+
+
+
+
+
+
+
+
+ * Converts a local hierarchical skeleton pose to a global pose
+ * @param targetPose The SkeletonPose object that will contain the global pose.
+ * @param skeleton The skeleton containing the joints, and as such, the hierarchical data to transform to global poses.
+
+
+
+
+
+
+
+
+
+
+
+
+ { forceCPU : false }
+ SkeletonAnimator object.
+ *
+ * @param skeletonAnimationSet The animation data set containing the skeleton animations used by the animator.
+ * @param skeleton The skeleton object used for calculating the resulting global matrices for transforming skinned mesh data.
+ * @param forceCPU Optional value that only allows the animator to perform calculation on the CPU. Defaults to false.]]>
+
+ * Provides an interface for assigning skeleton-based animation data sets to mesh-based entity objects
+ * and controlling the various available states of animation through an interative playhead that can be
+ * automatically updated or manually triggered.
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+ <_agalCode>
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+ * The animation data set containing the Spritesheet animation state data.
+ *
+ * @see away3d.animators.SpriteSheetAnimator
+ * @see away3d.animators.SpriteSheetAnimationState
+
+
+
+
+
+
+
+
+
+ <_activeSpriteSheetState>
+ <_spriteSheetAnimationSet>
+ <_frame expr="new SpriteSheetAnimationFrame()">
+
+ new SpriteSheetAnimationFrame()
+
+ <_vectorFrame>
+ <_fps expr="10">
+
+ 10
+
+ <_ms expr="100">
+
+ 100
+
+ <_lastTime expr="0">
+
+ 0
+
+ <_reverse>
+ <_backAndForth>
+ <_specsDirty>
+ <_mapDirty>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { offset : null, transition : null }
+ * @inheritDoc
+
+
+
+
+
+
+ * Applies the calculated time delta to the active animation state node.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SpriteSheetAnimator object.
+ * @param spriteSheetAnimationSet The animation data set containing the sprite sheet animation states used by the animator.]]>
+
+ * Provides an interface for assigning uv-based sprite sheet animation data sets to mesh-based entity objects
+ * and controlling the various available states of animation through an interative playhead that can be
+ * automatically updated or manually triggered.
+
+
+
+
+
+ <_agalCode>
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+ * The animation data set used by uv-based animators, containing uv animation state data.
+ *
+ * @see away3d.animators.UVAnimator
+ * @see away3d.animators.UVAnimationState
+
+
+
+
+
+
+
+
+ <_uvAnimationSet>
+ <_deltaFrame expr="new UVAnimationFrame()">
+
+ new UVAnimationFrame()
+
+ <_activeUVState>
+ <_uvTransform>
+ <_matrix2d>
+ <_translate>
+ <_autoRotation>
+ <_rotationIncrease expr="1">
+
+ 1
+
+ <_autoTranslate>
+ <_translateIncrease>
+
+
+
+
+
+ * Defines if a rotation is performed automatically each update. The rotationIncrease value is added each iteration.
+
+
+
+
+
+
+
+ * if autoRotation = true, the rotation is increased by the rotationIncrease value. Default is 1;
+
+
+
+
+
+
+
+ * Defines if the animation is translated automatically each update. Ideal to scroll maps. Use setTranslateIncrease to define the offsets.
+
+
+
+
+
+
+
+
+ * if autoTranslate = true, animation is translated automatically each update with the u and v values.
+ * Note if value are integers, no visible update will be performed. Values are expected to be in 0-1 range.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { offset : null, transition : null }
+ * @inheritDoc
+
+
+
+
+
+
+ * Applies the calculated time delta to the active animation state node.
+
+
+
+
+
+
+ * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu.
+ * Needs to be called if gpu code is potentially required.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ UVAnimator object.
+ *
+ * @param uvAnimationSet The animation data set containing the uv animations used by the animator.]]>
+
+ * Provides an interface for assigning uv-based animation data sets to mesh-based entity objects
+ * and controlling the various available states of animation through an interative playhead that can be
+ * automatically updated or manually triggered.
+
+
+
+
+
+
+
+ <_numPoses>
+ <_blendMode>
+ <_streamIndices expr="new Map()">
+
+
+
+
+ new Map()
+
+ <_useNormals expr="new Map()">
+
+
+
+
+ new Map()
+
+ <_useTangents expr="new Map()">
+
+
+
+
+ new Map()
+
+ <_uploadNormals>
+ <_uploadTangents>
+
+
+ * Returns the number of poses made available at once to the GPU animation code.
+
+
+
+ * Returns the active blend mode of the vertex animator object.
+
+
+
+ * Returns whether or not normal data is used in last set GPU pass of the vertex shader.
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * Generates the vertex AGAL code for absolute blending.
+
+
+
+
+
+
+
+
+ * Generates the vertex AGAL code for additive blending.
+
+
+
+
+
+
+
+ { blendMode : "absolute", numPoses : 2 }
+ VertexAnimationSet object.
+ *
+ * @param numPoses The number of poses made available at once to the GPU animation code.
+ * @param blendMode Optional value for setting the animation mode of the vertex animator object.
+ *
+ * @see away3d.animators.data.VertexAnimationMode]]>
+
+ * The animation data set used by vertex-based animators, containing vertex animation state data.
+ *
+ * @see away3d.animators.VertexAnimator
+
+
+
+
+
+ <_vertexAnimationSet>
+ <_poses expr="new Vector<Geometry>()">
+
+ ()]]>
+
+ <_weights expr="Vector.ofArray([1, 0, 0, 0.0])">
+
+ Vector.ofArray([1, 0, 0, 0.0])
+
+ <_numPoses>
+ <_blendMode>
+ <_activeVertexState>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { offset : null, transition : null }
+ * Plays a sequence with a given name. If the sequence is not found, it may not be loaded yet, and it will retry every frame.
+ * @param sequenceName The name of the clip to be played.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu.
+ * Needs to be called if gpu code is potentially required.
+
+
+
+
+
+
+ VertexAnimator object.
+ *
+ * @param vertexAnimationSet The animation data set containing the vertex animations used by the animator.]]>
+
+ * Provides an interface for assigning vertex-based animation data sets to mesh-based entity objects
+ * and controlling the various available states of animation through an interative playhead that can be
+ * automatically updated or manually triggered.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_fragmentTempCache>
+ <_vertexTempCache>
+ <_varyingCache>
+ <_fragmentConstantsCache>
+ <_vertexConstantsCache>
+ <_textureCache>
+ <_vertexAttributesCache>
+ <_vertexConstantOffset>
+ <_vertexAttributesOffset>
+ <_varyingsOffset>
+ <_fragmentConstantOffset>
+ <_fragmentOutputRegister>
+ <_vertexOutputRegister>
+ <_numUsedVertexConstants>
+ <_numUsedFragmentConstants>
+ <_numUsedStreams>
+ <_numUsedTextures>
+ <_numUsedVaryings>
+ <_profile>
+
+
+ * Resets all registers.
+
+
+
+ * Disposes all resources used.
+
+
+
+
+
+
+
+ * Marks a fragment temporary register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage
+ * has been called usageCount times again.
+ * @param register The register to mark as used.
+ * @param usageCount The amount of usages to add.
+
+
+
+
+
+
+ * Removes a usage from a fragment temporary register. When usages reach 0, the register is freed again.
+ * @param register The register for which to remove a usage.
+
+
+
+
+
+
+
+ * Marks a vertex temporary register as used, so it cannot be retrieved. The register won't be able to be used
+ * until removeUsage has been called usageCount times again.
+ * @param register The register to mark as used.
+ * @param usageCount The amount of usages to add.
+
+
+
+
+
+
+ * Removes a usage from a vertex temporary register. When usages reach 0, the register is freed again.
+ * @param register The register for which to remove a usage.
+
+
+
+ * Retrieve an entire fragment temporary register that's still available. The register won't be able to be used until removeUsage
+ * has been called usageCount times again.
+
+
+
+ * Retrieve a single component from a fragment temporary register that's still available.
+
+
+
+ * Retrieve an available varying register
+
+
+
+ * Retrieve an available fragment constant register
+
+
+
+ * Retrieve an available vertex constant register
+
+
+
+ * Retrieve an entire vertex temporary register that's still available.
+
+
+
+ * Retrieve a single component from a vertex temporary register that's still available.
+
+
+
+ * Retrieve an available vertex attribute register
+
+
+
+ * Retrieve an available texture register
+
+
+
+ * Indicates the start index from which to retrieve vertex constants.
+
+
+
+
+
+
+
+ * Indicates the start index from which to retrieve vertex attributes.
+
+
+
+
+
+
+
+ * Indicates the start index from which to retrieve varying registers.
+
+
+
+
+
+
+
+ * Indicates the start index from which to retrieve fragment constants.
+
+
+
+
+
+
+
+ * The fragment output register.
+
+
+
+ * The amount of used vertex constant registers.
+
+
+
+ * The amount of used fragment constant registers.
+
+
+
+ * The amount of used vertex streams.
+
+
+
+ * The amount of used texture slots.
+
+
+
+ * The amount of used varying registers.
+
+
+
+
+
+
+ * Create a new ShaderRegisterCache object.
+ *
+ * @param profile The compatibility profile used by the renderer.
+
+ * ShaderRegister Cache provides the usage management system for all registers during shading compilation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new Map()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+ <_numVertexConstant>
+ <_numFragmentConstant>
+
+
+
+
+
+
+
+
+
+
+
+
+ { w : 0, z : 0, y : 0, x : 0 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { w : 0, z : 0, y : 0, x : 0 }
+
+
+
+
+
+ * ...
+
+
+
+
+
+
+ <_vertexData>
+ <_vertexBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_bufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_bufferDirty expr="new Vector<Bool>(8)">
+
+ (8)]]>
+
+ <_numVertices>
+ <_totalLenOfOneVertex>
+
+
+ 0
+
+
+
+ Math.NEGATIVE_INFINITY
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_color>
+ <_life>
+
+
+
+
+
+
+
+
+
+
+
+ * The name of the joint to which the pose is associated
+
+
+
+ new Quaternion()
+ * The rotation of the pose stored as a quaternion
+
+
+
+ new Vector3D()
+ * The translation of the pose
+
+
+
+
+
+
+ { target : null }
+ * Converts the transformation to a Matrix3D representation.
+ *
+ * @param target An optional target matrix to store the transformation. If not provided, it will create a new instance.
+ * @return The transformation matrix of the pose.
+
+
+
+
+
+
+ * Copies the transformation data from a source pose object into the existing pose object.
+ *
+ * @param pose The source pose to copy from.
+
+
+ * Contains transformation data for a skeleton joint, used for skeleton animation.
+ *
+ * @see away3d.animation.data.Skeleton
+ * @see away3d.animation.data.SkeletonJoint
+ *
+ * todo: support (uniform) scale
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ * The index of the current particle being set.
+
+
+
+ * The total number of particles being processed by the particle animation set.
+
+
+
+ * The start time of the particle.
+
+
+
+ useDuration are enabled in the constructor.
+ *
+ * @see away3d.animators.ParticleAnimationSet]]>
+
+
+
+ useLooping and useDelay are enabled in the constructor.
+ *
+ * @see away3d.animators.ParticleAnimationSet]]>
+
+
+
+
+
+
+ new Map()
+
+
+ * Dynamic class for holding the local properties of a particle, used for processing the static properties
+ * of particles in the particle animation set before beginning upload to the GPU.
+
+
+
+
+
+ 0
+ * Mode that defines the particle node as acting on global properties (ie. the properties set in the node constructor or the corresponding animation state).
+
+
+
+ 1
+ * Mode that defines the particle node as acting on local static properties (ie. the properties of particles set in the initialising function on the animation set).
+
+
+
+ 2
+ * Mode that defines the particle node as acting on local dynamic properties (ie. the properties of the particles set in the corresponding animation state).
+
+ * Options for setting the properties mode of a particle animation node.
+
+
+
+
+
+
+
+
+ * A flat list of joint objects that comprise the skeleton. Every joint except for the root has a parentIndex
+ * property that is an index into this list.
+ * A child joint should always have a higher index than its parent.
+
+
+
+ * The total number of joints in the skeleton.
+
+
+
+
+
+
+ * Returns the joint object in the skeleton with the given name, otherwise returns a null object.
+ *
+ * @param jointName The name of the joint object to be found.
+ * @return The joint object with the given name.
+ *
+ * @see #joints
+
+
+
+
+
+
+ * Returns the joint index, given the joint name. -1 is returned if the joint name is not found.
+ *
+ * @param jointName The name of the joint object to be found.
+ * @return The index of the joint object in the joints vector.
+ *
+ * @see #joints
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ Skeleton object]]>
+
+ * A Skeleton object is a hierarchical grouping of joint objects that can be used for skeletal animation.
+ *
+ * @see away3d.animators.data.SkeletonJoint
+
+
+
+
+
+ -1
+ * The index of the parent joint in the skeleton's joints vector.
+ *
+ * @see away3d.animators.data.Skeleton#joints
+
+
+
+ * The name of the joint
+
+
+
+ * The inverse bind pose matrix, as raw data, used to transform vertices to bind joint space in preparation for transformation using the joint matrix.
+
+
+
+ SkeletonJoint object]]>
+
+ * A value obect representing a single joint in a skeleton object.
+ *
+ * @see away3d.animators.data.Skeleton
+
+
+
+
+
+
+
+
+
+ * A flat list of pose objects that comprise the skeleton pose. The pose indices correspond to the target skeleton's joint indices.
+ *
+ * @see away3d.animators.data.Skeleton#joints
+
+
+
+ * The total number of joint poses in the skeleton pose.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Returns the joint pose object with the given joint name, otherwise returns a null object.
+ *
+ * @param jointName The name of the joint object whose pose is to be found.
+ * @return The pose object with the given joint name.
+
+
+
+
+
+
+ * Returns the pose index, given the joint name. -1 is returned if the joint name is not found in the pose.
+ *
+ * @param The name of the joint object whose pose is to be found.
+ * @return The index of the pose object in the jointPoses vector.
+ *
+ * @see #jointPoses
+
+
+
+ SkeletonPose object, with a dulpicate of its component joint poses.
+ *
+ * @return SkeletonPose]]>
+
+
+
+ * @inheritDoc
+
+
+
+ SkeletonPose object.]]>
+
+ jointPoses vector object corresponds to a skeleton's joints vector object, however, there is no
+ * reference to a skeleton's instance, since several skeletons can be influenced by the same pose (eg: animation
+ * clips are added to any animator with a valid skeleton)
+ *
+ * @see away3d.animators.data.Skeleton
+ * @see away3d.animators.data.JointPose]]>
+
+
+
+
+
+ * The u-component offset of the spritesheet frame.
+
+
+
+ * The v-component offset of the spritesheet frame.
+
+
+
+ * The u-component scale of the spritesheet frame.
+
+
+
+ * The v-component scale of the spritesheet frame.
+
+
+
+ * The mapID, zero based, if the animation is spreaded over more bitmapData's
+
+
+
+
+
+
+
+
+
+
+ { mapID : 0, scaleV : 1, scaleU : 1, offsetV : 0, offsetU : 0 }
+ SpriteSheetAnimationFrame object.
+ *
+ * @param offsetU The u-component offset of the spritesheet frame.
+ * @param offsetV The v-component offset of the spritesheet frame.
+ * @param scaleU The u-component scale of the spritesheet frame.
+ * @param scaleV The v-component scale of the spritesheet frame.
+ * @param mapID The v-component scale of the spritesheet frame.]]>
+
+ SpriteSheetClipNode object.
+ *
+ * @see away3d.animators.nodes.SpriteSheetClipNode]]>
+
+
+
+
+
+ * The u-component offset of the UV animation frame.
+
+
+
+ * The v-component offset of the UV animation frame.
+
+
+
+ * The u-component scale of the UV animation frame.
+
+
+
+ * The v-component scale of the UV animation frame.
+
+
+
+ * The rotation value (in degrees) of the UV animation frame.
+
+
+
+
+
+
+
+
+
+
+ { rotation : 0, scaleV : 1, scaleU : 1, offsetV : 0, offsetU : 0 }
+ UVAnimationFrame object.
+ *
+ * @param offsetU The u-component offset of the UV animation frame.
+ * @param offsetV The v-component offset of the UV animation frame.
+ * @param scaleU The u-component scale of the UV animation frame.
+ * @param scaleV The v-component scale of the UV animation frame.
+ * @param rotation The rotation value (in degrees) of the UV animation frame.]]>
+
+ UVClipNode object.
+ *
+ * @see away3d.animators.nodes.UVClipNode]]>
+
+
+
+
+
+ "additive"
+ * Animation mode that adds all outputs from active vertex animation state to form the current vertex animation pose.
+
+
+
+ "absolute"
+ * Animation mode that picks the output from a single vertex animation state to form the current vertex animation pose.
+
+ * Options for setting the animation mode of a vertex animator object.
+ *
+ * @see away3d.animators.VertexAnimator
+
+
+
+
+
+
+
+
+
+
+
+ <_stateConstructor>
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ AnimationNodeBase object.]]>
+
+ * Provides an abstract base class for nodes in an animation blend tree.
+
+
+
+
+
+
+
+
+
+ <_looping expr="true">
+
+ true
+
+ <_totalDuration expr="0">
+
+ 0
+
+ <_lastFrame>
+ <_stitchDirty expr="true">
+
+ true
+
+ <_stitchFinalFrame expr="false">
+
+ false
+
+ <_numFrames expr="0">
+
+ 0
+
+ <_durations expr="new Vector<UInt>()">
+
+ ()]]>
+
+ <_totalDelta expr="new Vector3D()">
+
+ new Vector3D()
+
+
+
+ true
+
+
+
+ * Determines whether the contents of the animation node have looping characteristics enabled.
+
+
+
+
+
+
+
+ * Defines if looping content blends the final frame of animation data with the first (true) or works on the
+ * assumption that both first and last frames are identical (false). Defaults to false.
+
+
+
+
+
+
+
+
+
+
+ * Returns a vector of time values representing the duration (in milliseconds) of each animation frame in the clip.
+
+
+
+ * Updates the node's final frame stitch state.
+ *
+ * @see #stitchFinalFrame
+
+
+
+ AnimationClipNodeBase object.]]>
+
+ * Provides an abstract base class for nodes with time-based animation data in an animation blend tree.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Returns the current SpriteSheetAnimationFrame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns the current frame number.
+
+ * Provides an interface for animation node classes that hold animation data for use in the SpriteSheetAnimator class.
+ *
+ * @see away3d.animators.SpriteSheetAnimator
+
+
+
+
+
+ "Global"
+
+
+
+ "LocalStatic"
+
+
+
+ "LocalDynamic"
+
+
+
+ [GLOBAL, LOCAL_STATIC, LOCAL_DYNAMIC]
+
+
+
+
+
+
+
+ *
+ * @param particleNodeClass - class of ParticleNodeBase child e.g ParticleBillboardNode, ParticleFollowNode...
+ * @param particleNodeMode - mode of particle node ParticlePropertiesMode.GLOBAL, ParticlePropertiesMode.LOCAL_DYNAMIC or ParticlePropertiesMode.LOCAL_STATIC
+ * @return particle node name
+
+
+
+
+
+
+
+
+
+ <_mode>
+ <_priority>
+ <_dataLength expr="3">
+
+ 3
+
+ <_oneData>
+
+
+ away3d
+
+
+
+ * Returns the property mode of the particle animation node. Typically set in the node constructor
+ *
+ * @see away3d.animators.data.ParticlePropertiesMode
+
+
+
+ * Returns the priority of the particle animation node, used to order the agal generated in a particle animation set. Set automatically on instantiation.
+ *
+ * @see away3d.animators.ParticleAnimationSet
+ * @see #getAGALVertexCode
+
+
+
+ LOCAL_STATIC mode. Used to generate the local static data of the particle animation set.
+ *
+ * @see away3d.animators.ParticleAnimationSet
+ * @see #getAGALVertexCode]]>
+
+
+
+ * Returns the generated data vector of the node after one particle pass during the generation of all local static data of the particle animation set.
+ *
+ * @see away3d.animators.ParticleAnimationSet
+ * @see #generatePropertyOfOneParticle
+
+
+
+
+
+
+
+ * Returns the AGAL code of the particle animation node for use in the vertex shader.
+
+
+
+
+
+
+
+ * Returns the AGAL code of the particle animation node for use in the fragment shader.
+
+
+
+
+
+
+
+ * Returns the AGAL code of the particle animation node for use in the fragment shader when UV coordinates are required.
+
+
+
+
+
+
+ away3d
+ * Called internally by the particle animation set when assigning the set of static properties originally defined by the initParticleFunc of the set.
+ *
+ * @see away3d.animators.ParticleAnimationSet#initParticleFunc
+
+
+
+
+
+
+ away3d
+ * Called internally by the particle animation set when determining the requirements of the particle animation node AGAL.
+
+
+
+
+
+
+
+
+
+ { priority : 1 }
+ ParticleNodeBase object.
+ *
+ * @param name Defines the generic name of the particle animation node.
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param dataLength Defines the length of the data used by the node when in LOCAL_STATIC mode.
+ * @param [optional] priority the priority of the particle animation node, used to order the agal generated in a particle animation set. Defaults to 1.]]>
+
+ * Provides an abstract base class for particle animation nodes.
+
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ "AccelerationVector3D"
+ Vector3D object representing the direction of acceleration on the particle.]]>
+
+ <_acceleration>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { acceleration : null }
+ ParticleAccelerationNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] acceleration Defines the default acceleration vector of the node, used when in global mode.]]>
+
+ * A particle animation node used to apply a constant acceleration vector to the motion of a particle.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+ "BezierControlVector3D"
+ Vector3D object representing the control point position (0, 1, 2) of the curve.]]>
+
+
+
+ "BezierEndVector3D"
+ Vector3D object representing the end point position (0, 1, 2) of the curve.]]>
+
+ <_controlPoint>
+
+ away3d
+ @private
+
+ <_endPoint>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { endPoint : null, controlPoint : null }
+ ParticleBezierCurveNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] controlPoint Defines the default control point of the node, used when in global mode.
+ * @param [optional] endPoint Defines the default end point of the node, used when in global mode.]]>
+
+ * A particle animation node used to control the position of a particle over time along a bezier curve.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+ <_billboardAxis>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { billboardAxis : null }
+ ParticleBillboardNode]]>
+
+ * A particle animation node that controls the rotation of a particle to always face the camera.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+
+ 2
+ away3d
+
+ @private
+
+
+
+
+ 3
+ away3d
+
+ @private
+
+
+
+
+ 4
+ away3d
+
+ @private
+
+
+
+ "ColorStartColorTransform"
+ ColorTransform object representing the start color transform applied to the particle.]]>
+
+
+
+ "ColorEndColorTransform"
+ ColorTransform object representing the end color transform applied to the particle.]]>
+
+ <_usesMultiplier>
+
+ away3d
+ @private
+
+ <_usesOffset>
+
+ away3d
+ @private
+
+ <_usesCycle>
+
+ away3d
+ @private
+
+ <_usesPhase>
+
+ away3d
+ @private
+
+ <_startColor>
+
+ away3d
+ @private
+
+ <_endColor>
+
+ away3d
+ @private
+
+ <_cycleDuration>
+
+ away3d
+ @private
+
+ <_cyclePhase>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { cyclePhase : 0, cycleDuration : 1, endColor : null, startColor : null, usesPhase : false, usesCycle : false, usesOffset : true, usesMultiplier : true }
+ ParticleColorNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] usesMultiplier Defines whether the node uses multiplier data in the shader for its color transformations. Defaults to true.
+ * @param [optional] usesOffset Defines whether the node uses offset data in the shader for its color transformations. Defaults to true.
+ * @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of the animation independent of particle duration. Defaults to false.
+ * @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the cycle rotation of the particle. Defaults to false.
+ * @param [optional] startColor Defines the default start color transform of the node, when in global mode.
+ * @param [optional] endColor Defines the default end color transform of the node, when in global mode.
+ * @param [optional] cycleDuration Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
+ * @param [optional] cyclePhase Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.]]>
+
+ * A particle animation node used to control the color variation of a particle over time.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+ <_usesPosition>
+
+ away3d
+ @private
+
+ <_usesRotation>
+
+ away3d
+ @private
+
+ <_smooth>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { smooth : false, usesRotation : true, usesPosition : true }
+ ParticleFollowNode
+ *
+ * @param [optional] usesPosition Defines wehether the individual particle reacts to the position of the target.
+ * @param [optional] usesRotation Defines wehether the individual particle reacts to the rotation of the target.
+ * @param [optional] smooth Defines wehether the state calculate the interpolated value.]]>
+
+ * A particle animation node used to create a follow behaviour on a particle system.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+ "ColorInitialColorTransform"
+ ColorTransform object representing the color transform applied to the particle.]]>
+
+ <_usesMultiplier>
+
+ away3d
+ @private
+
+ <_usesOffset>
+
+ away3d
+ @private
+
+ <_initialColor>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { initialColor : null, usesOffset : false, usesMultiplier : true }
+
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+ "OrbitVector3D"
+ Vector3D object representing the radius (x), cycle speed (y) and cycle phase (z) of the motion on the particle.]]>
+
+ <_usesEulers>
+
+ away3d
+ @private
+
+ <_usesCycle>
+
+ away3d
+ @private
+
+ <_usesPhase>
+
+ away3d
+ @private
+
+ <_radius>
+
+ away3d
+ @private
+
+ <_cycleDuration>
+
+ away3d
+ @private
+
+ <_cyclePhase>
+
+ away3d
+ @private
+
+ <_eulers>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { eulers : null, cyclePhase : 0, cycleDuration : 1, radius : 100, usesPhase : false, usesCycle : false, usesEulers : true }
+ ParticleOrbitNode object.
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] usesEulers Defines whether the node uses the eulers property in the shader to calculate a rotation on the orbit. Defaults to true.
+ * @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of the orbit independent of particle duration. Defaults to false.
+ * @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the cycle rotation of the particle. Defaults to false.
+ * @param [optional] radius Defines the radius of the orbit when in global mode. Defaults to 100.
+ * @param [optional] cycleDuration Defines the duration of the orbit in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
+ * @param [optional] cyclePhase Defines the phase of the orbit in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.
+ * @param [optional] eulers Defines the euler rotation in degrees, applied to the orientation of the orbit when in global mode.]]>
+
+ * A particle animation node used to control the position of a particle over time around a circular orbit.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ "OscillatorVector3D"
+ Vector3D object representing the axis (x,y,z) and cycle speed (w) of the motion on the particle.]]>
+
+ <_oscillator>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { oscillator : null }
+ ParticleOscillatorNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] oscillator Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the node, used when in global mode.]]>
+
+ * A particle animation node used to control the position of a particle over time using simple harmonic motion.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ "PositionVector3D"
+ Vector3D object representing position of the particle.]]>
+
+ <_position>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { position : null }
+ ParticlePositionNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] position Defines the default position of the particle when in global mode. Defaults to 0,0,0.]]>
+
+ * A particle animation node used to set the starting position of a particle.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ ParticleBillboardNode]]>
+
+ * A particle animation node used to control the rotation of a particle to match its heading vector.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+ "RotateToPositionVector3D"
+ Vector3D object representing the position that the particle must face.]]>
+
+ <_position>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { position : null }
+ ParticleRotateToPositionNode]]>
+
+ * A particle animation node used to control the rotation of a particle to face to a position
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ "RotationalVelocityVector3D"
+ Vector3D object representing the rotational velocity around an axis of the particle.]]>
+
+ <_rotationalVelocity>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { rotationalVelocity : null }
+ ParticleRotationalVelocityNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.]]>
+
+ * A particle animation node used to set the starting rotational velocity of a particle.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ "ScaleVector3D"
+ Vector3D representing the min scale (x), max scale(y), optional cycle speed (z) and phase offset (w) applied to the particle.]]>
+
+ <_usesCycle>
+
+ away3d
+ @private
+
+ <_usesPhase>
+
+ away3d
+ @private
+
+ <_minScale>
+
+ away3d
+ @private
+
+ <_maxScale>
+
+ away3d
+ @private
+
+ <_cycleDuration>
+
+ away3d
+ @private
+
+ <_cyclePhase>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ { cyclePhase : 0, cycleDuration : 1, maxScale : 1, minScale : 1 }
+ ParticleScaleNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of animation independent of particle duration. Defaults to false.
+ * @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the animation cycle. Defaults to false.
+ * @param [optional] minScale Defines the default min scale transform of the node, when in global mode. Defaults to 1.
+ * @param [optional] maxScale Defines the default max color transform of the node, when in global mode. Defaults to 1.
+ * @param [optional] cycleDuration Defines the default duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
+ * @param [optional] cyclePhase Defines the default phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.]]>
+
+ * A particle animation node used to control the scale variation of a particle over time.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+
+ 2
+ away3d
+
+ @private
+
+ <_usesMultiplier>
+
+ away3d
+ @private
+
+ <_usesOffset>
+
+ away3d
+ @private
+
+ <_startColor>
+
+ away3d
+ @private
+
+ <_endColor>
+
+ away3d
+ @private
+
+ <_numSegmentPoint>
+
+ away3d
+ @private
+
+ <_segmentPoints>
+
+ away3d
+ @private
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+ <_startScale>
+
+ away3d
+ @private
+
+ <_endScale>
+
+ away3d
+ @private
+
+ <_numSegmentPoint>
+
+ away3d
+ @private
+
+ <_segmentScales>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ . the x,y,z present the scaleX,scaleY,scaleX, and w present the life]]>
+
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+
+
+ "UVVector3D"
+ Vector3D representing the cycleDuration (x), optional phaseTime (y).]]>
+
+
+
+
+ <_usesCycle>
+
+ away3d
+ @private
+
+ <_usesPhase>
+
+ away3d
+ @private
+
+ <_totalFrames>
+
+ away3d
+ @private
+
+ <_numColumns>
+
+ away3d
+ @private
+
+ <_numRows>
+
+ away3d
+ @private
+
+ <_cycleDuration>
+
+ away3d
+ @private
+
+ <_cyclePhase>
+
+ away3d
+ @private
+
+
+
+ * Defines the number of columns in the spritesheet, when in global mode. Defaults to 1. Read only.
+
+
+
+ * Defines the number of rows in the spritesheet, when in global mode. Defaults to 1. Read only.
+
+
+
+ * Defines the total number of frames used by the spritesheet, when in global mode. Defaults to the number defined by numColumns and numRows. Read only.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { totalFrames : -1, cyclePhase : 0, cycleDuration : 1, numRows : 1, numColumns : 1 }
+ ParticleSpriteSheetNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] numColumns Defines the number of columns in the spritesheet, when in global mode. Defaults to 1.
+ * @param [optional] numRows Defines the number of rows in the spritesheet, when in global mode. Defaults to 1.
+ * @param [optional] cycleDuration Defines the default cycle duration in seconds, when in global mode. Defaults to 1.
+ * @param [optional] cyclePhase Defines the default cycle phase, when in global mode. Defaults to 0.
+ * @param [optional] totalFrames Defines the total number of frames used by the spritesheet, when in global mode. Defaults to the number defined by numColumns and numRows.
+ * @param [optional] looping Defines whether the spritesheet animation is set to loop indefinitely. Defaults to true.]]>
+
+ repeat property on the material has to be set to true.]]>
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+
+ 1
+ away3d
+
+ @private
+
+ <_usesDuration>
+
+ away3d
+ @private
+
+ <_usesDelay>
+
+ away3d
+ @private
+
+ <_usesLooping>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { usesDelay : false, usesLooping : false, usesDuration : false }
+ ParticleTimeNode
+ *
+ * @param [optional] usesDuration Defines whether the node uses the duration data in the static properties function to determine how long a particle is visible for. Defaults to false.
+ * @param [optional] usesDelay Defines whether the node uses the delay data in the static properties function to determine how long a particle is hidden for. Defaults to false. Requires usesDuration to be true.
+ * @param [optional] usesLooping Defines whether the node creates a looping timeframe for each particle determined by the startTime, duration and delay data in the static properties function. Defaults to false. Requires usesLooping to be true.]]>
+
+ * A particle animation node used as the base node for timekeeping inside a particle. Automatically added to a particle animation set on instatiation.
+
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ 1
+ * Used to set the time node into global property mode.
+
+
+
+ "x"
+ *
+
+
+
+ "y"
+ *
+
+
+
+
+ <_uvData>
+
+ away3d
+ @private
+
+ <_cycle>
+ <_scale>
+ <_axis>
+
+
+ *
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { axis : "x", scale : 1, cycle : 1 }
+ ParticleTimeNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] cycle Defines whether the time track is in loop mode. Defaults to false.
+ * @param [optional] scale Defines whether the time track is in loop mode. Defaults to false.
+ * @param [optional] axis Defines whether the time track is in loop mode. Defaults to false.]]>
+
+ * A particle animation node used to control the UV offset and scale of a particle over time.
+
+
+
+
+
+
+ 0
+ away3d
+
+ @private
+
+
+
+ "VelocityVector3D"
+ Vector3D object representing the direction of movement on the particle.]]>
+
+ <_velocity>
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { velocity : null }
+ ParticleVelocityNode
+ *
+ * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
+ * @param [optional] velocity Defines the default velocity vector of the node, used when in global mode.]]>
+
+ * A particle animation node used to set the starting velocity of a particle.
+
+
+
+
+
+ * Defines input node A to use for the blended output.
+
+
+
+ * Defines input node B to use for the blended output.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ SkeletonBinaryLERPNode object.]]>
+
+ * A skeleton animation node that uses two animation node inputs to blend a lineraly interpolated output of a skeleton pose.
+
+
+
+
+ <_frames expr="new Vector<SkeletonPose>()">
+
+ ()]]>
+
+
+
+ false
+ * Determines whether to use SLERP equations (true) or LERP equations (false) in the calculation
+ * of the output skeleton pose. Defaults to false.
+
+
+
+ * Returns a vector of skeleton poses representing the pose of each animation frame in the clip.
+
+
+
+
+
+
+
+ * Adds a skeleton pose frame to the internal timeline of the animation node.
+ *
+ * @param skeletonPose The skeleton pose object to add to the timeline of the node.
+ * @param duration The specified duration of the frame in milliseconds.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ SkeletonClipNode object.]]>
+
+ * A skeleton animation node containing time-based animation data as individual skeleton poses.
+
+
+
+
+
+
+ * Defines a base input node to use for the blended output.
+
+
+
+ * Defines a difference input node to use for the blended output.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ SkeletonAdditiveNode object.]]>
+
+ * A skeleton animation node that uses a difference input pose with a base input pose to blend a linearly interpolated output of a skeleton pose.
+
+
+
+
+
+ * Defines the forward configured input node to use for the blended output.
+
+
+
+ * Defines the backwards configured input node to use for the blended output.
+
+
+
+ * Defines the left configured input node to use for the blended output.
+
+
+
+ * Defines the right configured input node to use for the blended output.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+ * A skeleton animation node that uses four directional input poses with an input direction to blend a linearly interpolated output of a skeleton pose.
+
+
+
+
+ <_inputs public="1" expr="new Vector<AnimationNodeBase>()">
+
+ ()]]>
+
+ <_numInputs>
+
+
+
+
+
+
+ * Returns an integer representing the input index of the given skeleton animation node.
+ *
+ * @param input The skeleton animation node for with the input index is requested.
+
+
+
+
+
+
+ * Returns the skeleton animation node object that resides at the given input index.
+ *
+ * @param index The input index for which the skeleton animation node is requested.
+
+
+
+
+
+
+ * Adds a new skeleton animation node input to the animation node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ SkeletonNaryLERPNode object.]]>
+
+ * A skeleton animation node that uses an n-dimensional array of animation node inputs to blend a lineraly interpolated output of a skeleton pose.
+
+
+
+
+ <_frames expr="new Vector<SpriteSheetAnimationFrame>()">
+
+ ()]]>
+
+
+
+ * Returns a vector of SpriteSheetAnimationFrame representing the uv values of each animation frame in the clip.
+
+
+
+
+
+
+
+ * Adds a SpriteSheetAnimationFrame object to the internal timeline of the animation node.
+ *
+ * @param spriteSheetAnimationFrame The frame object to add to the timeline of the node.
+ * @param duration The specified duration of the frame in milliseconds.
+
+
+
+ SpriteSheetClipNode object.]]>
+
+ * A SpriteSheetClipNode containing time-based animation data as individual sprite sheet animation frames.
+
+
+
+
+
+ <_frames expr="new Vector<UVAnimationFrame>()">
+
+ ()]]>
+
+
+
+ * Returns a vector of UV frames representing the uv values of each animation frame in the clip.
+
+
+
+
+
+
+
+ * Adds a UV frame object to the internal timeline of the animation node.
+ *
+ * @param uvFrame The uv frame object to add to the timeline of the node.
+ * @param duration The specified duration of the frame in milliseconds.
+
+
+
+ * @inheritDoc
+
+
+
+ UVClipNode object.]]>
+
+ * A uv animation node containing time-based animation data as individual uv animation frames.
+
+
+
+
+
+ <_frames expr="new Vector<Geometry>()">
+
+ ()]]>
+
+ <_translations expr="new Vector<Vector3D>()">
+
+ ()]]>
+
+
+
+ * Returns a vector of geometry frames representing the vertex values of each animation frame in the clip.
+
+
+
+
+
+
+
+
+ { translation : null }
+ * Adds a geometry object to the internal timeline of the animation node.
+ *
+ * @param geometry The geometry object to add to the timeline of the node.
+ * @param duration The specified duration of the frame in milliseconds.
+ * @param translation The absolute translation of the frame, used in root delta calculations for mesh movement.
+
+
+
+ * @inheritDoc
+
+
+
+ VertexClipNode object.]]>
+
+ * A vertex animation node containing time-based animation data as individual geometry obejcts.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Sets the animation phase of the node.
+ *
+ * @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end.
+
+
+
+
+
+ <_animationNode>
+ <_rootDelta expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_positionDeltaDirty expr="true">
+
+ true
+
+ <_time expr="0">
+
+ 0
+
+ <_startTime expr="0">
+
+ 0
+
+ <_animator>
+
+
+ * Returns a 3d vector representing the translation delta of the animating entity for the current timestep of animation
+
+
+
+
+
+
+ * Resets the start time of the node to a new value.
+ *
+ * @param startTime The absolute start time (in milliseconds) of the node's starting time.
+
+
+
+
+
+
+ * Updates the configuration of the node to its current state.
+ *
+ * @param time The absolute time (in milliseconds) of the animator's play head position.
+ *
+ * @see away3d.animators.AnimatorBase#update()
+
+
+
+
+
+
+ * Sets the animation phase of the node.
+ *
+ * @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end.
+
+
+
+
+
+
+ * Updates the node's internal playhead position.
+ *
+ * @param time The local time (in milliseconds) of the node's playhead position.
+
+
+
+ * Updates the node's root delta position
+
+
+
+
+
+
+
+
+
+
+
+
+ <_animationClipNode>
+ <_animationStatePlaybackComplete>
+ <_blendWeight expr="0">
+
+ 0
+
+ <_currentFrame>
+ <_nextFrame>
+ <_oldFrame>
+ <_timeDir>
+ <_framesDirty expr="true">
+
+ true
+
+
+
+ * Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position
+ * between the current frame (0) and next frame (1) of the animation.
+ *
+ * @see #currentFrame
+ * @see #nextFrame
+
+
+
+ * Returns the current frame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns the next frame of animation in the clip based on the internal playhead position.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Updates the nodes internal playhead to determine the current and next animation frame, and the blendWeight between the two.
+ *
+ * @see #currentFrame
+ * @see #nextFrame
+ * @see #blendWeight
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+ * Returns the output skeleton pose of the animation node.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Returns the current SpriteSheetAnimationFrame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns the current frame number.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Returns the current UV frame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns the next UV frame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position
+ * between the current uv frame (0) and next uv frame (1) of the animation.
+
+ * Provides an interface for animation node classes that hold animation data for use in the UV animator class.
+ *
+ * @see away3d.animators.UVAnimator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Returns the current geometry frame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns the current geometry frame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position
+ * between the current geometry frame (0) and next geometry frame (1) of the animation.
+
+ * Provides an interface for animation node classes that hold animation data for use in the Vertex animator class.
+ *
+ * @see away3d.animators.VertexAnimator
+
+
+
+
+
+ <_particleNode>
+ <_dynamicProperties expr="new Vector<Vector3D>()">
+
+ ()]]>
+
+ <_dynamicPropertiesDirty expr="new Map()">
+
+
+
+
+ new Map()
+
+ <_needUpdateTime>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { needUpdateTime : false }
+
+ * ...
+
+
+
+
+
+ <_particleAccelerationNode>
+ <_acceleration>
+ <_halfAcceleration>
+
+
+ * Defines the acceleration vector of the state, used when in global mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+
+ <_particleBezierCurveNode>
+ <_controlPoint>
+ <_endPoint>
+
+
+ * Defines the default control point of the node, used when in global mode.
+
+
+
+
+
+
+
+ * Defines the default end point of the node, used when in global mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_matrix expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_billboardAxis>
+
+
+
+
+
+
+
+
+
+
+ * Defines the billboard axis.
+
+
+
+
+
+
+
+
+
+
+
+ *
+
+ * ...
+
+
+
+
+
+
+
+
+ <_particleColorNode>
+ <_usesMultiplier>
+ <_usesOffset>
+ <_usesCycle>
+ <_usesPhase>
+ <_startColor>
+ <_endColor>
+ <_cycleDuration>
+ <_cyclePhase>
+ <_cycleData>
+ <_startMultiplierData>
+ <_deltaMultiplierData>
+ <_startOffsetData>
+ <_deltaOffsetData>
+
+
+ * Defines the start color transform of the state, when in global mode.
+
+
+
+
+
+
+
+ * Defines the end color transform of the state, when in global mode.
+
+
+
+
+
+
+
+ * Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+ * @author ...
+
+
+
+
+
+
+ <_particleFollowNode>
+ <_followTarget>
+ <_targetPos expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_targetEuler expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_prePos>
+ <_preEuler>
+ <_smooth>
+
+
+ new Vector3D()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_particleInitialColorNode>
+ <_usesMultiplier>
+ <_usesOffset>
+ <_initialColor>
+ <_multiplierData>
+ <_offsetData>
+
+
+ * Defines the initial color transform of the state, when in global mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_particleOrbitNode>
+ <_usesEulers>
+ <_usesCycle>
+ <_usesPhase>
+ <_radius>
+ <_cycleDuration>
+ <_cyclePhase>
+ <_eulers>
+ <_orbitData>
+ <_eulersMatrix>
+
+
+ * Defines the radius of the orbit when in global mode. Defaults to 100.
+
+
+
+
+
+
+
+ * Defines the duration of the orbit in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines the phase of the orbit in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.
+
+
+
+
+
+
+
+ * Defines the euler rotation in degrees, applied to the orientation of the orbit when in global mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_particleOscillatorNode>
+ <_oscillator>
+ <_oscillatorData>
+
+
+ * Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the state, used when in global mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_particlePositionNode>
+ <_position>
+
+
+ * Defines the position of the particle when in global mode. Defaults to 0,0,0.
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * ...
+ * @author ...
+
+
+
+
+ <_matrix expr="new Matrix3D()">
+
+ new Matrix3D()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_particleRotateToPositionNode>
+ <_position>
+ <_matrix expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_offset>
+
+
+ * Defines the position of the point the particle will rotate to face when in global mode. Defaults to 0,0,0.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_particleRotationalVelocityNode>
+ <_rotationalVelocityData>
+ <_rotationalVelocity>
+
+
+ * Defines the default rotationalVelocity of the state, used when in global mode.
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+
+
+
+ <_particleScaleNode>
+ <_usesCycle>
+ <_usesPhase>
+ <_minScale>
+ <_maxScale>
+ <_cycleDuration>
+ <_cyclePhase>
+ <_scaleData>
+
+
+ * Defines the end scale of the state, when in global mode. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines the end scale of the state, when in global mode. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+
+
+
+
+
+ <_usesMultiplier>
+ <_usesOffset>
+ <_startColor>
+ <_endColor>
+ <_segmentPoints>
+ <_numSegmentPoint>
+ <_timeLifeData>
+ <_multiplierData>
+ <_offsetData>
+
+
+ * Defines the start color transform of the state, when in global mode.
+
+
+
+
+
+
+
+ * Defines the end color transform of the state, when in global mode.
+
+
+
+
+
+
+
+ * Defines the number of segments.
+
+
+
+ * Defines the key points of color
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_startScale>
+ <_endScale>
+ <_segmentPoints>
+ <_numSegmentPoint>
+ <_scaleData>
+
+
+ * Defines the start scale of the state, when in global mode.
+
+
+
+
+
+
+
+ * Defines the end scale of the state, when in global mode.
+
+
+
+
+
+
+
+ * Defines the number of segments.
+
+
+
+ * Defines the key points of Scale
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_particleSpriteSheetNode>
+ <_usesCycle>
+ <_usesPhase>
+ <_totalFrames>
+ <_numColumns>
+ <_numRows>
+ <_cycleDuration>
+ <_cyclePhase>
+ <_spriteSheetData>
+
+
+ * Defines the cycle phase, when in global mode. Defaults to zero.
+
+
+
+
+
+
+
+ * Defines the cycle duration in seconds, when in global mode. Defaults to 1.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+ <_particleTimeNode>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+ <_particleUVNode>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+ <_particleVelocityNode>
+ <_velocity>
+
+
+ * Defines the default velocity vector of the state, used when in global mode.
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+
+ <_blendWeight expr="0">
+
+ 0
+
+ <_skeletonAnimationNode>
+ <_skeletonPose expr="new SkeletonPose()">
+
+ new SkeletonPose()
+
+ <_skeletonPoseDirty expr="true">
+
+ true
+
+ <_inputA>
+ <_inputB>
+
+
+ * Defines a fractional value between 0 and 1 representing the blending ratio between inputA (0) and inputB (1),
+ * used to produce the skeleton pose output.
+ *
+ * @see inputA
+ * @see inputB
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Returns the current skeleton pose of the animation in the clip based on the internal playhead position.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Updates the output skeleton pose of the node based on the blendWeight value between input nodes.
+ *
+ * @param skeleton The skeleton used by the animator requesting the ouput pose.
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+ <_rootPos expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_frames>
+ <_skeletonClipNode>
+ <_skeletonPose expr="new SkeletonPose()">
+
+ new SkeletonPose()
+
+ <_skeletonPoseDirty expr="true">
+
+ true
+
+ <_currentPose>
+ <_nextPose>
+
+
+ * Returns the current skeleton pose frame of animation in the clip based on the internal playhead position.
+
+
+
+ * Returns the next skeleton pose frame of animation in the clip based on the internal playhead position.
+
+
+
+
+
+
+ * Returns the current skeleton pose of the animation in the clip based on the internal playhead position.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Updates the output skeleton pose of the node based on the internal playhead position.
+ *
+ * @param skeleton The skeleton used by the animator requesting the ouput pose.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+ * The x value of the quaternion.
+
+
+
+ * The y value of the quaternion.
+
+
+
+ * The z value of the quaternion.
+
+
+
+ * The w value of the quaternion.
+
+
+
+ * Returns the magnitude of the quaternion object.
+
+
+
+
+
+
+
+ * Fills the quaternion object with the result from a multiplication of two quaternion objects.
+ *
+ * @param qa The first quaternion in the multiplication.
+ * @param qb The second quaternion in the multiplication.
+
+
+
+
+
+
+
+ { target : null }
+
+
+
+
+
+
+
+ * Fills the quaternion object with values representing the given rotation around a vector.
+ *
+ * @param axis The axis around which to rotate
+ * @param angle The angle in radians of the rotation.
+
+
+
+
+
+
+
+
+ * Spherically interpolates between two quaternions, providing an interpolation between rotations with constant angle change rate.
+ * @param qa The first quaternion to interpolate.
+ * @param qb The second quaternion to interpolate.
+ * @param t The interpolation weight, a value between 0 and 1.
+
+
+
+
+
+
+
+
+ * Linearly interpolates between two quaternions.
+ * @param qa The first quaternion to interpolate.
+ * @param qb The second quaternion to interpolate.
+ * @param t The interpolation weight, a value between 0 and 1.
+
+
+
+
+
+
+
+
+ * Fills the quaternion object with values representing the given euler rotation.
+ *
+ * @param ax The angle in radians of the rotation around the ax axis.
+ * @param ay The angle in radians of the rotation around the ay axis.
+ * @param az The angle in radians of the rotation around the az axis.
+
+
+
+
+
+
+ { target : null }
+ * Fills a target Vector3D object with the Euler angles that form the rotation represented by this quaternion.
+ * @param target An optional Vector3D object to contain the Euler angles. If not provided, a new object is created.
+ * @return The Vector3D containing the Euler angles.
+
+
+
+
+
+
+ { val : 1 }
+ * Normalises the quaternion object.
+
+
+
+ * Used to trace the values of a quaternion.
+ *
+ * @return A string representation of the quaternion object.
+
+
+
+
+
+
+ { target : null }
+ * Converts the quaternion to a Matrix3D object representing an equivalent rotation.
+ * @param target An optional Matrix3D container to store the transformation in. If not provided, a new object is created.
+ * @return A Matrix3D object representing an equivalent rotation.
+
+
+
+
+
+
+ * Extracts a quaternion rotation matrix out of a given Matrix3D object.
+ * @param matrix The Matrix3D out of which the rotation will be extracted.
+
+
+
+
+
+
+
+ { exclude4thRow : false }
+
+
+
+
+ * Clones the quaternion.
+ * @return An exact duplicate of the current Quaternion.
+
+
+
+
+
+
+
+ { target : null }
+ * Rotates a point.
+ * @param vector The Vector3D object to be rotated.
+ * @param target An optional Vector3D object that will contain the rotated coordinates. If not provided, a new object will be created.
+ * @return A Vector3D object containing the rotated point.
+
+
+
+
+
+
+ * Copies the data from a quaternion into this instance.
+ * @param q The quaternion to copy from.
+
+
+
+
+
+
+
+
+
+ { w : 1, z : 0, y : 0, x : 0 }
+ * Creates a new Quaternion object.
+ * @param x The x value of the quaternion.
+ * @param y The y value of the quaternion.
+ * @param z The z value of the quaternion.
+ * @param w The w value of the quaternion.
+
+ * A Quaternion object which can be used to represent rotations.
+
+
+
+
+
+ <_tempQuat expr="new Quaternion()" line="19" static="1">
+
+ new Quaternion()
+
+
+ <_blendWeight expr="0">
+
+ 0
+
+ <_skeletonAnimationNode>
+ <_skeletonPose expr="new SkeletonPose()">
+
+ new SkeletonPose()
+
+ <_skeletonPoseDirty expr="true">
+
+ true
+
+ <_baseInput>
+ <_differenceInput>
+
+
+ * Defines a fractional value between 0 and 1 representing the blending ratio between the base input (0) and difference input (1),
+ * used to produce the skeleton pose output.
+ *
+ * @see #baseInput
+ * @see #differenceInput
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Returns the current skeleton pose of the animation in the clip based on the internal playhead position.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Updates the output skeleton pose of the node based on the blendWeight value between base input and difference input nodes.
+ *
+ * @param skeleton The skeleton used by the animator requesting the ouput pose.
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+ <_skeletonAnimationNode>
+ <_skeletonPose expr="new SkeletonPose()">
+
+ new SkeletonPose()
+
+ <_skeletonPoseDirty expr="true">
+
+ true
+
+ <_inputA>
+ <_inputB>
+ <_blendWeight expr="0">
+
+ 0
+
+ <_direction expr="0">
+
+ 0
+
+ <_blendDirty expr="true">
+
+ true
+
+ <_forward>
+ <_backward>
+ <_left>
+ <_right>
+
+
+
+
+
+ * Defines the direction in degrees of the aniamtion between the forwards (0), right(90) backwards (180) and left(270) input nodes,
+ * used to produce the skeleton pose output.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Returns the current skeleton pose of the animation in the clip based on the internal playhead position.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Updates the output skeleton pose of the node based on the direction value between forward, backwards, left and right input nodes.
+ *
+ * @param skeleton The skeleton used by the animator requesting the ouput pose.
+
+
+
+ away3d
+ * Updates the blend value for the animation output based on the direction value between forward, backwards, left and right input nodes.
+ *
+ * @private
+
+
+
+
+
+
+ *
+
+
+
+
+
+ <_skeletonAnimationNode>
+ <_skeletonPose expr="new SkeletonPose()">
+
+ new SkeletonPose()
+
+ <_skeletonPoseDirty expr="true">
+
+ true
+
+ <_blendWeights expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_inputs expr="new Vector<ISkeletonAnimationState>()">
+
+ ()]]>
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Returns the current skeleton pose of the animation in the clip based on the internal playhead position.
+
+
+
+
+
+
+ * Returns the blend weight of the skeleton aniamtion node that resides at the given input index.
+ *
+ * @param index The input index for which the skeleton animation node blend weight is requested.
+
+
+
+
+
+
+
+ * Sets the blend weight of the skeleton aniamtion node that resides at the given input index.
+ *
+ * @param index The input index on which the skeleton animation node blend weight is to be set.
+ * @param blendWeight The blend weight value to use for the given skeleton animation node index.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Updates the output skeleton pose of the node based on the blend weight values given to the input nodes.
+ *
+ * @param skeleton The skeleton used by the animator requesting the ouput pose.
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+ <_frames>
+ <_clipNode>
+ <_currentFrameID expr="0">
+
+ 0
+
+ <_reverse>
+ <_back>
+ <_backAndForth>
+ <_forcedFrame>
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * returns current frame index of the animation.
+ * The index is zero based and counts from first frame of the defined animation.
+
+
+
+
+
+
+
+ away3d
+ * returns the total frames for the current animation.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_frames>
+ <_uvClipNode>
+ <_currentUVFrame>
+ <_nextUVFrame>
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_frames>
+ <_vertexClipNode>
+ <_currentGeometry>
+ <_nextGeometry>
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CrossfadeTransitionNode object.]]>
+
+ * A skeleton animation node that uses two animation node inputs to blend a lineraly interpolated output of a skeleton pose.
+
+
+
+
+ <_crossfadeAnimationNode>
+ <_animationStateTransitionComplete>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_controller>
+
+ away3d
+ @private
+
+ <_smallestNumber expr="0.0000000000000000000001">
+
+ 0.0000000000000000000001
+
+ <_transformDirty expr="true">
+
+ true
+
+ <_positionDirty>
+ <_rotationDirty>
+ <_scaleDirty>
+ <_positionChanged>
+ <_rotationChanged>
+ <_scaleChanged>
+ <_rotationX expr="0">
+
+ 0
+
+ <_rotationY expr="0">
+
+ 0
+
+ <_rotationZ expr="0">
+
+ 0
+
+ <_eulers expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_flipY expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_listenToPositionChanged>
+ <_listenToRotationChanged>
+ <_listenToScaleChanged>
+ <_zOffset expr="0">
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useWeakReference : false, priority : 0, useCapture : false }
+
+
+
+
+
+
+
+
+
+
+
+ { useCapture : false }
+
+
+
+
+
+ <_transform expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_scaleX expr="1">
+
+ 1
+
+ <_scaleY expr="1">
+
+ 1
+
+ <_scaleZ expr="1">
+
+ 1
+
+ <_x expr="0">
+
+ 0
+
+ <_y expr="0">
+
+ 0
+
+ <_z expr="0">
+
+ 0
+
+ <_pivotPoint expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_pivotZero expr="true">
+
+ true
+
+ <_pos expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_rot expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_sca expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_transformComponents>
+
+
+ * An object that can contain any extra data.
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ * Defines the scale of the 3d object along the x-axis, relative to local coordinates.
+
+
+
+
+
+
+
+ * Defines the scale of the 3d object along the y-axis, relative to local coordinates.
+
+
+
+
+
+
+
+ * Defines the scale of the 3d object along the z-axis, relative to local coordinates.
+
+
+
+
+
+
+
+ Vector3D object containing euler angles for rotation around x, y and z axis.]]>
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+ * Defines the local point around which the object rotates.
+
+
+
+
+
+
+
+ ObjectContainer3D.]]>
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ ObjectContainer3D.
+ * @param v the destination Vector3D
+ * @return]]>
+
+
+
+ *
+
+
+
+ *
+
+
+
+ *
+
+
+
+ *
+
+
+
+ *
+
+
+
+ *
+
+
+
+
+
+
+ * Appends a uniform scale to the current transformation.
+ * @param value The amount by which to scale.
+
+
+
+
+
+
+ * Moves the 3d object forwards along it's local z axis
+ *
+ * @param distance The length of the movement
+
+
+
+
+
+
+ * Moves the 3d object backwards along it's local z axis
+ *
+ * @param distance The length of the movement
+
+
+
+
+
+
+ * Moves the 3d object backwards along it's local x axis
+ *
+ * @param distance The length of the movement
+
+
+
+
+
+
+ * Moves the 3d object forwards along it's local x axis
+ *
+ * @param distance The length of the movement
+
+
+
+
+
+
+ * Moves the 3d object forwards along it's local y axis
+ *
+ * @param distance The length of the movement
+
+
+
+
+
+
+ * Moves the 3d object backwards along it's local y axis
+ *
+ * @param distance The length of the movement
+
+
+
+
+
+
+
+
+ * Moves the 3d object directly to a point in space
+ *
+ * @param dx The amount of movement along the local x axis.
+ * @param dy The amount of movement along the local y axis.
+ * @param dz The amount of movement along the local z axis.
+
+
+
+
+
+
+
+
+ * Moves the local point around which the object rotates.
+ *
+ * @param dx The amount of movement along the local x axis.
+ * @param dy The amount of movement along the local y axis.
+ * @param dz The amount of movement along the local z axis.
+
+
+
+
+
+
+
+ * Moves the 3d object along a vector by a defined length
+ *
+ * @param axis The vector defining the axis of movement
+ * @param distance The length of the movement
+
+
+
+
+
+
+
+ * Moves the 3d object along a vector by a defined length
+ *
+ * @param axis The vector defining the axis of movement
+ * @param distance The length of the movement
+
+
+
+
+
+
+ * Rotates the 3d object around it's local x-axis
+ *
+ * @param angle The amount of rotation in degrees
+
+
+
+
+
+
+ * Rotates the 3d object around it's local y-axis
+ *
+ * @param angle The amount of rotation in degrees
+
+
+
+
+
+
+ * Rotates the 3d object around it's local z-axis
+ *
+ * @param angle The amount of rotation in degrees
+
+
+
+
+
+
+
+
+
+ * Rotates the 3d object directly to a euler angle
+ *
+ * @param ax The angle in degrees of the rotation around the x axis.
+ * @param ay The angle in degrees of the rotation around the y axis.
+ * @param az The angle in degrees of the rotation around the z axis.
+
+
+
+
+
+
+
+ * Rotates the 3d object around an axis by a defined angle
+ *
+ * @param axis The vector defining the axis of rotation
+ * @param angle The amount of rotation in degrees
+
+
+
+
+
+
+
+ { upAxis : null }
+ ObjectContainer3D.
+ *
+ * @param target The vector defining the point to be looked at
+ * @param upAxis An optional vector used to define the desired up orientation of the 3d object after rotation has occurred]]>
+
+
+
+ * Cleans up any resources used by the current object.
+
+
+
+ * @inheritDoc
+
+
+
+ away3d
+ * Invalidates the transformation matrix, causing it to be updated upon the next request
+
+
+
+
+
+
+
+
+
+ * Creates an Object3D object.
+
+
+ *
+ * Standard Transform:
+ *
+ *
The standard order for transformation is [parent transform] * (Translate+Pivot) * (Rotate) * (-Pivot) * (Scale) * [child transform]
+ *
This is the order of matrix multiplications, left-to-right.
+ *
The order of transformation is right-to-left, however!
+ * (Scale) happens before (-Pivot) happens before (Rotate) happens before (Translate+Pivot)
+ * with no pivot, the above transform works out to [parent transform] * Translate * Rotate * Scale * [child transform]
+ * (Scale) happens before (Rotate) happens before (Translate)
+ *
This is based on code in updateTransform and ObjectContainer3D.updateSceneTransform().
+ *
Matrix3D prepend = operator on rhs - e.g. transform' = transform * rhs;
+ *
Matrix3D append = operator on lhr - e.g. transform' = lhs * transform;
+ *
+ *
+ * To affect Scale:
+ *
+ *
set scaleX/Y/Z directly, or call scale(delta)
+ *
+ *
+ * To affect Pivot:
+ *
+ *
set pivotPoint directly, or call movePivot()
+ *
+ *
+ * To affect Rotate:
+ *
+ *
set rotationX/Y/Z individually (using degrees), set eulers [all 3 angles] (using radians), or call rotateTo()
+ *
call pitch()/yaw()/roll()/rotate() to add an additional rotation *before* the current transform.
+ * rotationX/Y/Z will be reset based on these operations.
call translate(), which modifies x/y/z based on a delta vector.
+ *
call moveForward()/moveBackward()/moveLeft()/moveRight()/moveUp()/moveDown()/translateLocal() to add an
+ * additional translate *before* the current transform. x/y/z will be reset based on these operations.
+ *
]]>
+
+
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ancestorsAllowMouseEnabled>
+
+ away3d
+ @private
+
+ <_isRoot>
+
+ away3d
+
+ <_scene>
+ <_parent>
+ <_sceneTransform expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_sceneTransformDirty expr="true">
+
+ true
+
+ <_explicitPartition>
+ <_implicitPartition>
+ <_mouseEnabled>
+ <_sceneTransformChanged>
+ <_scenechanged>
+ <_children expr="new Vector<ObjectContainer3D>()">
+
+ ()]]>
+
+ <_mouseChildren expr="true">
+
+ true
+
+ <_oldScene>
+ <_inverseSceneTransform expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_inverseSceneTransformDirty expr="true">
+
+ true
+
+ <_scenePosition expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_scenePositionDirty expr="true">
+
+ true
+
+ <_explicitVisibility expr="true">
+
+ true
+
+ <_implicitVisibility expr="true">
+
+ true
+
+ <_listenToSceneTransformChanged>
+ <_listenToSceneChanged>
+ <_ignoreTransform expr="false">
+
+ false
+
+
+
+ * Does not apply any transformations to this object. Allows static objects to be described in world coordinates without any matrix calculations.
+
+
+
+
+
+
+
+ * @private
+ * The space partition used for this object, possibly inherited from its parent.
+
+
+
+
+
+
+
+ away3d
+ @private
+
+
+
+
+
+
+ away3d
+ @private
+
+
+
+
+
+
+ * Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Invalidates the scene transformation matrix, causing it to be updated the next time it's requested.
+
+
+
+ * Updates the scene transformation matrix.
+
+
+
+ *
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+ * The global position of the ObjectContainer3D in the scene. The value of the return object should not be changed.
+
+
+
+ * The minimum extremum of the object along the X-axis.
+
+
+
+ * The minimum extremum of the object along the Y-axis.
+
+
+
+ * The minimum extremum of the object along the Z-axis.
+
+
+
+ * The maximum extremum of the object along the X-axis.
+
+
+
+ * The maximum extremum of the object along the Y-axis.
+
+
+
+ * The maximum extremum of the object along the Z-axis.
+
+
+
+ * The space partition to be used by the object container and all its recursive children, unless it has its own
+ * space partition assigned.
+
+
+
+
+
+
+
+ * The transformation matrix that transforms from model to world space.
+
+
+
+ * A reference to the Scene3D object to which this object belongs.
+
+
+
+
+
+
+
+ * The inverse scene transform object that transforms from world to model space.
+
+
+
+ * The parent ObjectContainer3D to which this object's transformation is relative.
+
+
+
+
+
+
+
+
+
+
+ * Adds a child ObjectContainer3D to the current object. The child's transformation will become relative to the
+ * current object's transformation.
+ * @param child The object to be added as a child.
+ * @return A reference to the added child object.
+
+
+
+
+
+
+ * Adds an array of 3d objects to the scene as children of the container
+ *
+ * @param ...childarray An array of 3d objects to be added
+
+
+
+
+
+
+ * Removes a 3d object from the child array of the container
+ *
+ * @param child The 3d object to be removed
+ * @throws Error ObjectContainer3D.removeChild(null)
+
+
+
+
+
+
+ * Removes a 3d object from the child array of the container
+ *
+ * @param index Index of 3d object to be removed
+
+
+
+
+
+
+
+
+
+
+
+ * Retrieves the child object at the given index.
+ * @param index The index of the object to be retrieved.
+ * @return The child object at the given index.
+
+
+
+ * The amount of child objects of the ObjectContainer3D.
+
+
+
+
+
+
+
+ { upAxis : null }
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Disposes the current ObjectContainer3D including all of its children. This is a merely a convenience method.
+
+
+
+ * Clones this ObjectContainer3D instance along with all it's children, and
+ * returns the result (which will be a copy of this container, containing copies
+ * of all it's children.)
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useWeakReference : false, priority : 0, useCapture : false }
+
+
+
+
+
+
+
+
+
+
+
+ { useCapture : false }
+
+
+
+ * Creates a new ObjectContainer3D object.
+
+ * ObjectContainer3D is the most basic scene graph node. It can contain other ObjectContainer3Ds.
+ *
+ * ObjectContainer3D can have its own scene partition assigned. However, when assigned to a different scene,
+ * it will loose any partition information, since partitions are tied to a scene.
+
+
+
+
+
+
+
+
+ <_refv>
+ <_driver>
+ <_reference>
+ <_sound>
+ <_paused>
+ <_playing>
+
+
+ * Defines the overall (master) volume of the 3D sound, after any
+ * positional adjustments to volume have been applied. This value can
+ * equally well be cotrolled by modifying the volume property on the
+ * driver used by this Sound3D instance.
+ *
+ * @see ISound3DDriver.volume
+
+
+
+
+
+
+
+ * Defines a scale value used by the driver when adjusting sound
+ * intensity to simulate distance. The default number of 1000 means
+ * that sound volume will near the hearing threshold as the distance
+ * between listener and sound source approaches 1000 Away3D units.
+ *
+ * @see ISound3DDriver.scale
+
+
+
+
+
+
+
+ * Returns a boolean indicating whether or not the sound is currently
+ * playing.
+
+
+
+ * Returns a boolean indicating whether or not playback is currently
+ * paused.
+
+
+
+ * Start (or resume, if paused) playback.
+
+
+
+ * Pause playback. Resume using play().
+
+
+
+ * Stop and rewind sound file. Replay (from the beginning) using play().
+ * To temporarily pause playback, allowing you to resume from the same point,
+ * use pause() instead.
+ *
+ * @see pause()
+
+
+
+ * Alternate between pausing and resuming playback of this sound. If called
+ * while sound is paused (or stopped), this will resume playback. When
+ * called during playback, it will pause it.
+
+
+
+
+
+
+ * @internal
+ * When scene changes, mute if object was removed from scene.
+
+
+
+ * @internal
+ * When scene transform changes, calculate the relative vector between the listener/reference object
+ * and the position of this sound source, and update the driver to use
+ * this as the reference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scale : 1000, volume : 1, driver : null }
+ mono (single-channel, non-stereo) sound stream.
+ * @param reference The reference, or "listener" object, typically a camera.
+ * @param driver Sound3D driver to use when applying simulation effects. Defaults to SimplePanVolumeDriver.
+ * @param init [optional] An initialisation object for specifying default instance properties.]]>
+
+ A sound source/emitter object that can be positioned in 3D space, and from which all audio
+ * playback will be transformed to simulate orientation.
+ *
+ *
The Sound3D object works much in the same fashion as primitives, lights and cameras, in that
+ * it can be added to a scene and positioned therein. It is the main object, in the 3D sound API,
+ * which the programmer will interact with.
+ *
+ *
Actual sound transformation is performed by a driver object, which is defined at the time of
+ * creation by the driver ini variable, the default being a simple pan/volume driver.
+ *
+ * @see SimplePanVolumeDriver]]>
+
+
+
+
+
+
+
+ <_scale>
+ <_volume>
+ <_soundTransform>
+ <_emitter>
+ <_listener>
+ <_refv>
+ <_inv_ref_mtx>
+ <_r>
+ <_r2>
+ <_azimuth>
+
+
+ * updates the SoundTransform based on the emitter and listener.
+
+
+
+
+
+
+ * udpates the SoundTransform based on the vector representing the distance and
+ * angle between the emitter and listener.
+ *
+ * @param v Vector3D
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scale : 1000, volume : 1, listener : null, emitter : null }
+ * Creates a new SoundTransform3D.
+ * @param emitter the ObjectContainer3D from which the sound originates.
+ * @param listener the ObjectContainer3D considered to be to position of the listener (usually, the camera)
+ * @param volume the maximum volume used.
+ * @param scale the distance that the sound covers.
+ *
+
+ * SoundTransform3D is a convenience class that helps adjust a Soundtransform's volume and pan according
+ * position and distance of a listener and emitter object. See SimplePanVolumeDriver for the limitations
+ * of this method.
+
+
+
+
+
+
+
+
+ <_ref_v>
+ <_src>
+ <_volume>
+ <_scale>
+ <_mute>
+ <_paused>
+ <_playing>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The sound object (flash.media.Sound) to play at the point of the sound
+ * source. The output of this sound is modified by the driver before actual
+ * sound output.
+
+
+
+ * Arbitrary value by which all distances are divided. The default value of
+ * 1000 is usually suitable for scenes with a scale that roughly matches the
+ * standard Away3D scale, i.e. that look good from the default camera position.
+
+
+
+ * Master volume/gain after 3D modifications to pan/volume have been applied.
+ * Modify this to raise or lower the overall volume regardless of where the
+ * sound source is located.
+
+
+
+ * Mutes/unmutes the driver completely, which is typically only done (internally
+ * by Sound3D) whenever the sound source is removed from the scene. When true,
+ * any values set to the volume property will be ignored.
+
+
+
+ * Start playing (or resume if paused) the audio. This is NOT The same thing
+ * as invoking play() on the flash.media.Sound object used as the source sound
+ * for the driver.
+
+
+
+ * Temporarily pause playback. Resume using play().
+
+
+
+ * Stop playback and reset playhead. Subsequent play() calls will restart the
+ * playback from the beginning of the sound file.
+
+
+
+
+
+
+ * Change the position of the sound source relative to the listener, known as
+ * the reference vector. This is invoked by the Sound3D object when it's position
+ * changes, and should typically not be called by any other code.
+ *
+ * @param v Sound source position vector relative to the listener.
+
+
+
+
+
+ <_sound_chan>
+ <_pause_position>
+ <_st3D>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_updateSoundTransform set="method" line="88">
+
+
+
+
+
+ * The Simple pan/volume Sound3D driver will alter the pan and volume properties on the
+ * sound transform object of a regular openfl.media.Sound3D representation of the sound. This
+ * is very efficient, but has the drawback that it can only reflect azimuth and distance,
+ * and will disregard elevation. You'll be able to hear whether a
+
+
+
+
+
+
+
+ <_min>
+ <_max>
+ <_aabbPoints expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_aabbPointsDirty expr="true">
+
+ true
+
+ <_boundingRenderable>
+
+
+ * The maximum extreme of the bounds
+
+
+
+ * The minimum extreme of the bounds
+
+
+
+ * Returns a vector of values representing the concatenated cartesian triplet of the 8 axial extremities of the bounding volume.
+
+
+
+ * Returns the bounding renderable object for the bounding volume, in cases where the showBounds
+ * property of the entity is set to true.
+ *
+ * @see away3d.entities.Entity#showBounds
+
+
+
+ * Sets the bounds to zero size.
+
+
+
+ * Disposes of the bounds renderable object. Used to clear memory after a bounds rendeable is no longer required.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Updates the bounds to fit a Geometry object.
+ *
+ * @param geometry The Geometry object to be bounded.
+
+
+
+
+
+
+
+ * Sets the bound to fit a given sphere.
+ *
+ * @param center The center of the sphere to be bounded
+ * @param radius The radius of the sphere to be bounded
+
+
+
+
+
+
+
+
+
+
+
+ * Sets the bounds to the given extrema.
+ *
+ * @param minX The minimum x value of the bounds
+ * @param minY The minimum y value of the bounds
+ * @param minZ The minimum z value of the bounds
+ * @param maxX The maximum x value of the bounds
+ * @param maxY The maximum y value of the bounds
+ * @param maxZ The maximum z value of the bounds
+
+
+
+
+
+
+
+ * Tests if the bounds are in the camera frustum.
+ *
+ * @param mvpMatrix The model view projection matrix for the object to which this bounding box belongs.
+ * @return True if the bounding box is at least partially inside the frustum
+
+
+
+
+
+
+ * Tests if the bounds overlap other bounds, treating both bounds as AABBs.
+
+
+
+ * Clones the current BoundingVolume object
+ * @return An exact duplicate of this object
+
+
+
+
+
+
+
+
+ * Method for calculating whether an intersection of the given ray occurs with the bounding volume.
+ *
+ * @param position The starting position of the casting ray in local coordinates.
+ * @param direction A unit vector representing the direction of the casting ray in local coordinates.
+ * @param targetNormal The vector to store the bounds' normal at the point of collision
+ * @return A Boolean value representing the detection of an intersection.
+
+
+
+
+
+
+ * Method for calculating whether the given position is contained within the bounding volume.
+ *
+ * @param position The position in local coordinates to be checked.
+ * @return A Boolean value representing the detection of a contained position.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BoundingVolumeBase object]]>
+
+ * An abstract base class for all bounding volume classes. It should not be instantiated directly.
+
+
+
+
+
+
+ <_centerX expr="0">
+
+ 0
+
+ <_centerY expr="0">
+
+ 0
+
+ <_centerZ expr="0">
+
+ 0
+
+ <_halfExtentsX expr="0">
+
+ 0
+
+ <_halfExtentsY expr="0">
+
+ 0
+
+ <_halfExtentsZ expr="0">
+
+ 0
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { target : null }
+ * Finds the closest point on the bounding volume to another given point. This can be used for maximum error calculations for content within a given bound.
+ * @param point The point for which to find the closest point on the bounding volume
+ * @param target An optional Vector3D to store the result to prevent creating a new object.
+ * @return
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AxisAlignedBoundingBox object.]]>
+
+ * AxisAlignedBoundingBox represents a bounding box volume that has its planes aligned to the local coordinate axes of the bounded object.
+ * This is useful for most meshes.
+
+
+
+
+
+ <_radius expr="0">
+
+ 0
+
+ <_centerX expr="0">
+
+ 0
+
+ <_centerY expr="0">
+
+ 0
+
+ <_centerZ expr="0">
+
+ 0
+
+
+
+ * The radius of the bounding sphere, calculated from the contents of the entity.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * todo: pass planes?
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BoundingSphere object]]>
+
+ * BoundingSphere represents a spherical bounding volume defined by a center point and a radius.
+ * This bounding volume is useful for point lights.
+
+
+
+
+ <_alwaysIn>
+ <_renderable>
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { renderable : null, alwaysIn : true }
+
+ * NullBounds represents a debug bounding "volume" that is either considered always in, or always out of the frustum.
+ * NullBounds is useful for entities that are always considered in the frustum, such as directional lights or skyboxes.
+
+
+
+
+
+
+
+
+
+
+
+ <_showBounds>
+ <_partitionNode>
+ <_boundsIsShown expr="false">
+
+ false
+
+ <_shaderPickingDetails>
+ <_pickingCollisionVO>
+
+ away3d
+
+ <_pickingCollider>
+
+ away3d
+
+ <_staticNode>
+
+ away3d
+
+ <_bounds>
+ <_boundsInvalid expr="true">
+
+ true
+
+ <_worldBounds>
+ <_worldBoundsInvalid expr="true">
+
+ true
+
+
+
+
+
+
+
+ * Used by the shader-based picking system to determine whether a separate render pass is made in order
+ * to offer more details for the picking collision object, including local position, normal vector and uv value.
+ * Defaults to false.
+ *
+ * @see away3d.core.pick.ShaderPicker
+
+
+
+
+
+
+
+ * Defines whether or not the object will be moved or animated at runtime. This property is used by some partitioning systems to improve performance.
+ * Warning: if set to true, they may not be processed by certain partition systems using static visibility lists, unless they're specifically assigned to the visibility list.
+
+
+
+
+
+
+
+ * Returns a unique picking collision value object for the entity.
+
+
+
+
+
+
+
+ away3d
+ * Tests if a collision occurs before shortestCollisionDistance, using the data stored in PickingCollisionVO.
+ * @param shortestCollisionDistance
+ * @return
+
+
+
+ *
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * The bounding volume approximating the volume occupied by the Entity.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+ * Used by the raycast-based picking system to determine how the geometric contents of an entity are processed
+ * in order to offer more details for the picking collision object, including local position, normal vector and uv value.
+ * Defaults to null.
+ *
+ * @see away3d.core.pick.RaycastPicker
+
+
+
+
+
+
+
+ * Gets a concrete EntityPartition3DNode subclass that is associated with this Entity instance
+
+
+
+
+
+
+
+
+ * Factory method that returns the current partition node. Needs to be overridden by concrete subclasses
+ * such as Mesh to return the correct concrete subtype of EntityPartition3DNode (for Mesh = MeshPartition3DNode,
+ * most IRenderables (particles fe) would return RenderablePartition3DNode, I suppose)
+
+
+
+ * Creates the default bounding box to be used by this type of Entity.
+ * @return
+
+
+
+ * Updates the bounding volume for the object. Overriding methods need to set invalid flag to false!
+
+
+
+ * @inheritDoc
+
+
+
+ * Invalidates the bounding volume, causing to be updated when requested.
+
+
+
+
+ * Notify the scene that the global scene bounds have changed, so it can be repartitioned.
+
+
+
+ * Notify the scene that a new partition was assigned.
+
+
+
+ * Notify the scene that a partition was unassigned.
+
+
+
+
+
+
+ * Creates a new Entity object.
+
+ * The Entity class provides an abstract base class for all scene graph objects that are considered having a
+ * "presence" in the scene, in the sense that it can be considered an actual object with a position and a size (even
+ * if infinite or idealised), rather than a grouping.
+ * Entities can be partitioned in a space partitioning system and in turn collected by an EntityCollector.
+ *
+ * @see away3d.partition.Partition3D
+ * @see away3d.core.traverse.EntityCollector
+
+
+
+
+
+
+
+ <_viewProjection expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_viewProjectionDirty expr="true">
+
+ true
+
+ <_lens>
+ <_frustumPlanes>
+ <_frustumPlanesDirty expr="true">
+
+ true
+
+
+
+
+
+
+
+
+
+ *
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * The lens used by the camera to perform the projection;
+
+
+
+
+
+
+
+ * The view projection matrix of the camera.
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position of the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The scene position of the given screen coordinates.
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the ray in scene space from the camera to the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The ray from the camera to the scene space position of the given screen coordinates.
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the normalised position in screen space of the given scene position.
+ *
+ * @param point3d the position vector of the scene coordinates to be projected.
+ * @param v The destination Vector3D object
+ * @return The normalised screen position of the given scene coordinates.
+
+
+
+
+
+
+ { lens : null }
+ * Creates a new Camera3D object
+ * @param lens An optional lens object that will perform the projection. Defaults to PerspectiveLens.
+ *
+ * @see away3d.cameras.lenses.PerspectiveLens
+
+ * A Camera3D object represents a virtual camera through which we view the scene.
+
+
+
+
+
+ 0
+ * Default option, projects to a left-handed coordinate system
+
+
+
+ 1
+ * Projects to a right-handed coordinate system
+
+ coordinateSystem property
+ *
+ * @see away3d.cameras.lenses.PerspectiveLens#coordinateSystem]]>
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+ <_matrix>
+ <_scissorRect expr="new Rectangle()">
+
+ new Rectangle()
+
+ <_viewPort expr="new Rectangle()">
+
+ new Rectangle()
+
+ <_near expr="20">
+
+ 20
+
+ <_far expr="3000">
+
+ 3000
+
+ <_aspectRatio expr="1">
+
+ 1
+
+ <_matrixInvalid expr="true">
+
+ true
+
+ <_frustumCorners expr="new Vector<Float>(8 * 3, true)">
+
+ (8 * 3, true)]]>
+
+ <_unprojection>
+ <_unprojectionInvalid expr="true">
+
+ true
+
+
+
+ * Retrieves the corner points of the lens frustum.
+
+
+
+
+
+
+
+ * The projection matrix that transforms 3D geometry to normalized homogeneous coordinates.
+
+
+
+
+
+
+
+ * The distance to the near plane of the frustum. Anything behind near plane will not be rendered.
+
+
+
+
+
+
+
+ * The distance to the far plane of the frustum. Anything beyond the far plane will not be rendered.
+
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the normalised position in screen space of the given scene position relative to the camera.
+ *
+ * @param point3d the position vector of the scene coordinates to be projected.
+ * @param v The destination Vector3D object
+ * @return The normalised screen position of the given scene coordinates relative to the camera.
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The scene position relative to the camera of the given screen coordinates.
+
+
+
+ * Creates an exact duplicate of the lens
+
+
+
+ * The aspect ratio (width/height) of the view. Set by the renderer.
+ * @private
+
+
+
+
+
+
+
+ * Invalidates the projection matrix, which will cause it to be updated on the next request.
+
+
+
+ * Updates the matrix
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ * Creates a new LensBase object.
+
+ * An abstract base class for all lens classes. Lens objects provides a projection matrix that transforms 3D geometry to normalized homogeneous coordinates.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new FreeMatrixLens object.
+
+ * FreeMatrixLens provides a projection lens that exposes a full projection matrix, rather than provide one through
+ * more user-friendly settings. Whenever the matrix is updated, it needs to be reset in order to trigger an update.
+
+
+
+
+
+ The x axis defined as a Vector3D object with coordinates (1,0,0).
+
+
+
+ The y axis defined as a Vector3D object with coordinates (0,1,0).
+
+
+
+ The z axis defined as a Vector3D object with coordinates (0,0,1).
+
+
+
+
+
+
+
+ Returns the angle in radians between two vectors. The returned angle is the
+ smallest radian the first Vector3D object rotates until it aligns with the
+ second Vector3D object.
+
+ The `angleBetween()` method is a static method. You can use it directly as a method
+ of the Vector3D class.
+
+ To convert a degree to a radian, you can use the following formula:
+
+ ```haxe
+ radian = Math.PI/180 * degree
+ ```
+
+ @param a The first Vector3D object.
+ @param b The second Vector3D object.
+ @returns The angle between two Vector3D objects.
+
+
+
+
+
+
+
+ Returns the distance between two Vector3D objects. The `distance()` method is a
+ static method. You can use it directly as a method of the Vector3D class to get
+ the Euclidean distance between two three-dimensional points.
+
+ @param pt1 A Vector3D object as the first three-dimensional point.
+ @param pt2 A Vector3D object as the second three-dimensional point.
+ @returns The distance between two Vector3D objects.
+
+
+
+
+
+
+ The length, magnitude, of the current Vector3D object from the origin (0,0,0) to
+ the object's x, y, and z coordinates. The `w` property is ignored. A unit vector has
+ a length or magnitude of one.
+
+
+
+ The square of the length of the current Vector3D object, calculated using the `x`,
+ `y`, and `z` properties. The `w` property is ignored. Use the `lengthSquared()`
+ method whenever possible instead of the slower `Math.sqrt()` method call of the
+ `Vector3D.length()` method.
+
+
+
+ The fourth element of a Vector3D object (in addition to the `x`, `y`, and `z`
+ properties) can hold data such as the angle of rotation. The default value is 0.
+
+ Quaternion notation employs an angle as the fourth element in its calculation of
+ three-dimensional rotation. The w property can be used to define the angle of
+ rotation about the Vector3D object. The combination of the rotation angle and the
+ coordinates (x,y,z) determines the display object's orientation.
+
+ In addition, the w property can be used as a perspective warp factor for a
+ projected three-dimensional position or as a projection transform value in
+ representing a three-dimensional coordinate projected into the two-dimensional
+ space. For example, you can create a projection matrix using the `Matrix3D.rawData`
+ property, that, when applied to a Vector3D object, produces a transform value in
+ the Vector3D object's fourth element (the `w` property). Dividing the Vector3D
+ object's other elements by the transform value then produces a projected Vector3D
+ object. You can use the `Vector3D.project()` method to divide the first three
+ elements of a Vector3D object by its fourth element.
+
+
+
+ The first element of a Vector3D object, such as the x coordinate of a point in
+ the three-dimensional space. The default value is 0.
+
+
+
+ The second element of a Vector3D object, such as the y coordinate of a point in
+ the three-dimensional space. The default value is 0.
+
+
+
+ The third element of a Vector3D object, such as the z coordinate of a point in
+ three-dimensional space. The default value is 0.
+
+
+
+
+
+
+ Adds the value of the x, y, and z elements of the current Vector3D object to the
+ values of the x, y, and z elements of another Vector3D object. The `add()` method
+ does not change the current Vector3D object. Instead, it returns a new Vector3D
+ object with the new values.
+
+ The result of adding two vectors together is a resultant vector. One way to
+ visualize the result is by drawing a vector from the origin or tail of the first
+ vector to the end or head of the second vector. The resultant vector is the
+ distance between the origin point of the first vector and the end point of the
+ second vector.
+
+ 
+
+ @param a A Vector3D object to be added to the current Vector3D object.
+ @returns A Vector3D object that is the result of adding the current Vector3D
+ object to another Vector3D object.
+
+
+
+ Returns a new Vector3D object that is an exact copy of the current Vector3D object.
+
+ @returns A new Vector3D object that is a copy of the current Vector3D object.
+
+
+
+
+
+
+ Copies all of vector data from the source Vector3D object into the calling Vector3D
+ object.
+
+ @param sourceVector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+ Returns a new Vector3D object that is perpendicular (at a right angle) to the
+ current Vector3D and another Vector3D object. If the returned Vector3D object's
+ coordinates are (0,0,0), then the two Vector3D objects are parallel to each other.
+
+ 
+
+ You can use the normalized cross product of two vertices of a polygon surface with
+ the normalized vector of the camera or eye viewpoint to get a dot product. The
+ value of the dot product can identify whether a surface of a three-dimensional
+ object is hidden from the viewpoint.
+
+ @param a A second Vector3D object.
+ @returns A new Vector3D object that is perpendicular to the current Vector3D
+ object and the Vector3D object specified as the parameter.
+
+
+
+
+
+
+ Decrements the value of the x, y, and z elements of the current Vector3D object by
+ the values of the x, y, and z elements of specified Vector3D object. Unlike the
+ `Vector3D.subtract()` method, the `decrementBy()` method changes the current
+ Vector3D object and does not return a new Vector3D object.
+
+ @param a The Vector3D object containing the values to subtract from the current
+ Vector3D object.
+
+
+
+
+
+
+ If the current Vector3D object and the one specified as the parameter are unit
+ vertices, this method returns the cosine of the angle between the two vertices.
+ Unit vertices are vertices that point to the same direction but their length is
+ one. They remove the length of the vector as a factor in the result. You can use
+ the `normalize()` method to convert a vector to a unit vector.
+
+ The `dotProduct()` method finds the angle between two vertices. It is also used in
+ backface culling or lighting calculations. Backface culling is a procedure for
+ determining which surfaces are hidden from the viewpoint. You can use the
+ normalized vertices from the camera, or eye, viewpoint and the cross product of
+ the vertices of a polygon surface to get the dot product. If the dot product is less
+ than zero, then the surface is facing the camera or the viewer. If the two unit
+ vertices are perpendicular to each other, they are orthogonal and the dot product
+ is zero. If the two vertices are parallel to each other, the dot product is one.
+
+ @param a The second Vector3D object.
+ @returns A scalar which is the dot product of the current Vector3D object and
+ the specified Vector3D object.
+
+
+
+
+
+
+
+ { allFour : false }
+ Determines whether two Vector3D objects are equal by comparing the x, y, and z
+ elements of the current Vector3D object with a specified Vector3D object. If the
+ values of these elements are the same, the two Vector3D objects are equal. If the
+ second optional parameter is set to `true`, all four elements of the Vector3D
+ objects, including the `w` property, are compared.
+
+ @param toCompare The Vector3D object to be compared with the current Vector3D
+ object.
+ @param allFour An optional parameter that specifies whether the `w` property of
+ the Vector3D objects is used in the comparison.
+ @returns A value of `true` if the specified Vector3D object is equal to the current Vector3D object; `false` if it is not equal.
+
+
+
+
+
+
+ Increments the value of the x, y, and z elements of the current Vector3D object by
+ the values of the x, y, and z elements of a specified Vector3D object. Unlike the
+ `Vector3D.add()` method, the `incrementBy()` method changes the current Vector3D
+ object and does not return a new Vector3D object.
+
+ @param a The Vector3D object to be added to the current Vector3D object.
+
+
+
+
+
+
+
+
+ { allFour : false }
+ Compares the elements of the current Vector3D object with the elements of a
+ specified Vector3D object to determine whether they are nearly equal. The two
+ Vector3D objects are nearly equal if the value of all the elements of the two
+ vertices are equal, or the result of the comparison is within the tolerance range.
+ The difference between two elements must be less than the number specified as the
+ tolerance parameter. If the third optional parameter is set to true, all four
+ elements of the Vector3D objects, including the w property, are compared.
+ Otherwise, only the x, y, and z elements are included in the comparison.
+
+ @param toCompare The Vector3D object to be compared with the current Vector3D
+ object.
+ @param tolerance A number determining the tolerance factor. If the difference
+ between the values of the Vector3D element specified in the toCompare parameter
+ and the current Vector3D element is less than the tolerance number, the two values
+ are considered nearly equal.
+ @param allFour An optional parameter that specifies whether the `w` property of
+ the Vector3D objects is used in the comparison.
+ @returns A value of `true` if the specified Vector3D object is nearly equal to the current Vector3D object; `false` if it is not equal.
+
+
+
+ Sets the current Vector3D object to its inverse. The inverse object is also
+ considered the opposite of the original object. The value of the `x`, `y`, and `z`
+ properties of the current Vector3D object is changed to -x, -y, and -z.
+
+
+
+ Converts a Vector3D object to a unit vector by dividing the first three elements
+ (x, y, z) by the length of the vector. Unit vertices are vertices that have a
+ direction but their `length` is one. They simplify vector calculations by removing `length` as a factor.
+
+ @returns The length of the current Vector3D object.
+
+
+
+ Divides the value of the `x`, `y`, and `z` properties of the current Vector3D
+ object by the value of its `w` property.
+
+ If the current Vector3D object is the result of multiplying a Vector3D object by a
+ projection Matrix3D object, the `w` property can hold the transform value. The
+ `project()` method then can complete the projection by dividing the elements by the
+ `w` property. Use the Matrix3D.rawData property to create a projection Matrix3D
+ object.
+
+
+
+
+
+
+ Scales the current Vector3D object by a scalar, a magnitude. The Vector3D object's
+ x, y, and z elements are multiplied by the scalar number specified in the
+ parameter. For example, if the vector is scaled by ten, the result is a vector
+ that is ten times longer. The scalar can also change the direction of the vector.
+ Multiplying the vector by a negative number reverses its direction.
+
+ @param s A multiplier (scalar) used to scale a Vector3D object.
+
+
+
+
+
+
+
+
+ Sets the members of Vector3D to the specified values
+
+ @param xa the values to set the vector to.
+ @param ya
+ @param za
+
+
+
+
+
+
+ Subtracts the value of the x, y, and z elements of the current Vector3D object
+ from the values of the x, y, and z elements of another Vector3D object. The
+ `subtract()` method does not change the current Vector3D object. Instead, this
+ method returns a new Vector3D object with the new values.
+
+ @param a The Vector3D object to be subtracted from the current Vector3D object.
+ @returns A new Vector3D object that is the difference between the current
+ Vector3D and the specified Vector3D object.
+
+
+
+ Returns a string representation of the current Vector3D object. The string contains
+ the values of the x, y, and z properties.
+
+ @returns A string containing the values of the x, y, and z properties.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { w : 0, z : 0, y : 0, x : 0 }
+ Creates an instance of a Vector3D object. If you do not specify a parameter for
+ the constructor, a Vector3D object is created with the elements (0,0,0,0).
+
+ @param x The first element, such as the x coordinate.
+ @param y The second element, such as the y coordinate.
+ @param z The third element, such as the z coordinate.
+ @param w An optional element for additional data such as the angle of rotation.
+
+ The Vector3D class represents a point or a location in the three-dimensional space using
+ the Cartesian coordinates x, y, and z. As in a two-dimensional space, the `x` property
+ represents the horizontal axis and the `y` property represents the vertical axis. In
+ three-dimensional space, the `z` property represents depth. The value of the `x` property increases as the object moves to the right. The value of the `y` property
+ increases as the object moves down. The `z` property increases as the object moves
+ farther from the point of view. Using perspective projection and scaling, the object is
+ seen to be bigger when near and smaller when farther away from the screen. As in a
+ right-handed three-dimensional coordinate system, the positive z-axis points away from
+ the viewer and the value of the `z` property increases as the object moves away from the
+ viewer's eye. The origin point (0,0,0) of the global space is the upper-left corner of
+ the stage.
+
+ 
+
+ The Vector3D class can also represent a direction, an arrow pointing from the origin of
+ the coordinates, such as (0,0,0), to an endpoint; or a floating-point component of an
+ RGB (Red, Green, Blue) color model.
+
+ Quaternion notation introduces a fourth element, the `w` property, which provides
+ additional orientation information. For example, the `w` property can define an angle
+ of rotation of a Vector3D object. The combination of the angle of rotation and the
+ coordinates `x`, `y`, and `z` can determine the display object's orientation. Here is
+ a representation of Vector3D elements in matrix notation:
+
+ 
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+ new Vector3D()
+
+
+
+ <_baseLens>
+ <_plane>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_projectionHeight>
+ <_xMax>
+ <_yMax>
+
+
+ * The vertical field of view of the projection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The scene position relative to the camera of the given screen coordinates.
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { projectionHeight : 500 }
+ * Creates a new OrthogonalLens object.
+
+ * The PerspectiveLens object provides a projection matrix that projects 3D geometry isometrically. This entails
+ * there is no perspective distortion, and lines that are parallel in the scene will remain parallel on the screen.
+
+
+
+
+
+
+
+
+ <_minX>
+ <_maxX>
+ <_minY>
+ <_maxY>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The scene position relative to the camera of the given screen coordinates.
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Creates a new OrthogonalLens object.
+ * @param fieldOfView The vertical field of view of the projection.
+
+ * The PerspectiveLens object provides a projection matrix that projects 3D geometry isometrically. This entails
+ * there is no perspective distortion, and lines that are parallel in the scene will remain parallel on the screen.
+
+
+
+
+
+
+
+ <_fieldOfView>
+ <_focalLength>
+ <_focalLengthInv>
+ <_yMax>
+ <_xMax>
+ <_coordinateSystem>
+
+
+ * The vertical field of view of the projection in degrees.
+
+
+
+
+
+
+
+ * The focal length of the projection in units of viewport height.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The scene position relative to the camera of the given screen coordinates.
+
+
+
+
+ * The handedness of the coordinate system projection. The default is LEFT_HANDED.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { coordinateSystem : 0, fieldOfView : 60 }
+ * Creates a new PerspectiveLens object.
+ *
+ * @param fieldOfView The vertical field of view of the projection.
+
+ * The PerspectiveLens object provides a projection matrix that projects 3D geometry with perspective distortion.
+
+
+
+
+
+
+
+
+ <_minAngleX>
+ <_minLengthX>
+ <_tanMinX>
+ <_maxAngleX>
+ <_maxLengthX>
+ <_tanMaxX>
+ <_minAngleY>
+ <_minLengthY>
+ <_tanMinY>
+ <_maxAngleY>
+ <_maxLengthY>
+ <_tanMaxY>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
+ *
+ * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
+ * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
+ * @param sZ The z coordinate in screen space, representing the distance into the screen.
+ * @param v The destination Vector3D object
+ * @return The scene position relative to the camera of the given screen coordinates.
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { maxAngleY : 40, minAngleY : -40, maxAngleX : 40, minAngleX : -40 }
+ * Creates a new PerspectiveLens object.
+ *
+ * @param fieldOfView The vertical field of view of the projection.
+
+ * The PerspectiveLens object provides a projection matrix that projects 3D geometry with perspective distortion.
+
+
+
+
+
+ <_sceneGraphRoot public="1">
+ <_partitions>
+
+
+
+
+
+ * Sends a PartitionTraverser object down the scene partitions
+ * @param traverser The traverser which will pass through the partitions.
+ *
+ * @see away3d.core.traverse.PartitionTraverser
+ * @see away3d.core.traverse.EntityCollector
+
+
+
+ * The root partition to be used by the Scene3D.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Adds a child to the scene's root.
+ * @param child The child to be added to the scene
+ * @return A reference to the added child.
+
+
+
+
+
+
+ * Removes a child from the scene's root.
+ * @param child The child to be removed from the scene.
+
+
+
+
+
+
+ * Removes a child from the scene's root.
+ * @param index Index of child to be removed from the scene.
+
+
+
+
+
+
+ * Retrieves the child with the given index
+ * @param index The index for the child to be retrieved.
+ * @return The child with the given index
+
+
+
+ * The amount of children directly contained by the scene.
+
+
+
+
+
+
+ away3d
+ * When an entity is added to the scene, or to one of its children, add it to the partition tree.
+ * @private
+
+
+
+
+
+
+ away3d
+ * When an entity is removed from the scene, or from one of its children, remove it from its former partition tree.
+ * @private
+
+
+
+
+
+
+ * When an entity has moved or changed size, update its position in its partition tree.
+
+
+
+
+
+
+ * When a partition is assigned to an object somewhere in the scene graph, add the partition to the list if it isn't in there yet
+
+
+
+
+
+
+ * When a partition is removed from an object somewhere in the scene graph, remove the partition from the list
+
+
+
+
+
+
+ * Add a partition if it's not in the list
+
+
+
+ * Creates a new Scene3D object.
+
+ * The Scene3D class represents an independent 3D scene in which 3D objects can be created and manipulated.
+ * Multiple Scene3D instances can be created in the same SWF file.
+ *
+ * Scene management happens through the scene graph, which is exposed using addChild and removeChild methods.
+ * Internally, the Scene3D object also manages any space partition objects that have been assigned to objects in
+ * the scene graph, of which there is at least 1.
+
+
+
+
+ <_width expr="0">
+
+ 0
+
+ <_height expr="0">
+
+ 0
+
+ <_localTLPos expr="new Point()">
+
+ new Point()
+
+ <_localBRPos expr="new Point()">
+
+ new Point()
+
+ <_globalPos expr="new Point()">
+
+ new Point()
+
+ <_globalWidth expr="0">
+
+ 0
+
+ <_globalHeight expr="0">
+
+ 0
+
+ <_globalPosDirty>
+ <_scene>
+ <_camera>
+ <_entityCollector>
+ <_aspectRatio>
+ <_time expr="0">
+
+ 0
+
+ <_deltaTime>
+ <_backgroundColor expr="0x000000">
+
+ 0x000000
+
+ <_backgroundAlpha expr="1">
+
+ 1
+
+ <_mouse3DManager>
+ <_touch3DManager>
+ <_renderer>
+ <_depthRenderer>
+ <_addedToStage>
+ <_forceSoftware>
+ <_filter3DRenderer>
+ <_requireDepthRender>
+ <_depthRender>
+ <_depthTextureInvalid expr="true">
+
+ true
+
+ <_hitField>
+ <_parentIsStage>
+ <_background>
+ <_stage3DProxy>
+ <_backBufferInvalid expr="true">
+
+ true
+
+ <_antiAlias>
+ <_rttBufferManager>
+ <_rightClickMenuEnabled expr="true">
+
+ true
+
+ <_sourceURL>
+ <_shareContext expr="false">
+
+ false
+
+ <_scissorRect>
+ <_scissorRectDirty expr="true">
+
+ true
+
+ <_viewportDirty expr="true">
+
+ true
+
+ <_depthPrepass>
+ <_profile>
+ <_layeredView expr="false">
+
+ false
+
+ <_contextIndex expr="-1">
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Forces mouse-move related events even when the mouse hasn't moved. This allows mouseOver and mouseOut events
+ * etc to be triggered due to changes in the scene graph. Defaults to false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Used in a sharedContext. When true, clears the depth buffer prior to rendering this particular
+ * view to avoid depth sorting with lower layers. When false, the depth buffer is not cleared
+ * from the previous (lower) view's render so objects in this view may be occluded by the lower
+ * layer. Defaults to false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The renderer used to draw the scene.
+
+
+
+
+
+
+
+
+ * The background color of the screen. This value is only used when clearAll is set to true.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The camera that's used to render the scene for this viewport
+
+
+
+
+
+
+
+ * Set camera that's used to render the scene for this viewport
+
+
+
+ * The scene that's used to render for this viewport
+
+
+
+
+
+
+
+ * Set the scene that's used to render for this viewport
+
+
+
+ * The amount of milliseconds the last render call took
+
+
+
+
+ filters
+ * Not supported. Use filters3d instead.
+
+
+
+
+
+
+ filters
+ * Not supported. Use filters3d instead.
+
+
+
+ width
+ * The width of the viewport. When software rendering is used, this is limited by the
+ * platform to 2048 pixels.
+
+
+
+
+
+
+ width
+
+
+
+ height
+ * The height of the viewport. When software rendering is used, this is limited by the
+ * platform to 2048 pixels.
+
+
+
+
+
+
+ height
+
+
+
+
+
+
+ x
+
+
+
+
+
+
+ y
+
+
+
+
+
+
+ visible
+
+
+
+ * The amount of anti-aliasing to be used.
+
+
+
+
+
+
+
+
+ * The amount of faces that were pushed through the render pipeline on the last frame render.
+
+
+
+
+ * Defers control of Context3D clear() and present() calls to Stage3DProxy, enabling multiple Stage3D frameworks
+ * to share the same Context3D object.
+
+
+
+
+
+
+
+
+ * Updates the backbuffer dimensions.
+
+
+
+ * Defines a source url string that can be accessed though a View Source option in the right-click menu.
+ *
+ * Requires the stats panel to be enabled.
+ *
+ * @param url The url to the source files.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Disposes all memory occupied by the view. This will also dispose the renderer.
+
+
+
+
+
+
+ * Calculates the projected position in screen space of the given scene position.
+ *
+ * @param point3d the position vector of the point to be projected.
+ * @return The absolute screen position of the given scene coordinates.
+
+
+
+
+
+
+
+
+
+ { v : null }
+ * Calculates the scene position of the given screen coordinates.
+ *
+ * eg. unproject(view.mouseX, view.mouseY, 500) returns the scene position of the mouse 500 units into the screen.
+ *
+ * @param sX The absolute x coordinate in 2D relative to View3D, representing the screenX coordinate.
+ * @param sY The absolute y coordinate in 2D relative to View3D, representing the screenY coordinate.
+ * @param sZ The distance into the screen, representing the screenZ coordinate.
+ * @param v the destination Vector3D object
+ * @return The scene position of the given screen coordinates.
+
+
+
+
+
+
+
+
+ * Calculates the ray in scene space from the camera to the given screen coordinates.
+ *
+ * eg. getRay(view.mouseX, view.mouseY, 500) returns the ray from the camera to a position under the mouse, 500 units into the screen.
+ *
+ * @param sX The absolute x coordinate in 2D relative to View3D, representing the screenX coordinate.
+ * @param sY The absolute y coordinate in 2D relative to View3D, representing the screenY coordinate.
+ * @param sZ The distance into the screen, representing the screenZ coordinate.
+ * @return The ray from the camera to the scene space position of the given screen coordinates.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * The EntityCollector object that will collect all potentially visible entities in the partition tree.
+ *
+ * @see away3d.core.traverse.EntityCollector
+ * @private
+
+
+
+
+
+
+
+
+
+
+
+ * When added to the stage, retrieve a Stage3D instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { contextIndex : -1, profile : "baseline", forceSoftware : false, renderer : null, camera : null, scene : null }
+
+
+
+ openfl.utils._internal.AssetsMacro.initBinding()
+ openfl.utils._internal.AssetsMacro.initBinding()
+
+
+
+
+
+ <_autoUpdate>
+ <_targetObject>
+
+
+
+ * Target object on which the controller acts. Defaults to null.
+
+
+
+
+
+
+
+ * Determines whether the controller applies updates automatically. Defaults to true
+
+
+
+
+
+
+
+
+
+
+ { interpolate : true }
+ * Manually applies updates to the target 3D object.
+
+
+
+
+
+
+ { targetObject : null }
+ * Base controller class for dynamically adjusting the propeties of a 3D object.
+ *
+ * @param targetObject The 3D object on which to act.
+
+
+
+
+
+
+
+
+
+
+ <_currentPanAngle expr="0">
+
+ 0
+
+ <_currentTiltAngle expr="90">
+
+ 90
+
+ <_panAngle expr="0">
+
+ 0
+
+ <_tiltAngle expr="90">
+
+ 90
+
+ <_minTiltAngle expr="-90">
+
+ -90
+
+ <_maxTiltAngle expr="90">
+
+ 90
+
+ <_steps expr="0">
+
+ 0
+
+ <_walkIncrement expr="0">
+
+ 0
+
+ <_strafeIncrement expr="0">
+
+ 0
+
+ <_wrapPanAngle expr="false">
+
+ false
+
+
+
+
+ hover() method is called. Defaults to 8.
+ *
+ * Affects the speed at which the tiltAngle and panAngle resolve to their targets.
+ *
+ * @see #tiltAngle
+ * @see #panAngle]]>
+
+
+
+
+
+
+
+ * Rotation of the camera in degrees around the y axis. Defaults to 0.
+
+
+
+
+
+
+
+ * Elevation angle of the camera in degrees. Defaults to 90.
+
+
+
+
+
+
+
+ tiltAngle. Defaults to -90.
+ *
+ * @see #tiltAngle]]>
+
+
+
+
+
+
+
+ tiltAngle. Defaults to 90.
+ *
+ * @see #tiltAngle]]>
+
+
+
+
+
+
+
+ * Defines whether the value of the pan angle wraps when over 360 degrees or under 0 degrees. Defaults to false.
+
+
+
+
+
+
+
+
+
+
+ { interpolate : true }
+ tiltAngle, panAngle and steps variables.
+ *
+ * @param interpolate If the update to a target pan- or tiltAngle is interpolated. Default is true.
+ *
+ * @see #tiltAngle
+ * @see #panAngle
+ * @see #steps]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { wrapPanAngle : false, steps : 8, maxTiltAngle : 90, minTiltAngle : -90, tiltAngle : 90, panAngle : 0, targetObject : null }
+ HoverController object.]]>
+
+ * Extended camera used to hover round a specified target object.
+ *
+ * @see away3d.containers.View3D
+
+
+
+
+
+ * The vector representing the up direction of the target object.
+
+
+
+ * The Vector3D object that the target looks at.
+
+
+ <_lookAtPosition>
+ <_lookAtObject>
+ <_origin expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_upAxis expr="Vector3D.Y_AXIS">
+
+ Vector3D.Y_AXIS
+
+ <_pos expr="new Vector3D()">
+
+ new Vector3D()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The 3d object that the target looks at.
+
+
+
+
+
+
+
+
+
+
+ { interpolate : true }
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ { lookAtObject : null, targetObject : null }
+ LookAtController object.]]>
+
+ * Extended camera used to automatically look at a specified target object.
+ *
+ * @see away3d.containers.View3D
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_currentPanAngle expr="0">
+
+
+ 0
+ away3d
+
+
+ <_currentTiltAngle expr="90">
+
+
+ 90
+ away3d
+
+
+ <_panAngle expr="0">
+
+ 0
+
+ <_tiltAngle expr="90">
+
+ 90
+
+ <_distance expr="1000">
+
+ 1000
+
+ <_minPanAngle expr="Math.NEGATIVE_INFINITY">
+
+ Math.NEGATIVE_INFINITY
+
+ <_maxPanAngle expr="Math.POSITIVE_INFINITY">
+
+ Math.POSITIVE_INFINITY
+
+ <_minTiltAngle expr="-90">
+
+ -90
+
+ <_maxTiltAngle expr="90">
+
+ 90
+
+ <_steps expr="8">
+
+ 8
+
+ <_yFactor expr="2">
+
+ 2
+
+ <_wrapPanAngle expr="false">
+
+ false
+
+
+
+ hover() method is called. Defaults to 8.
+ *
+ * Affects the speed at which the tiltAngle and panAngle resolve to their targets.
+ *
+ * @see #tiltAngle
+ * @see #panAngle]]>
+
+
+
+
+
+
+
+ * Rotation of the camera in degrees around the y axis. Defaults to 0.
+
+
+
+
+
+
+
+ * Elevation angle of the camera in degrees. Defaults to 90.
+
+
+
+
+
+
+
+ * Distance between the camera and the specified target. Defaults to 1000.
+
+
+
+
+
+
+
+ panAngle. Defaults to -Infinity.
+ *
+ * @see #panAngle]]>
+
+
+
+
+
+
+
+ panAngle. Defaults to Infinity.
+ *
+ * @see #panAngle]]>
+
+
+
+
+
+
+
+ tiltAngle. Defaults to -90.
+ *
+ * @see #tiltAngle]]>
+
+
+
+
+
+
+
+ tiltAngle. Defaults to 90.
+ *
+ * @see #tiltAngle]]>
+
+
+
+
+
+
+
+ * Fractional difference in distance between the horizontal camera orientation and vertical camera orientation. Defaults to 2.
+ *
+ * @see #distance
+
+
+
+
+
+
+
+ * Defines whether the value of the pan angle wraps when over 360 degrees or under 0 degrees. Defaults to false.
+
+
+
+
+
+
+
+
+
+
+ { interpolate : true }
+ tiltAngle, panAngle and steps variables.
+ *
+ * @param interpolate If the update to a target pan- or tiltAngle is interpolated. Default is true.
+ *
+ * @see #tiltAngle
+ * @see #panAngle
+ * @see #steps]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { wrapPanAngle : false, yFactor : 2, steps : 8, maxPanAngle : null, minPanAngle : null, maxTiltAngle : 90, minTiltAngle : -90, distance : 1000, tiltAngle : 90, panAngle : 0, lookAtObject : null, targetObject : null }
+ HoverController object.]]>
+
+ * Extended camera used to hover round a specified target object.
+ *
+ * @see away3d.containers.View3D
+
+
+
+
+
+
+
+
+ { interpolate : true }
+
+
+
+
+
+
+
+
+
+ { distance : 700, tiltAngle : 45, lookAtObject : null, targetObject : null }
+
+ * Controller used to follow behind an object on the XZ plane, with an optional
+ * elevation (tiltAngle).
+ *
+ * @see away3d.containers.View3D
+
+
+
+ <_velocity>
+ <_dv>
+ <_stretch>
+ <_force>
+ <_acceleration>
+ <_desiredPosition>
+
+
+ * Stiffness of the spring, how hard is it to extend. The higher it is, the more "fixed" the cam will be.
+ * A number between 1 and 20 is recommended.
+
+
+
+ * Damping is the spring internal friction, or how much it resists the "boinggggg" effect. Too high and you'll lose it!
+ * A number between 1 and 20 is recommended.
+
+
+
+ * Mass of the camera, if over 120 and it'll be very heavy to move.
+
+
+
+ new Vector3D(0, 500, -1000)
+ * Offset of spring center from target in target object space, ie: Where the camera should ideally be in the target object space.
+
+
+
+
+
+
+ { interpolate : true }
+
+
+
+
+
+
+
+
+
+
+ { damping : 4, mass : 40, stiffness : 1, lookAtObject : null, targetObject : null }
+
+ * Uses spring physics to animate the target object towards a position that is
+ * defined as the lookAtTarget object's position plus the vector defined by the
+ * positionOffset property.
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ <_parentGeometry>
+ <_vertexData>
+ <_faceNormalsDirty expr="true">
+
+ true
+
+ <_faceTangentsDirty expr="true">
+
+ true
+
+ <_faceTangents>
+ <_indices>
+ <_indexBuffer expr="new Vector<IndexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_numIndices>
+ <_indexBufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_indicesInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_numTriangles>
+ <_autoDeriveVertexNormals expr="true">
+
+ true
+
+ <_autoDeriveVertexTangents expr="true">
+
+ true
+
+ <_autoGenerateUVs expr="false">
+
+ false
+
+ <_useFaceWeights expr="false">
+
+ false
+
+ <_vertexNormalsDirty expr="true">
+
+ true
+
+ <_vertexTangentsDirty expr="true">
+
+ true
+
+ <_faceNormals>
+ <_faceWeights>
+ <_scaleU expr="1">
+
+ 1
+
+ <_scaleV expr="1">
+
+ 1
+
+ <_uvsDirty expr="true">
+
+ true
+
+
+
+ * Defines whether a UV buffer should be automatically generated to contain dummy UV coordinates.
+ * Set to true if a geometry lacks UV data but uses a material that requires it, or leave as false
+ * in cases where UV data is explicitly defined or the material does not require UV data.
+
+
+
+
+
+
+
+ * True if the vertex normals should be derived from the geometry, false if the vertex normals are set
+ * explicitly.
+
+
+
+
+
+
+
+ * Indicates whether or not to take the size of faces into account when auto-deriving vertex normals and tangents.
+
+
+
+
+
+
+
+ * The total amount of triangles in the SubGeometry.
+
+
+
+
+
+
+ * Retrieves the VertexBuffer3D object that contains triangle indices.
+ * @param context The Context3D for which we request the buffer
+ * @return The VertexBuffer3D object that contains triangle indices.
+
+
+
+ * Updates the tangents for each face.
+
+
+
+ * Updates the normals for each face.
+
+
+
+
+
+
+ * Updates the vertex normals based on the geometry.
+
+
+
+
+
+
+ * Updates the vertex tangents based on the geometry.
+
+
+
+
+ * The raw index data that define the faces.
+ *
+ * @private
+
+
+
+
+
+
+ * Updates the face indices of the SubGeometry.
+ * @param indices The face indices to upload.
+
+
+
+
+
+
+ * Disposes all buffers in a given vector.
+ * @param buffers The vector of buffers to dispose.
+
+
+
+
+
+
+ * Disposes all buffers in a given vector.
+ * @param buffers The vector of buffers to dispose.
+
+
+
+ * True if the vertex tangents should be derived from the geometry, false if the vertex normals are set
+ * explicitly.
+
+
+
+
+
+
+
+ * The raw data of the face normals, in the same order as the faces are listed in the index list.
+ *
+ * @private
+
+
+
+
+
+
+ * Invalidates all buffers in a vector, causing them the update when they are first requested.
+ * @param buffers The vector of buffers to invalidate.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The Geometry object that 'owns' this SubGeometry object.
+ *
+ * @private
+
+
+
+
+
+
+
+ * Scales the uv coordinates
+ * @param scaleU The amount by which to scale on the u axis. Default is 1;
+ * @param scaleV The amount by which to scale on the v axis. Default is 1;
+
+
+
+
+
+
+
+
+ { scaleV : 1, scaleU : 1 }
+
+
+
+
+
+
+ * Scales the geometry.
+ * @param scale The amount by which to scale.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The total amount of vertices in the SubGeometry.
+
+
+
+ * The amount of triangles that comprise the IRenderable geometry.
+
+
+
+ * The distance between two consecutive vertex, normal or tangent elements
+ * This always applies to vertices, normals and tangents.
+
+
+
+ * The distance between two consecutive normal elements
+ * This always applies to vertices, normals and tangents.
+
+
+
+ * The distance between two consecutive tangent elements
+ * This always applies to vertices, normals and tangents.
+
+
+
+ * The distance between two consecutive UV elements
+
+
+
+ * The distance between two secondary UV elements
+
+
+
+
+
+
+
+ * Assigns the attribute stream for vertex positions.
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for UV coordinates
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for a secondary set of UV coordinates
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for vertex normals
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for vertex tangents
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+ * Retrieves the IndexBuffer3D object that contains triangle indices.
+ * @param context The Context3D for which we request the buffer
+ * @return The VertexBuffer3D object that contains triangle indices.
+
+
+
+ * Retrieves the object's vertices as a Number array.
+
+
+
+ * Retrieves the object's normals as a Number array.
+
+
+
+ * Retrieves the object's tangents as a Number array.
+
+
+
+ * The offset into vertexData where the vertices are placed
+
+
+
+ * The offset into vertexNormalData where the normals are placed
+
+
+
+ * The offset into vertexTangentData where the tangents are placed
+
+
+
+ * The offset into UVData vector where the UVs are placed
+
+
+
+ * The offset into SecondaryUVData vector where the UVs are placed
+
+
+
+ away3d
+ * Retrieves the object's indices as a uint array.
+
+
+
+ * Retrieves the object's uvs as a Number array.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scaleV : 1, scaleU : 1 }
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_vertexDataInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_vertexBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_bufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_numVertices>
+ <_contextIndex>
+ <_activeBuffer>
+ <_activeContext>
+ <_activeDataInvalid>
+ <_isolatedVertexPositionData>
+ <_isolatedVertexPositionDataDirty>
+
+
+
+
+
+
+ * Updates the vertex data. All vertex properties are contained in a single Vector, and the order is as follows:
+ * 0 - 2: vertex position X, Y, Z
+ * 3 - 5: normal X, Y, Z
+ * 6 - 8: tangent X, Y, Z
+ * 9 - 10: U V
+ * 11 - 12: Secondary U V
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scaleV : 1, scaleU : 1 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Isolate and returns a Vector.Number of a specific buffer type
+ *
+ * - stripBuffer(0, 3), return only the vertices
+ * - stripBuffer(3, 3): return only the normals
+ * - stripBuffer(6, 3): return only the tangents
+ * - stripBuffer(9, 2): return only the uv's
+ * - stripBuffer(11, 2): return only the secondary uv's
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_subGeometries>
+
+
+
+ * A collection of SubGeometry objects, each of which contain geometrical data such as vertices, normals, etc.
+
+
+
+
+
+
+
+
+
+
+ * Adds a new SubGeometry object to the list.
+ * @param subGeometry The SubGeometry object to be added.
+
+
+
+
+
+
+ * Removes a new SubGeometry object from the list.
+ * @param subGeometry The SubGeometry object to be removed.
+
+
+
+ * Clones the geometry.
+ * @return An exact duplicate of the current Geometry object.
+
+
+
+
+
+
+ * Scales the geometry.
+ * @param scale The amount by which to scale.
+
+
+
+ * Clears all resources used by the Geometry object, including SubGeometries.
+
+
+
+
+
+
+
+ { scaleV : 1, scaleU : 1 }
+ * Scales the uv coordinates (tiling)
+ * @param scaleU The amount by which to scale on the u axis. Default is 1;
+ * @param scaleV The amount by which to scale on the v axis. Default is 1;
+
+
+
+ * Updates the SubGeometries so all vertex data is represented in different buffers.
+ * Use this for compatibility with Pixel Bender and PBPickingCollider
+
+
+
+ away3d
+
+
+
+
+
+
+ away3d
+
+
+
+ * Creates a new Geometry object.
+
+ * Geometry is a collection of SubGeometries, each of which contain the actual geometrical data such as vertices,
+ * normals, uvs, etc. It also contains a reference to an animation class, which defines how the geometry moves.
+ * A Geometry object is assigned to a Mesh, a scene graph occurence of the geometry, which in turn assigns
+ * the SubGeometries to its respective SubMesh objects.
+ *
+ *
+ *
+ * @see away3d.core.base.SubGeometry
+ * @see away3d.scenegraph.Mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The material with which to render the object.
+
+
+
+ * The animation used by the material to assemble the vertex code.
+
+ * IMaterialOwner provides an interface for objects that can use materials.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The transformation matrix that transforms from model to world space.
+
+
+
+
+
+
+ * The transformation matrix that transforms from model to world space, adapted with any special operations needed to render.
+ * For example, assuring certain alignedness which is not inherent in the scene transform. By default, this would
+ * return the scene transform.
+
+
+
+ * The inverse scene transform object that transforms from world to model space.
+
+
+
+ * Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing.
+
+
+
+ * The entity that that initially provided the IRenderable to the render pipeline.
+
+
+
+ * Indicates whether the renderable can cast shadows
+
+
+
+ * Provides a Matrix object to transform the uv coordinates, if the material supports it.
+ * For TextureMaterial and TextureMultiPassMaterial, the animateUVs property should be set to true.
+
+
+
+
+
+ * The total amount of vertices in the SubGeometry.
+
+
+
+ * The amount of triangles that comprise the IRenderable geometry.
+
+
+
+ * The number of data elements in the buffers per vertex.
+ * This always applies to vertices, normals and tangents.
+
+
+
+
+
+
+
+ * Assigns the attribute stream for vertex positions.
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for UV coordinates
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for a secondary set of UV coordinates
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for vertex normals
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for vertex tangents
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+ * Retrieves the IndexBuffer3D object that contains triangle indices.
+ * @param context The Context3D for which we request the buffer
+ * @return The VertexBuffer3D object that contains triangle indices.
+
+
+
+ * Retrieves the object's vertices as a Number array.
+
+
+
+ * Retrieves the object's normals as a Number array.
+
+
+
+ * Retrieves the object's tangents as a Number array.
+
+
+
+ * Retrieves the object's indices as a UInt array.
+
+
+
+ * Retrieves the object's uvs as a Number array.
+
+ * IRenderable provides an interface for objects that can be rendered in the rendering pipeline.
+
+
+
+
+
+
+ * ...
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+ <_bufferFormat>
+ <_jointWeightsData>
+ <_jointIndexData>
+ <_animatedData>
+ <_jointWeightsBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_jointIndexBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_jointWeightsInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_jointIndicesInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_jointWeightContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_jointIndexContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_jointsPerVertex>
+ <_condensedJointIndexData>
+ <_condensedIndexLookUp>
+ <_numCondensedJoints>
+
+
+
+
+
+
+ * If indices have been condensed, this will contain the original index for each condensed index.
+
+
+
+ * The amount of joints used when joint indices have been condensed.
+
+
+
+ * The animated vertex positions when set explicitly if the skinning transformations couldn't be performed on GPU.
+
+
+
+
+
+
+
+
+
+
+
+ * Assigns the attribute stream for joint weights
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Assigns the attribute stream for joint indices
+ * @param index The attribute stream index for the vertex shader
+ * @param stage3DProxy The Stage3DProxy to assign the stream to
+
+
+
+
+
+
+
+ * Clones the current object.
+ * @return An exact duplicate of the current object.
+
+
+
+ * Cleans up any resources used by this object.
+
+
+
+ away3d
+
+
+
+
+ * The raw joint weights data.
+
+
+
+
+
+
+ away3d
+
+
+
+ * The raw joint index data.
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+ * Creates a new SkinnedSubGeometry object.
+ * @param jointsPerVertex The amount of joints that can be assigned per vertex.
+
+ * SkinnedSubGeometry provides a SubGeometry extension that contains data needed to skin vertices. In particular,
+ * it provides joint indices and weights.
+ * Important! Joint indices need to be pre-multiplied by 3, since they index the matrix array (and each matrix has 3 float4 elements)
+
+
+
+
+
+
+
+
+
+ <_uvs>
+ <_secondaryUvs>
+ <_vertexNormals>
+ <_vertexTangents>
+ <_verticesInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_uvsInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_secondaryUvsInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_normalsInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_tangentsInvalid expr="new Vector<Bool>(8, true)">
+
+ (8, true)]]>
+
+ <_vertexBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_uvBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_secondaryUvBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_vertexNormalBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_vertexTangentBuffer expr="new Vector<VertexBuffer3D>(8)">
+
+ (8)]]>
+
+ <_vertexBufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_uvBufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_secondaryUvBufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_vertexNormalBufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_vertexTangentBufferContext expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_numVertices>
+
+
+ * The total amount of vertices in the SubGeometry.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Retrieves the VertexBuffer3D object that contains vertex normals.
+ * @param context The Context3D for which we request the buffer
+ * @return The VertexBuffer3D object that contains vertex normals.
+
+
+
+
+
+
+
+ * Retrieves the VertexBuffer3D object that contains vertex tangents.
+ * @param context The Context3D for which we request the buffer
+ * @return The VertexBuffer3D object that contains vertex tangents.
+
+
+
+
+
+
+
+ * Clones the current object
+ * @return An exact duplicate of the current object.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { scaleV : 1, scaleU : 1 }
+ * @inheritDoc
+
+
+
+ * Clears all resources used by the SubGeometry object.
+
+
+
+
+ * The raw vertex position data.
+
+
+
+
+
+
+
+ * Updates the vertex data of the SubGeometry.
+ * @param vertices The new vertex data to upload.
+
+
+
+ * The raw texture coordinate data.
+
+
+
+
+
+
+
+ * Updates the uv coordinates of the SubGeometry.
+ * @param uvs The uv coordinates to upload.
+
+
+
+
+
+
+
+ * The raw vertex normal data.
+
+
+
+
+
+
+ * Updates the vertex normals of the SubGeometry. When updating the vertex normals like this,
+ * autoDeriveVertexNormals will be set to false and vertex normals will no longer be calculated automatically.
+ * @param vertexNormals The vertex normals to upload.
+
+
+
+ * The raw vertex tangent data.
+ *
+ * @private
+
+
+
+
+
+
+ * Updates the vertex tangents of the SubGeometry. When updating the vertex tangents like this,
+ * autoDeriveVertexTangents will be set to false and vertex tangents will no longer be calculated automatically.
+ * @param vertexTangents The vertex tangents to upload.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new SubGeometry object.
+
+ * The SubGeometry class is a collections of geometric data that describes a triangle mesh. It is owned by a
+ * Geometry instance, and wrapped by a SubMesh in the scene graph.
+ * Several SubGeometries are grouped so they can be rendered with different materials, but still represent a single
+ * object.
+ *
+ * @see away3d.core.base.Geometry
+ * @see away3d.core.base.SubMesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_material>
+
+ away3d
+
+ <_parentMesh>
+ <_subGeometry>
+ <_index>
+
+ away3d
+
+ <_uvTransform>
+ <_uvTransformDirty>
+ <_uvRotation expr="0">
+
+ 0
+
+ <_scaleU expr="1">
+
+ 1
+
+ <_scaleV expr="1">
+
+ 1
+
+ <_offsetU expr="0">
+
+ 0
+
+ <_offsetV expr="0">
+
+ 0
+
+ <_uvTransform2>
+ <_uvTransformDirty2>
+ <_uvRotation2 expr="0">
+
+ 0
+
+ <_scaleU2 expr="1">
+
+ 1
+
+ <_scaleV2 expr="1">
+
+ 1
+
+ <_offsetU2 expr="0">
+
+ 0
+
+ <_offsetV2 expr="0">
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The entity that that initially provided the IRenderable to the render pipeline (ie: the owning Mesh object).
+
+
+
+ * The SubGeometry object which provides the geometry data for this SubMesh.
+
+
+
+
+
+
+
+ * The material used to render the current SubMesh. If set to null, its parent Mesh's material will be used instead.
+
+
+
+
+
+
+
+ * The scene transform object that transforms from model to world space.
+
+
+
+ * The inverse scene transform object that transforms from world to model space.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The amount of triangles that make up this SubMesh.
+
+
+
+ * The animator object that provides the state for the SubMesh's animation.
+
+
+
+ * Indicates whether the SubMesh should trigger mouse events, and hence should be rendered for hit testing.
+
+
+
+
+ * A reference to the owning Mesh object
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { material : null }
+ * Creates a new SubMesh object
+ * @param subGeometry The SubGeometry object which provides the geometry data for this SubMesh.
+ * @param parentMesh The Mesh object to which this SubMesh belongs.
+ * @param material An optional material used to render this SubMesh.
+
+ * SubMesh wraps a SubGeometry as a scene graph instantiation. A SubMesh is owned by a Mesh object.
+ *
+ * @see away3d.core.base.SubGeometry
+ * @see away3d.scenegraph.Mesh
+
+
+
+ <_calcPoint static="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_vertices>
+ <_uvs>
+ <_faceIndex>
+ <_v0Index>
+ <_v1Index>
+ <_v2Index>
+ <_uv0Index>
+ <_uv1Index>
+ <_uv2Index>
+
+
+
+
+
+
+
+ * To set uv values for either uv0, uv1 or uv2.
+ * @param index The id of the uv (0, 1 or 2)
+ * @param u The horizontal coordinate of the texture value.
+ * @param v The vertical coordinate of the texture value.
+
+
+
+
+
+
+ * To store a temp index of a face during a loop
+ * @param ind The index
+
+
+
+ * @return Returns the tmp index set for this Face object
+
+
+
+
+
+
+ * the index set for uv0 in this Face value object
+ * @param ind The index
+
+
+
+ * @return return the index set for uv0 in this Face value object
+
+
+
+
+
+
+
+ * uv0 u and v values
+ * @param u The u value
+ * @param v The v value
+
+
+
+ * @return return the u value of the uv0 of this Face value object
+
+
+
+ * @return return the v value of the uv0 of this Face value object
+
+
+
+
+
+
+ * the index set for uv1 in this Face value object
+ * @param ind The index
+
+
+
+ * @return Returns the index set for uv1 in this Face value object
+
+
+
+
+
+
+
+ * uv1 u and v values
+ * @param u The u value
+ * @param v The v value
+
+
+
+ * @return Returns the u value of the uv1 of this Face value object
+
+
+
+ * @return Returns the v value of the uv1 of this Face value object
+
+
+
+
+
+
+ * the index set for uv2 in this Face value object
+ * @param ind The index
+
+
+
+ * @return return the index set for uv2 in this Face value object
+
+
+
+
+
+
+
+ * uv2 u and v values
+ * @param u The u value
+ * @param v The v value
+
+
+
+ * @return return the u value of the uv2 of this Face value object
+
+
+
+ * @return return the v value of the uv2 of this Face value object
+
+
+
+
+
+
+
+
+
+ * To set uv values for either v0, v1 or v2.
+ * @param index The id of the uv (0, 1 or 2)
+ * @param x The x value of the vertex.
+ * @param y The y value of the vertex.
+ * @param z The z value of the vertex.
+
+
+
+
+
+
+ * set the index value for v0
+ * @param ind The index value to store
+
+
+
+ * @return Returns the index value of the v0 stored in the Face value object
+
+
+
+ representing the v0 stored in the Face value object]]>
+
+
+
+ * @return Returns the x value of the v0 stored in the Face value object
+
+
+
+ * @return Returns the y value of the v0 stored in the Face value object
+
+
+
+ * @return Returns the z value of the v0 stored in the Face value object
+
+
+
+
+
+
+ * set the index value for v1
+ * @param ind The index value to store
+
+
+
+ * @return Returns the index value of the v1 stored in the Face value object
+
+
+
+ representing the v1 stored in the Face value object]]>
+
+
+
+ * @return Returns the x value of the v1 stored in the Face value object
+
+
+
+ * @return Returns the y value of the v1 stored in the Face value object
+
+
+
+ * @return Returns the z value of the v1 stored in the Face value object
+
+
+
+
+
+
+ * set the index value for v2
+ * @param ind The index value to store
+
+
+
+ * @return return the index value of the v2 stored in the Face value object
+
+
+
+ representing the v2 stored in the Face value object]]>
+
+
+
+ * @return Returns the x value of the v2 stored in the Face value object
+
+
+
+ * @return Returns the y value of the v2 stored in the Face value object
+
+
+
+ * @return Returns the z value of the v2 stored in the Face value object
+
+
+
+ * returns a new Face value Object
+
+
+
+
+
+
+
+ { target : null }
+ * Returns the first two barycentric coordinates for a point on (or outside) the triangle. The third coordinate is 1 - x - y
+ * @param point The point for which to calculate the new target
+ * @param target An optional Point object to store the calculation in order to prevent creation of a new object
+
+
+
+
+
+
+
+ { maxDistanceToPlane : .007 }
+ * Tests whether a given point is inside the triangle
+ * @param point The point to test against
+ * @param maxDistanceToPlane The minimum distance to the plane for the point to be considered on the triangle. This is usually used to allow for rounding error, but can also be used to perform a volumetric test.
+
+
+
+
+
+
+
+ { epsilon : .007 }
+
+
+
+
+
+
+
+ { target : null }
+ * Returns the target coordinates for a point on a triangle
+ * @param v0 The triangle's first vertex
+ * @param v1 The triangle's second vertex
+ * @param v2 The triangle's third vertex
+ * @param uv0 The UV coord associated with the triangle's first vertex
+ * @param uv1 The UV coord associated with the triangle's second vertex
+ * @param uv2 The UV coord associated with the triangle's third vertex
+ * @param point The point for which to calculate the new target
+ * @param target An optional UV object to store the calculation in order to prevent creation of a new object
+
+
+
+
+
+
+
+ { uvs : null, vertices : null }
+ Face value object.
+ *
+ * @param vertices [optional] 9 entries long Vector.<Number> representing the x, y and z of v0, v1, and v2 of a face
+ * @param uvs [optional] 6 entries long Vector.<Number> representing the u and v of uv0, uv1, and uv2 of a face]]>
+
+ * Face value object.
+
+
+
+
+
+
+
+
+
+
+
+
+ <_u>
+ <_v>
+
+
+ * Defines the vertical coordinate of the texture value.
+
+
+
+
+
+
+
+ * Defines the horizontal coordinate of the texture value.
+
+
+
+
+
+
+
+ * returns a new UV value Object
+
+
+
+ * returns the value object as a string for trace/debug purpose
+
+
+
+
+
+
+
+ { v : 0, u : 0 }
+ UV object.
+ *
+ * @param u [optional] The horizontal coordinate of the texture value. Defaults to 0.
+ * @param v [optional] The vertical coordinate of the texture value. Defaults to 0.]]>
+
+ * Texture coordinates value object.
+
+
+
+
+
+
+
+ <_x>
+ <_y>
+ <_z>
+ <_index>
+
+
+
+
+
+ * To define/store the index of value object
+ * @param ind The index
+
+
+
+
+ * To define/store the x value of the value object
+ * @param value The x value
+
+
+
+
+
+
+
+ * To define/store the y value of the value object
+ * @param value The y value
+
+
+
+
+
+
+
+ * To define/store the z value of the value object
+ * @param value The z value
+
+
+
+
+
+
+
+ * returns a new Vertex value Object
+
+
+
+ * returns the value object as a string for trace/debug purpose
+
+
+
+
+
+
+
+
+
+ { index : 0, z : 0, y : 0, x : 0 }
+ Vertex value object.
+ *
+ * @param x [optional] The x value. Defaults to 0.
+ * @param y [optional] The y value. Defaults to 0.
+ * @param z [optional] The z value. Defaults to 0.
+ * @param index [optional] The index value. Defaults is NaN.]]>
+
+ * Vertex value object.
+
+
+
+
+
+
+
+
+
+ <_pool>
+ <_index>
+ <_poolSize>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_pool>
+ <_index>
+ <_poolSize>
+
+
+
+
+
+
+
+ <_instances static="1">
+ <_currentId expr="0" line="25" static="1">
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_stage3DProxy>
+ <_program3Ds>
+
+
+
+ <_ids>
+
+
+
+ <_usages>
+ <_keys>
+
+
+
+
+
+
+
+
+
+ { agalVersion : 1 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "activate"
+ The `ACTIVATE` constant defines the value of the `type` property of an
+ `activate` event object.
+ **Note:** This event has neither a "capture phase" nor a "bubble
+ phase", which means that event listeners must be added directly to any
+ potential targets, whether the target is on the display list or not.
+
+ AIR for TV devices never automatically dispatch this event. You can,
+ however, dispatch it manually.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any DisplayObject instance with a listener registered for the `activate` event. |
+
+
+
+ "added"
+ The `Event.ADDED` constant defines the value of the `type` property of
+ an `added` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `true` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The DisplayObject instance being added to the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "addedToStage"
+ The `Event.ADDED_TO_STAGE` constant defines the value of the `type`
+ property of an `addedToStage` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The DisplayObject instance being added to the on stage display list, either directly or through the addition of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly added, the `added` event occurs before this event. |
+
+
+
+ "cancel"
+ The `Event.CANCEL` constant defines the value of the `type` property
+ of a `cancel` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | A reference to the object on which the operation is canceled. |
+
+
+
+ "change"
+ The `Event.CHANGE` constant defines the value of the `type` property
+ of a `change` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `true` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The object that has had its value modified. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "clear"
+ The `Event.CLEAR` constant defines the value of the `type` property of
+ a `clear` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any InteractiveObject instance with a listener registered for the `clear` event. |
+
+ **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. TextField objects always include Cut,
+ Copy, Paste, Clear, and Select All commands in the context menu. You
+ cannot remove these commands from the context menu for TextField
+ objects. For TextField objects, selecting these commands (or their
+ keyboard equivalents) does not generate `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. However, other classes that extend the
+ InteractiveObject class, including components built using the Flash
+ Text Engine (FTE), will dispatch these events in response to user
+ actions such as keyboard shortcuts and context menus.
+
+
+
+ "close"
+ The `Event.CLOSE` constant defines the value of the `type` property of
+ a `close` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The object whose connection has been closed. |
+
+
+
+ "complete"
+ The `Event.COMPLETE` constant defines the value of the `type` property
+ of a `complete` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The network object that has completed loading. |
+
+
+
+ "connect"
+ The `Event.CONNECT` constant defines the value of the `type` property
+ of a `connect` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Socket or XMLSocket object that has established a network connection. |
+
+
+
+ "context3DCreate"
+ The `Event.CONTEXT3D_CREATE` constant defines the value of the type property of a
+ `context3Dcreate` event object. This event is raised only by Stage3D objects in
+ response to either a call to `Stage3D.requestContext3D` or in response to an OS
+ triggered reset of the Context3D bound to the Stage3D object. Inspect the
+ `Stage3D.context3D` property to get the newly created Context3D object.
+
+
+
+ "copy"
+ Defines the value of the `type` property of a `copy` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any InteractiveObject instance with a listener registered for the `copy` event. |
+
+ **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. TextField objects always include Cut,
+ Copy, Paste, Clear, and Select All commands in the context menu. You
+ cannot remove these commands from the context menu for TextField
+ objects. For TextField objects, selecting these commands (or their
+ keyboard equivalents) does not generate `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. However, other classes that extend the
+ InteractiveObject class, including components built using the Flash
+ Text Engine (FTE), will dispatch these events in response to user
+ actions such as keyboard shortcuts and context menus.
+
+
+
+ "cut"
+ Defines the value of the `type` property of a `cut` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any InteractiveObject instance with a listener registered for the `cut` event. |
+
+ **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. TextField objects always include Cut,
+ Copy, Paste, Clear, and Select All commands in the context menu. You
+ cannot remove these commands from the context menu for TextField
+ objects. For TextField objects, selecting these commands (or their
+ keyboard equivalents) does not generate `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. However, other classes that extend the
+ InteractiveObject class, including components built using the Flash
+ Text Engine (FTE), will dispatch these events in response to user
+ actions such as keyboard shortcuts and context menus.
+
+
+
+ "deactivate"
+ The `Event.DEACTIVATE` constant defines the value of the `type`
+ property of a `deactivate` event object.
+ **Note:** This event has neither a "capture phase" nor a "bubble
+ phase", which means that event listeners must be added directly to any
+ potential targets, whether the target is on the display list or not.
+
+ AIR for TV devices never automatically dispatch this event. You can,
+ however, dispatch it manually.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any DisplayObject instance with a listener registered for the `deactivate` event. |
+
+
+
+ "enterFrame"
+ The `Event.ENTER_FRAME` constant defines the value of the `type`
+ property of an `enterFrame` event object.
+ **Note:** This event has neither a "capture phase" nor a "bubble
+ phase", which means that event listeners must be added directly to any
+ potential targets, whether the target is on the display list or not.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. |
+
+
+
+ "exitFrame"
+ The `Event.EXIT_FRAME` constant defines the value of the `type`
+ property of an `exitFrame` event object.
+ **Note:** This event has neither a "capture phase" nor a "bubble
+ phase", which means that event listeners must be added directly to any
+ potential targets, whether the target is on the display list or not.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. |
+
+
+
+ "frameConstructed"
+ The `Event.FRAME_CONSTRUCTED` constant defines the value of the `type`
+ property of an `frameConstructed` event object.
+ **Note:** This event has neither a "capture phase" nor a "bubble
+ phase", which means that event listeners must be added directly to any
+ potential targets, whether the target is on the display list or not.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any DisplayObject instance with a listener registered for the `frameConstructed` event. |
+
+
+
+ "frameLabel"
+ The `Event.FRAME_LABEL` constant defines the value of the type property of a
+ `frameLabel` event object.
+
+ **Note:** This event has neither a "capture phase" nor a "bubble phase", which
+ means that event listeners must be added directly to FrameLabel objects.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The FrameLabel object that is actively processing the Event object with an event listener. |
+ | `target` | Any FrameLabel instance with a listener registered for the frameLabel event. |
+
+
+
+ "fullScreen"
+ The `Event.FULL_SCREEN` constant defines the value of the `type`
+ property of a `fullScreen` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Stage object. |
+
+
+
+ "id3"
+ The `Event.ID3` constant defines the value of the `type` property of
+ an `id3` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Sound object loading the MP3 for which ID3 data is now available. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "init"
+ The `Event.INIT` constant defines the value of the `type` property of
+ an `init` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The LoaderInfo object associated with the SWF file being loaded. |
+
+
+
+ "mouseLeave"
+ The `Event.MOUSE_LEAVE` constant defines the value of the `type`
+ property of a `mouseLeave` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Stage object. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "open"
+ The `Event.OPEN` constant defines the value of the `type` property of
+ an `open` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The network object that has opened a connection. |
+
+
+
+ "paste"
+ The `Event.PASTE` constant defines the value of the `type` property of
+ a `paste` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any InteractiveObject instance with a listener registered for the `paste` event. |
+
+ **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. TextField objects always include Cut,
+ Copy, Paste, Clear, and Select All commands in the context menu. You
+ cannot remove these commands from the context menu for TextField
+ objects. For TextField objects, selecting these commands (or their
+ keyboard equivalents) does not generate `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. However, other classes that extend the
+ InteractiveObject class, including components built using the Flash
+ Text Engine (FTE), will dispatch these events in response to user
+ actions such as keyboard shortcuts and context menus.
+
+
+
+ "removed"
+ The `Event.REMOVED` constant defines the value of the `type` property
+ of a `removed` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `true` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The DisplayObject instance to be removed from the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "removedFromStage"
+ The `Event.REMOVED_FROM_STAGE` constant defines the value of the
+ `type` property of a `removedFromStage` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The DisplayObject instance being removed from the on stage display list, either directly or through the removal of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly removed, the `removed` event occurs before this event. |
+
+
+
+ "render"
+ The `Event.RENDER` constant defines the value of the `type` property
+ of a `render` event object.
+ **Note:** This event has neither a "capture phase" nor a "bubble
+ phase", which means that event listeners must be added directly to any
+ potential targets, whether the target is on the display list or not.
+
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; the default behavior cannot be canceled. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any DisplayObject instance with a listener registered for the `render` event. |
+
+
+
+ "resize"
+ The `Event.RESIZE` constant defines the value of the `type` property
+ of a `resize` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Stage object. |
+
+
+
+ "scroll"
+ The `Event.SCROLL` constant defines the value of the `type` property
+ of a `scroll` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The TextField object that has been scrolled. The `target` property is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+
+ "selectAll"
+ The `Event.SELECT_ALL` constant defines the value of the `type`
+ property of a `selectAll` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | Any InteractiveObject instance with a listener registered for the `selectAll` event. |
+
+ **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. TextField objects always include Cut,
+ Copy, Paste, Clear, and Select All commands in the context menu. You
+ cannot remove these commands from the context menu for TextField
+ objects. For TextField objects, selecting these commands (or their
+ keyboard equivalents) does not generate `clear`, `copy`, `cut`,
+ `paste`, or `selectAll` events. However, other classes that extend the
+ InteractiveObject class, including components built using the Flash
+ Text Engine (FTE), will dispatch these events in response to user
+ actions such as keyboard shortcuts and context menus.
+
+
+
+ "soundComplete"
+ The `Event.SOUND_COMPLETE` constant defines the value of the `type`
+ property of a `soundComplete` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The SoundChannel object in which a sound has finished playing. |
+
+
+
+ "tabChildrenChange"
+ The `Event.TAB_CHILDREN_CHANGE` constant defines the value of the
+ `type` property of a `tabChildrenChange` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `true` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The object whose tabChildren flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "tabEnabledChange"
+ The `Event.TAB_ENABLED_CHANGE` constant defines the value of the
+ `type` property of a `tabEnabledChange` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `true` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The InteractiveObject whose tabEnabled flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "tabIndexChange"
+ The `Event.TAB_INDEX_CHANGE` constant defines the value of the `type`
+ property of a `tabIndexChange` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `true` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The object whose tabIndex has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
+
+
+
+ "textureReady"
+ The `Event.TEXTURE_READY` constant defines the value of the type property of a
+ `textureReady` event object. This event is dispatched by Texture and CubeTexture
+ objects to signal the completion of an asynchronous upload. Request an asynchronous
+ upload by using the `uploadCompressedTextureFromByteArray()` method on Texture or
+ CubeTexture. This event neither bubbles nor is cancelable.
+
+
+
+ "unload"
+ The `Event.UNLOAD` constant defines the value of the `type` property
+ of an `unload` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The LoaderInfo object associated with the SWF file being unloaded or replaced. |
+
+
+
+ Indicates whether an event is a bubbling event. If the event can bubble,
+ this value is `true`; otherwise it is `false`.
+
+ When an event occurs, it moves through the three phases of the event
+ flow: the capture phase, which flows from the top of the display list
+ hierarchy to the node just before the target node; the target phase, which
+ comprises the target node; and the bubbling phase, which flows from the
+ node subsequent to the target node back up the display list hierarchy.
+
+ Some events, such as the `activate` and `unload`
+ events, do not have a bubbling phase. The `bubbles` property
+ has a value of `false` for events that do not have a bubbling
+ phase.
+
+
+
+ Indicates whether the behavior associated with the event can be prevented.
+ If the behavior can be canceled, this value is `true`;
+ otherwise it is `false`.
+
+
+
+ The object that is actively processing the Event object with an event
+ listener. For example, if a user clicks an OK button, the current target
+ could be the node containing that button or one of its ancestors that has
+ registered an event listener for that event.
+
+
+
+ The current phase in the event flow. This property can contain the
+ following numeric values:
+
+ * The capture phase(`EventPhase.CAPTURING_PHASE`).
+ * The target phase(`EventPhase.AT_TARGET`).
+ * The bubbling phase(`EventPhase.BUBBLING_PHASE`).
+
+
+
+ The event target. This property contains the target node. For example, if
+ a user clicks an OK button, the target node is the display list node
+ containing that button.
+
+
+
+ The type of event. The type is case-sensitive.
+
+ <__isCanceled>
+
+
+
+ <__isCanceledNow>
+
+
+
+ <__preventDefault>
+
+
+
+
+
+ Duplicates an instance of an Event subclass.
+
+ Returns a new Event object that is a copy of the original instance of
+ the Event object. You do not normally call `clone()`; the
+ EventDispatcher class calls it automatically when you redispatch an
+ event - that is, when you call `dispatchEvent(event)` from a
+ handler that is handling `event`.
+
+ The new Event object includes all the properties of the original.
+
+ When creating your own custom Event class, you must override the
+ inherited `Event.clone()` method in order for it to duplicate
+ the properties of your custom class. If you do not set all the properties
+ that you add in your event subclass, those properties will not have the
+ correct values when listeners handle the redispatched event.
+
+ In this example, `PingEvent` is a subclass of
+ `Event` and therefore implements its own version of
+ `clone()`.
+
+ @return A new Event object that is identical to the original.
+
+
+
+
+
+
+
+
+
+
+
+ { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null }
+ A utility function for implementing the `toString()` method in custom
+ ActionScript 3.0 Event classes. Overriding the `toString()` method is
+ recommended, but not required.
+
+ ```haxe
+ class PingEvent extends Event {
+ var URL:String;
+
+ public function new() {
+ super();
+ }
+
+ public override function toString():String {
+ return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL");
+ }
+ }
+ ```
+
+ @param className The name of your custom Event class. In the previous
+ example, the `className` parameter is `PingEvent`.
+ @return The name of your custom Event class and the String value of
+ your `...arguments` parameter.
+
+
+
+ Checks whether the `preventDefault()` method has been called on
+ the event. If the `preventDefault()` method has been called,
+ returns `true`; otherwise, returns `false`.
+
+ @return If `preventDefault()` has been called, returns
+ `true`; otherwise, returns `false`.
+
+
+
+ Cancels an event's default behavior if that behavior can be canceled.
+ Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing.
+ An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior.
+ You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect.
+
+
+
+ Prevents processing of any event listeners in the current node and any
+ subsequent nodes in the event flow. This method takes effect immediately,
+ and it affects event listeners in the current node. In contrast, the
+ `stopPropagation()` method doesn't take effect until all the
+ event listeners in the current node finish processing.
+
+ **Note: ** This method does not cancel the behavior associated with
+ this event; see `preventDefault()` for that functionality.
+
+
+
+ Prevents processing of any event listeners in nodes subsequent to the
+ current node in the event flow. This method does not affect any event
+ listeners in the current node(`currentTarget`). In contrast,
+ the `stopImmediatePropagation()` method prevents processing of
+ event listeners in both the current node and subsequent nodes. Additional
+ calls to this method have no effect. This method can be called in any
+ phase of the event flow.
+
+ **Note: ** This method does not cancel the behavior associated with
+ this event; see `preventDefault()` for that functionality.
+
+
+
+ Returns a string containing all the properties of the Event object. The
+ string is in the following format:
+
+ `[Event type=_value_ bubbles=_value_
+ cancelable=_value_]`
+
+ @return A string containing all the properties of the Event object.
+
+ <__formatToString set="method" line="887">
+
+
+
+
+
+
+
+ <__init set="method" line="912">
+
+
+
+
+
+
+
+
+
+
+ { cancelable : false, bubbles : false }
+ Creates an Event object to pass as a parameter to event listeners.
+
+ @param type The type of the event, accessible as
+ `Event.type`.
+ @param bubbles Determines whether the Event object participates in the
+ bubbling stage of the event flow. The default value is
+ `false`.
+ @param cancelable Determines whether the Event object can be canceled. The
+ default values is `false`.
+
+
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+ "mouseOver3d"
+ * Defines the value of the type property of a mouseOver3d event object.
+
+
+
+ "mouseOut3d"
+ * Defines the value of the type property of a mouseOut3d event object.
+
+
+
+ "mouseUp3d"
+ * Defines the value of the type property of a mouseUp3d event object.
+
+
+
+ "mouseDown3d"
+ * Defines the value of the type property of a mouseDown3d event object.
+
+
+
+ "mouseMove3d"
+ * Defines the value of the type property of a mouseMove3d event object.
+
+
+
+ "click3d"
+ * Defines the value of the type property of a rollOver3d event object.
+
+
+
+ "doubleClick3d"
+ * Defines the value of the type property of a doubleClick3d event object.
+
+
+
+ "mouseWheel3d"
+ * Defines the value of the type property of a mouseWheel3d event object.
+
+
+
+ <_allowedToPropagate expr="true">
+
+
+ true
+ away3d
+
+
+ <_parentEvent>
+
+ away3d
+
+
+
+ * The horizontal coordinate at which the event occurred in view coordinates.
+
+
+
+ * The vertical coordinate at which the event occurred in view coordinates.
+
+
+
+ * The view object inside which the event took place.
+
+
+
+
+ * The renderable inside which the event took place.
+
+
+
+ * The material of the 3d element inside which the event took place.
+
+
+
+ * The uv coordinate inside the draw primitive where the event took place.
+
+
+
+ * The index of the face where the event took place.
+
+
+
+ * The index of the subGeometry where the event took place.
+
+
+
+ * The position in object space where the event took place
+
+
+
+ * The normal in object space where the event took place
+
+
+
+ * Indicates whether the Control key is active (true) or inactive (false).
+
+
+
+ * Indicates whether the Alt key is active (true) or inactive (false).
+
+
+
+ * Indicates whether the Shift key is active (true) or inactive (false).
+
+
+
+ * Indicates how many lines should be scrolled for each unit the user rotates the mouse wheel.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a copy of the MouseEvent3D object and sets the value of each property to match that of the original.
+
+
+
+ * The position in scene space where the event took place
+
+
+
+
+
+
+ { v : null }
+ * The position in scene space where the event took place
+ * @param v destination Vector3D
+ * @return
+
+
+
+ * The normal in scene space where the event took place
+
+
+
+
+
+
+ { v : null }
+ * The normal in scene space where the event took place
+ * @param v destination Vector3D
+ * @return
+
+
+
+
+
+
+ * Create a new MouseEvent3D object.
+ * @param type The type of the MouseEvent3D.
+
+ * A MouseEvent3D is dispatched when a mouse event occurs over a mouseEnabled object in View3D.
+ * todo: we don't have screenZ data, tho this should be easy to implement
+
+
+
+ <_view3Ds static="1">
+
+
+
+ <_view3DLookup static="1">
+ <_viewCount expr="0" line="29" static="1">
+
+ 0
+
+ <_collidingObject static="1">
+ <_previousCollidingObject static="1">
+ <_collidingViewObjects static="1">
+ <_queuedEvents expr="new Vector<MouseEvent3D>()" line="37" static="1">
+
+ ()]]>
+
+ <_mouseUp expr="new MouseEvent3D(MouseEvent3D.MOUSE_UP)" line="41" static="1">
+
+ new MouseEvent3D(MouseEvent3D.MOUSE_UP)
+
+ <_mouseClick expr="new MouseEvent3D(MouseEvent3D.CLICK)" line="42" static="1">
+
+ new MouseEvent3D(MouseEvent3D.CLICK)
+
+ <_mouseOut expr="new MouseEvent3D(MouseEvent3D.MOUSE_OUT)" line="43" static="1">
+
+ new MouseEvent3D(MouseEvent3D.MOUSE_OUT)
+
+ <_mouseDown expr="new MouseEvent3D(MouseEvent3D.MOUSE_DOWN)" line="44" static="1">
+
+ new MouseEvent3D(MouseEvent3D.MOUSE_DOWN)
+
+ <_mouseMove expr="new MouseEvent3D(MouseEvent3D.MOUSE_MOVE)" line="45" static="1">
+
+ new MouseEvent3D(MouseEvent3D.MOUSE_MOVE)
+
+ <_mouseOver expr="new MouseEvent3D(MouseEvent3D.MOUSE_OVER)" line="46" static="1">
+
+ new MouseEvent3D(MouseEvent3D.MOUSE_OVER)
+
+ <_mouseWheel expr="new MouseEvent3D(MouseEvent3D.MOUSE_WHEEL)" line="47" static="1">
+
+ new MouseEvent3D(MouseEvent3D.MOUSE_WHEEL)
+
+ <_mouseDoubleClick expr="new MouseEvent3D(MouseEvent3D.DOUBLE_CLICK)" line="48" static="1">
+
+ new MouseEvent3D(MouseEvent3D.DOUBLE_CLICK)
+
+ <_previousCollidingView expr="-1" line="52" static="1">
+
+ -1
+
+ <_collidingView expr="-1" line="53" static="1">
+
+ -1
+
+
+
+ <_activeView>
+ <_updateDirty expr="true">
+
+ true
+
+ <_nullVector expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_mouseMoveEvent expr="new MouseEvent(MouseEvent.MOUSE_MOVE)">
+
+ new MouseEvent(MouseEvent.MOUSE_MOVE)
+
+ <_forceMouseMove>
+ <_mousePicker expr="PickingType.RAYCAST_FIRST_ENCOUNTERED">
+
+ PickingType.RAYCAST_FIRST_ENCOUNTERED
+
+ <_childDepth expr="0">
+
+ 0
+
+ <_collidingDownObject>
+ <_collidingUpObject>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { collider : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mouse3DManager object.]]>
+
+ * Mouse3DManager enforces a singleton pattern and is not intended to be instanced.
+ * it provides a manager class for detecting 3D mouse hits on View3D objects and sending out 3D mouse events.
+
+
+
+
+ <_instances static="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_renderToTextureVertexBuffer>
+ <_renderToScreenVertexBuffer>
+ <_indexBuffer>
+ <_stage3DProxy>
+ <_viewWidth expr="-1">
+
+ -1
+
+ <_viewHeight expr="-1">
+
+ -1
+
+ <_textureWidth expr="-1">
+
+ -1
+
+ <_textureHeight expr="-1">
+
+ -1
+
+ <_renderToTextureRect>
+ <_buffersInvalid expr="true">
+
+ true
+
+ <_textureRatioX>
+ <_textureRatioY>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_instances static="1">
+
+
+
+ <_stageProxies static="1">
+ <_numStageProxies expr="0" line="22" static="1">
+
+ 0
+
+
+
+
+
+
+ * Gets a Stage3DManager instance for the given Stage object.
+ * @param stage The Stage object that contains the Stage3D objects to be managed.
+ * @return The Stage3DManager instance for the given Stage object.
+
+
+
+
+
+ <_stage>
+
+
+
+
+
+
+
+ { profile : "baseline", forceSoftware : false }
+ * Requests the Stage3DProxy for the given index.
+ * @param index The index of the requested Stage3D.
+ * @param forceSoftware Whether to force software mode even if hardware acceleration is available.
+ * @param profile The compatibility profile, an enumeration of Context3DProfile
+ * @return The Stage3DProxy for the given index.
+
+
+
+
+
+
+ away3d
+ * Removes a Stage3DProxy from the manager.
+ * @param stage3DProxy
+ * @private
+
+
+
+
+
+
+
+ { profile : "baseline", forceSoftware : false }
+ * Get the next available stage3DProxy. An error is thrown if there are no Stage3DProxies available
+ * @param forceSoftware Whether to force software mode even if hardware acceleration is available.
+ * @param profile The compatibility profile, an enumeration of Context3DProfile
+ * @return The allocated stage3DProxy
+
+
+
+ * Checks if a new stage3DProxy can be created and managed by the class.
+ * @return true if there is one slot free for a new stage3DProxy
+
+
+
+ * Returns the amount of stage3DProxy objects that can be created and managed by the class
+ * @return the amount of free slots
+
+
+
+ * Returns the amount of Stage3DProxy objects currently managed by the class.
+ * @return the amount of slots used
+
+
+
+ * Returns the maximum amount of Stage3DProxy objects that can be managed by the class
+ * @return the maximum amount of Stage3DProxy objects that can be managed by the class
+
+
+
+
+
+
+ away3d
+ * Creates a new Stage3DManager class.
+ * @param stage The Stage object that contains the Stage3D objects to be managed.
+ * @private
+
+ * The Stage3DManager class provides a multiton object that handles management for Stage3D objects. Stage3D objects
+ * should not be requested directly, but are exposed by a Stage3DProxy.
+ *
+ * @see away3d.core.managers.Stage3DProxy
+
+
+
+
+
+
+ Specifies the Graphics object belonging to this Shape object, where vector
+ drawing commands can occur.
+
+
+
+
+
+
+
+ Creates a new Shape object.
+
+ This class is used to create lightweight shapes using the ActionScript
+ drawing application program interface(API). The Shape class includes a
+ `graphics` property, which lets you access methods from the
+ Graphics class.
+
+ The Sprite class also includes a `graphics`property, and it
+ includes other features not available to the Shape class. For example, a
+ Sprite object is a display object container, whereas a Shape object is not
+ (and cannot contain child display objects). For this reason, Shape objects
+ consume less memory than Sprite objects that contain the same graphics.
+ However, a Sprite object supports user input events, while a Shape object
+ does not.
+
+
+ "tags=\"haxe,release\""
+
+ openfl.display.Graphics
+
+
+
+ <__limeColorMatrix static="1">
+
+
+
+ <__pool expr="new ObjectPool<ColorTransform>(function() return new ColorTransform(), function(ct) ct.__identity())" line="59" static="1">
+
+
+ (function() return new ColorTransform(), function(ct) ct.__identity())]]>
+
+
+
+
+
+ A decimal value that is multiplied with the alpha transparency channel
+ value.
+
+ If you set the alpha transparency value of a display object directly by
+ using the `alpha` property of the DisplayObject instance, it
+ affects the value of the `alphaMultiplier` property of that
+ display object's `transform.colorTransform` property.
+
+
+
+ A number from -255 to 255 that is added to the alpha transparency channel
+ value after it has been multiplied by the `alphaMultiplier`
+ value.
+
+
+
+ A decimal value that is multiplied with the blue channel value.
+
+
+
+ A number from -255 to 255 that is added to the blue channel value after it
+ has been multiplied by the `blueMultiplier` value.
+
+
+
+ The RGB color value for a ColorTransform object.
+
+ When you set this property, it changes the three color offset values
+ (`redOffset`, `greenOffset`, and
+ `blueOffset`) accordingly, and it sets the three color
+ multiplier values(`redMultiplier`,
+ `greenMultiplier`, and `blueMultiplier`) to 0. The
+ alpha transparency multiplier and offset values do not change.
+
+ When you pass a value for this property, use the format
+ 0x_RRGGBB_. _RR_, _GG_, and _BB_ each consist of two
+ hexadecimal digits that specify the offset of each color component. The 0x
+ tells the ActionScript compiler that the number is a hexadecimal
+ value.
+
+
+
+ A decimal value that is multiplied with the green channel value.
+
+
+
+ A number from -255 to 255 that is added to the green channel value after
+ it has been multiplied by the `greenMultiplier` value.
+
+
+
+ A decimal value that is multiplied with the red channel value.
+
+
+
+ A number from -255 to 255 that is added to the red channel value after it
+ has been multiplied by the `redMultiplier` value.
+
+
+
+
+
+
+ Concatenates the ColorTranform object specified by the `second`
+ parameter with the current ColorTransform object and sets the current
+ object as the result, which is an additive combination of the two color
+ transformations. When you apply the concatenated ColorTransform object,
+ the effect is the same as applying the `second` color
+ transformation after the _original_ color transformation.
+
+ @param second The ColorTransform object to be combined with the current
+ ColorTransform object.
+
+
+
+ Formats and returns a string that describes all of the properties of
+ the ColorTransform object.
+
+ @return A string that lists all of the properties of the
+ ColorTransform object.
+
+ <__clone set="method" line="213">
+
+
+
+ <__copyFrom set="method" line="218">
+
+
+
+
+
+
+ <__combine set="method" line="231">
+
+
+
+
+
+
+ <__identity set="method" line="244">
+
+
+
+ <__invert set="method" line="256">
+
+
+
+ <__equals set="method" line="268">
+
+
+
+
+
+
+
+ <__isDefault set="method" line="281">
+
+
+
+
+
+
+ <__setArrays set="method" line="300">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <__toLimeColorMatrix set="method" line="332">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1, blueMultiplier : 1, greenMultiplier : 1, redMultiplier : 1 }
+ Creates a ColorTransform object for a display object with the specified
+ color channel values and alpha values.
+
+ @param redMultiplier The value for the red multiplier, in the range from
+ 0 to 1.
+ @param greenMultiplier The value for the green multiplier, in the range
+ from 0 to 1.
+ @param blueMultiplier The value for the blue multiplier, in the range
+ from 0 to 1.
+ @param alphaMultiplier The value for the alpha transparency multiplier, in
+ the range from 0 to 1.
+ @param redOffset The offset value for the red color channel, in the
+ range from -255 to 255.
+ @param greenOffset The offset value for the green color channel, in
+ the range from -255 to 255.
+ @param blueOffset The offset for the blue color channel value, in the
+ range from -255 to 255.
+ @param alphaOffset The offset for alpha transparency channel value, in
+ the range from -255 to 255.
+
+ The ColorTransform class lets you adjust the color values in a display
+ object. The color adjustment or _color transformation_ can be applied
+ to all four channels: red, green, blue, and alpha transparency.
+
+ When a ColorTransform object is applied to a display object, a new value
+ for each color channel is calculated like this:
+
+
+ * New red value = (old red value * `redMultiplier`) +
+ `redOffset`
+ * New green value = (old green value * `greenMultiplier`) +
+ `greenOffset`
+ * New blue value = (old blue value * `blueMultiplier`) +
+ `blueOffset`
+ * New alpha value = (old alpha value * `alphaMultiplier`) +
+ `alphaOffset`
+
+
+ If any of the color channel values is greater than 255 after the
+ calculation, it is set to 255. If it is less than 0, it is set to 0.
+
+ You can use ColorTransform objects in the following ways:
+
+
+ * In the `colorTransform` parameter of the
+ `colorTransform()` method of the BitmapData class
+ * As the `colorTransform` property of a Transform object
+ (which can be used as the `transform` property of a display
+ object)
+
+
+ You must use the `new ColorTransform()` constructor to create
+ a ColorTransform object before you can call the methods of the
+ ColorTransform object.
+
+ Color transformations do not apply to the background color of a movie
+ clip(such as a loaded SWF object). They apply only to graphics and symbols
+ that are attached to the movie clip.
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+ <_frameEventDriver expr="new Shape()" line="55" static="1">
+
+ new Shape()
+
+
+
+
+ <_vbUploadCount expr="0" line="667" static="1">
+
+ 0
+
+ <_ibUploadCount expr="0" line="668" static="1">
+
+ 0
+
+ <_bmpUploadCount expr="0" line="670" static="1">
+
+ 0
+
+ <_atfUploadCount expr="0" line="671" static="1">
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_context3D>
+
+ away3d
+
+ <_stage3DIndex expr="-1">
+
+
+ -1
+ away3d
+
+
+ <_usesSoftwareRendering>
+ <_profile>
+ <_stage3D>
+ <_activeProgram3D>
+ <_stage3DManager>
+ <_backBufferWidth>
+ <_backBufferHeight>
+ <_antiAlias>
+ <_enableDepthAndStencil>
+ <_backBufferEnableDepthAndStencil expr="true">
+
+ true
+
+ <_contextRequested>
+ <_renderTarget>
+ <_renderSurfaceSelector>
+ <_scissorRect>
+ <_color>
+ <_backBufferDirty>
+ <_viewPort>
+ <_enterFrame>
+ <_exitFrame>
+ <_viewportUpdated>
+ <_viewportDirty>
+ <_bufferClear>
+ <_mouse3DManager>
+ <_touch3DManager>
+
+
+
+
+
+
+
+ * Disposes the Stage3DProxy object, freeing the Context3D attached to the Stage3D.
+
+
+
+
+
+
+
+
+
+ * Configures the back buffer associated with the Stage3D object.
+ * @param backBufferWidth The width of the backbuffer.
+ * @param backBufferHeight The height of the backbuffer.
+ * @param antiAlias The amount of anti-aliasing to use.
+ * @param enableDepthAndStencil Indicates whether the back buffer contains a depth and stencil buffer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { surfaceSelector : 0, enableDepthAndStencil : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useWeakReference : false, priority : 0, useCapture : false }
+ * Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. Special case for enterframe and exitframe events - will switch Stage3DProxy into automatic render mode.
+ * You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority.
+ *
+ * @param type The type of event.
+ * @param listener The listener function that processes the event.
+ * @param useCapture Determines whether the listener works in the capture phase or the target and bubbling phases. If useCapture is set to true, the listener processes the event only during the capture phase and not in the target or bubbling phase. If useCapture is false, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call addEventListener twice, once with useCapture set to true, then again with useCapture set to false.
+ * @param priority The priority level of the event listener. The priority is designated by a signed 32-bit integer. The higher the number, the higher the priority. All listeners with priority n are processed before listeners of priority n-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0.
+ * @param useWeakReference Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not.
+
+
+
+
+
+
+
+
+
+
+
+ { useCapture : false }
+ * Removes a listener from the EventDispatcher object. Special case for enterframe and exitframe events - will switch Stage3DProxy out of automatic render mode.
+ * If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect.
+ *
+ * @param type The type of event.
+ * @param listener The listener object to remove.
+ * @param useCapture Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to removeEventListener() are required to remove both, one call with useCapture() set to true, and another call with useCapture() set to false.
+
+
+
+
+
+
+
+
+ * The index of the Stage3D which is managed by this instance of Stage3DProxy.
+
+
+
+ * The base Stage3D object associated with this proxy.
+
+
+
+ * The Context3D object associated with the given Stage3D object.
+
+
+
+ * The driver information as reported by the Context3D object (if any)
+
+
+
+ * Indicates whether the Stage3D managed by this proxy is running in software mode.
+ * Remember to wait for the CONTEXT3D_CREATED event before checking this property,
+ * as only then will it be guaranteed to be accurate.
+
+
+
+ * The x position of the Stage3D.
+
+
+
+
+
+
+
+ * The y position of the Stage3D.
+
+
+
+
+
+
+
+ * The width of the Stage3D.
+
+
+
+
+
+
+
+ * The height of the Stage3D.
+
+
+
+
+
+
+
+ * The antiAliasing of the Stage3D.
+
+
+
+
+
+
+
+ * A viewPort rectangle equivalent of the Stage3D size and position.
+
+
+
+ * The background color of the Stage3D.
+
+
+
+
+
+
+
+ * The visibility of the Stage3D.
+
+
+
+
+
+
+
+ * The freshly cleared state of the backbuffer before any rendering
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Frees the Context3D associated with this Stage3DProxy.
+
+
+
+
+
+
+
+
+
+
+
+ { profile : "baseline", forceSoftware : false }
+ * Requests a Context3D object to attach to the managed Stage3D.
+
+
+
+
+
+
+ * The Enter_Frame handler for processing the proxy.ENTER_FRAME and proxy.EXIT_FRAME event handlers.
+ * Typically the proxy.ENTER_FRAME listener would render the layers for this Stage3D instance.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { numTriangles : -1, firstIndex : 0 }
+
+
+
+
+
+
+
+
+
+
+ { profile : "baseline", forceSoftware : false }
+ * Creates a Stage3DProxy object. This method should not be called directly. Creation of Stage3DProxy objects should
+ * be handled by Stage3DManager.
+ * @param stage3DIndex The index of the Stage3D to be proxied.
+ * @param stage3D The Stage3D to be proxied.
+ * @param stage3DManager
+ * @param forceSoftware Whether to force software mode even if hardware acceleration is available.
+
+ * Stage3DProxy provides a proxy class to manage a single Stage3D instance as well as handling the creation and
+ * attachment of the Context3D (and in turn the back buffer) is uses. Stage3DProxy should never be created directly,
+ * but requested through Stage3DManager.
+ *
+ * @see away3d.core.managers.Stage3DProxy
+ *
+ * todo: consider moving all creation methods (createVertexBuffer etc) in here, so that disposal can occur here
+ * along with the context, instead of scattered throughout the framework
+
+
+
+ <_collidingObjectFromTouchId static="1">
+
+
+
+ <_previousCollidingObjectFromTouchId static="1">
+
+
+
+ <_queuedEvents expr="new Vector<TouchEvent3D>()" line="28" static="1">
+
+ ()]]>
+
+
+
+
+ <_updateDirty expr="true">
+
+ true
+
+ <_nullVector expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_numTouchPoints>
+ <_touchPoint>
+ <_collidingObject>
+ <_previousCollidingObject>
+ <_touchPoints>
+ <_touchPointFromId>
+
+
+
+ <_touchMoveEvent expr="new TouchEvent(TouchEvent.TOUCH_MOVE)">
+
+ new TouchEvent(TouchEvent.TOUCH_MOVE)
+
+ <_forceTouchMove>
+ <_touchPicker expr="PickingType.RAYCAST_FIRST_ENCOUNTERED">
+
+ PickingType.RAYCAST_FIRST_ENCOUNTERED
+
+ <_view>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 180 / Math.PI
+ * The amount to multiply with when converting radians to degrees.
+
+
+
+ Math.PI / 180
+ * The amount to multiply with when converting degrees to radians.
+
+ * MathConsts provides some commonly used mathematical constants
+
+
+
+
+
+
+
+
+
+
+
+
+ { rotation : 0, scale : 1 }
+ "checkstyle:FieldDocComment"
+ hide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "checkstyle:FieldDocComment"
+ hide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "checkstyle:FieldDocComment"
+ hide
+
+
+
+
+
+
+
+
+
+
+ Interpolates the translation, rotation, and scale transformation of one matrix
+ toward those of the target matrix.
+
+ The `interpolate()` method avoids some of the unwanted results that can occur
+ when using methods such as the display object's axis rotation properties. The
+ `interpolate()` method invalidates the cached value of the rotation property of
+ the display object and converts the orientation elements of the display object's
+ matrix to a quaternion before interpolation. This method guarantees the shortest,
+ most efficient path for the rotation. It also produces a smooth, gimbal-lock-free
+ rotation. A gimbal lock can occur when using Euler Angles, where each axis is
+ handled independently. During the rotation around two or more axes, the axes can
+ become aligned, leading to unexpected results. Quaternion rotation avoids the
+ gimbal lock.
+
+ Consecutive calls to the `interpolate()` method can produce the effect of a
+ display object starting quickly and then slowly approaching another display
+ object. For example, if you set the `thisMat` parameter to the returned Matrix3D
+ object, the `toMat` parameter to the target display object's associated Matrix3D
+ object, and the `percent` parameter to 0.1, the display object moves ten percent
+ toward the target object. On subsequent calls or in subsequent frames, the object
+ moves ten percent of the remaining 90 percent, then ten percent of the remaining
+ distance, and continues until it reaches the target.
+
+ @param thisMat The Matrix3D object that is to be interpolated.
+ @param toMat The target Matrix3D object.
+ @param percent A value between 0 and 1 that determines the percent the
+ `thisMat` Matrix3D object is interpolated toward the target Matrix3D object.
+ @returns A Matrix3D object with elements that place the values of the matrix
+ between the original matrix and the target matrix. When the returned matrix is
+ applied to the this display object, the object moves the specified percent closer
+ to the target object.
+
+ <__getAxisRotation set="method" line="1622" static="1">
+
+
+
+
+
+
+
+
+
+
+
+ A Number that determines whether a matrix is invertible.
+
+ A Matrix3D object must be invertible. You can use the `determinant` property to make
+ sure that a Matrix3D object is invertible. If determinant is zero, an inverse of
+ the matrix does not exist. For example, if an entire row or column of a matrix is
+ zero or if two rows or columns are equal, the determinant is zero. Determinant is
+ also used to solve a series of equations.
+
+ Only a square matrix, like the Matrix3D class, has a determinant.
+
+
+
+ A Vector3D object that holds the position, the 3D coordinate (x,y,z) of a display
+ object within the transformation's frame of reference. The `position` property
+ provides immediate access to the translation vector of the display object's
+ matrix without needing to decompose and recompose the matrix.
+
+ With the `position` property, you can get and set the translation elements of the
+ transformation matrix.
+
+
+
+ A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix.
+
+ An exception is thrown if the `rawData` property is set to a matrix that is not
+ invertible. The Matrix3D object must be invertible. If a non-invertible matrix is
+ needed, create a subclass of the Matrix3D object.
+
+
+
+
+
+
+ A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix.
+
+ An exception is thrown if the `rawData` property is set to a matrix that is not
+ invertible. The Matrix3D object must be invertible. If a non-invertible matrix is
+ needed, create a subclass of the Matrix3D object.
+
+
+
+
+
+
+
+
+ { pivotPoint : null }
+ Appends an incremental rotation to a Matrix3D object. When the Matrix3D object is
+ applied to a display object, the matrix performs the rotation after other
+ transformations in the Matrix3D object.
+
+ The display object's rotation is defined by an axis, an incremental degree of
+ rotation around the axis, and an optional pivot point for the center of the
+ object's rotation. The axis can be any general direction. The common axes are the
+ `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
+ `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y axis
+ is called yaw. The rotation about the x axis is called pitch. The rotation about
+ the z axis is called roll.
+
+ The order of transformation matters. A rotation followed by a translation
+ transformation produces a different effect than a translation followed by a
+ rotation transformation.
+
+ The rotation effect is not absolute. It is relative to the current position and
+ orientation. To make an absolute change to the transformation matrix, use the
+ `recompose()` method. The `appendRotation()` method is also different from the
+ axis rotation property of the display object, such as `rotationX` property. The
+ `rotation` property is always performed before any translation, whereas the
+ `appendRotation()` method is performed relative to what is already in the matrix.
+ To make sure that you get a similar effect as the display object's axis rotation
+ property, use the `prependRotation()` method, which performs the rotation before
+ other transformations in the matrix.
+
+ When the `appendRotation()` method's transformation is applied to a Matrix3D object
+ of a display object, the cached rotation property values of the display object
+ are invalidated.
+
+ One way to have a display object rotate around a specific point relative to its
+ location is to set the translation of the object to the specified point, rotate
+ the object using the `appendRotation()` method, and translate the object back to
+ the original position. In the following example, the myObject 3D display object
+ makes a y-axis rotation around the coordinate (10,10,0).
+
+ ```haxe
+ myObject.z = 1;
+ myObject.transform.matrix3D.appendTranslation(10,10,0);
+ myObject.transform.matrix3D.appendRotation(1, Vector3D.Y_AXIS);
+ myObject.transform.matrix3D.appendTranslation(-10,-10,0);
+ ```
+
+ @param degrees The degree of the rotation.
+ @param axis The axis or direction of rotation. The usual axes are the
+ `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
+ `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one.
+ @param pivotPoint A point that determines the center of an object's rotation.
+ The default pivot point for an object is its registration point.
+
+
+
+
+
+
+
+
+ Appends an incremental scale change along the x, y, and z axes to a Matrix3D
+ object. When the Matrix3D object is applied to a display object, the matrix
+ performs the scale changes after other transformations in the Matrix3D object.
+ The default scale factor is (1.0, 1.0, 1.0).
+
+ The scale is defined as a set of three incremental changes along the three axes
+ (x,y,z). You can multiply each axis with a different number. When the scale
+ changes are applied to a display object, the object's size increases or decreases.
+ For example, setting the x, y, and z axes to two doubles the size of the object,
+ while setting the axes to 0.5 halves the size. To make sure that the scale
+ transformation only affects a specific axis, set the other parameters to one. A
+ parameter of one means no scale change along the specific axis.
+
+ The `appendScale()` method can be used for resizing as well as for managing
+ distortions, such as stretch or contract of a display object, or for zooming in
+ and out on a location. Scale transformations are automatically performed during a
+ display object's rotation and translation.
+
+ The order of transformation matters. A resizing followed by a translation
+ transformation produces a different effect than a translation followed by a
+ resizing transformation.
+
+ @param xScale A multiplier used to scale the object along the x axis.
+ @param yScale A multiplier used to scale the object along the y axis.
+ @param zScale A multiplier used to scale the object along the z axis.
+
+
+
+
+
+
+
+
+ Appends an incremental translation, a repositioning along the x, y, and z axes,
+ to a Matrix3D object. When the Matrix3D object is applied to a display object,
+ the matrix performs the translation changes after other transformations in the
+ Matrix3D object.
+
+ The translation is defined as a set of three incremental changes along the
+ three axes (x,y,z). When the transformation is applied to a display object, the
+ display object moves from it current location along the x, y, and z axes as
+ specified by the parameters. To make sure that the translation only affects a
+ specific axis, set the other parameters to zero. A zero parameter means no change
+ along the specific axis.
+
+ The translation changes are not absolute. They are relative to the current
+ position and orientation of the matrix. To make an absolute change to the
+ transformation matrix, use the recompose() method. The order of transformation
+ also matters. A translation followed by a rotation transformation produces a
+ different effect than a rotation followed by a translation.
+
+ @param x An incremental translation along the x axis.
+ @param y An incremental translation along the y axis.
+ @param z An incremental translation along the z axis.
+
+
+
+ Returns a new Matrix3D object that is an exact copy of the current Matrix3D object.
+
+ @returns A new Matrix3D object that is an exact copy of the current Matrix3D
+ object.
+
+
+
+
+
+
+
+ Copies a Vector3D object into specific column of the calling Matrix3D object.
+
+ @param column The destination column of the copy.
+ @param vector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+
+ Copies specific column of the calling Matrix3D object into the Vector3D object.
+
+ @param column The column from which to copy the data.
+ @param vector3D The destination Vector3D object of the copy.
+
+
+
+
+
+
+ Copies all of the matrix data from the source Matrix3D object into the calling
+ Matrix3D object.
+
+ @param sourceMatrix3D The Matrix3D object from which to copy the data.
+
+
+
+
+
+
+
+
+ { transpose : false, index : 0 }
+ Copies all of the vector data from the source vector object into the calling
+ Matrix3D object. The optional `index` parameter allows you to select any starting
+ slot in the vector.
+
+ @param vector The vector object from which to copy the data.
+ @param index
+ @param transpose
+
+
+
+
+
+
+
+
+ { transpose : false, index : 0 }
+ Copies all of the matrix data from the calling Matrix3D object into the
+ provided vector. The optional index parameter allows you to select any target
+ starting slot in the vector.
+
+ @param vector The vector object to which to copy the data.
+ @param index
+ @param transpose
+
+
+
+
+
+
+
+ Copies a Vector3D object into specific row of the calling Matrix3D object.
+
+ @param row The row from which to copy the data to.
+ @param vector3D The Vector3D object from which to copy the data.
+
+
+
+
+
+
+
+ Copies specific row of the calling Matrix3D object into the Vector3D object.
+
+ @param row The row from which to copy the data from.
+ @param vector3D The Vector3D object to copy the data into.
+
+
+
+
+
+
+ @param other
+
+
+
+
+
+
+ { orientationStyle : EULER_ANGLES }
+ Returns the transformation matrix's translation, rotation, and scale settings as
+ a Vector of three Vector3D objects. The first Vector3D object holds the
+ translation elements. The second Vector3D object holds the rotation elements.
+ The third Vector3D object holds the scale elements.
+
+ Some Matrix3D methods, such as the `interpolateTo()` method, automatically
+ decompose and recompose the matrix to perform their transformation.
+
+ To modify the matrix's transformation with an absolute parent frame of reference,
+ retrieve the settings with the `decompose()` method and make the appropriate
+ changes. You can then set the Matrix3D object to the modified transformation
+ using the `recompose()` method.
+
+ The `decompose()` method's parameter specifies the orientation style that is
+ meant to be used for the transformation. The default orientation is `eulerAngles`,
+ which defines the orientation with three separate angles of rotation for each
+ axis. The rotations occur consecutively and do not change the axis of each other.
+ The display object's axis rotation properties perform Euler Angles orientation
+ style transformation. The other orientation style options are `axisAngle` and
+ `quaternion`. The Axis Angle orientation uses a combination of an axis and an
+ angle to determine the orientation. The axis around which the object is rotated
+ is a unit vector that represents a direction. The angle represents the magnitude
+ of the rotation about the vector. The direction also determines where a display
+ object is facing and the angle determines which way is up. The `appendRotation()`
+ and `prependRotation()` methods use the Axis Angle orientation. The `quaternion`
+ orientation uses complex numbers and the fourth element of a vector. The three
+ axes of rotation (x,y,z) and an angle of rotation (w) represent the orientation.
+ The `interpolate()` method uses quaternion.
+
+ @param orientationStyle An optional parameter that determines the orientation
+ style used for the matrix transformation. The three types of orientation style
+ are `eulerAngles` (constant `EULER_ANGLES`), `axisAngle` (constant `AXIS_ANGLE`),
+ and `quaternion` (constant `QUATERNION`). For additional information on the
+ different orientation style, see the geom.Orientation3D class.
+ @returns A Vector of three Vector3D objects, each holding the translation,
+ rotation, and scale settings, respectively.
+
+
+
+
+
+
+ Uses the transformation matrix without its translation elements to transform a
+ Vector3D object from one space coordinate to another. The returned Vector3D
+ object holds the new coordinates after the rotation and scaling transformations
+ have been applied. If the `deltaTransformVector()` method applies a matrix that
+ only contains a translation transformation, the returned Vector3D is the same as
+ the original Vector3D object.
+
+ You can use the `deltaTransformVector()` method to have a display object in one
+ coordinate space respond to the rotation transformation of a second display
+ object. The object does not copy the rotation; it only changes its position to
+ reflect the changes in the rotation. For example, to use the display.Graphics
+ API for drawing a rotating 3D display object, you must map the object's rotating
+ coordinates to a 2D point. First, retrieve the object's 3D coordinates after each
+ rotation, using the `deltaTransformVector()` method. Next, apply the display
+ object's `local3DToGlobal()` method to translate the 3D coordinates to 2D points.
+ You can then use the 2D points to draw the rotating 3D object.
+
+ **Note:** This method automatically sets the `w` component of the passed Vector3D
+ to 0.0.
+
+ @param v A Vector3D object holding the coordinates that are going to be
+ transformed.
+ @returns Vector3D A Vector3D object with the transformed coordinates.
+
+
+
+ Converts the current matrix to an identity or unit matrix. An identity matrix has
+ a value of one for the elements on the main diagonal and a value of zero for all
+ other elements. The result is a matrix where the rawData value is
+ 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 and the rotation setting is set to
+ `Vector3D(0,0,0)`, the position or translation setting is set to `Vector3D(0,0,0)`,
+ and the scale is set to `Vector3D(1,1,1)`. Here is a representation of an
+ identity matrix.
+
+ 
+
+ An object transformed by applying an identity matrix performs no transformation.
+ In other words, if a matrix is multiplied by an identity matrix, the result is a
+ matrix that is the same as (identical to) the original matrix.
+
+
+
+
+
+
+
+ Interpolates this matrix towards the translation, rotation, and scale
+ transformations of the target matrix.
+
+ The `interpolateTo()` method avoids the unwanted results that can occur when
+ using methods such as the display object's axis rotation properties. The
+ `interpolateTo()` method invalidates the cached value of the rotation property of
+ the display object and converts the orientation elements of the display object's
+ matrix to a quaternion before interpolation. This method guarantees the shortest,
+ most efficient path for the rotation. It also produces a smooth, gimbal-lock-free
+ rotation. A gimbal lock can occur when using Euler Angles, where each axis is
+ handled independently. During the rotation around two or more axes, the axes can
+ become aligned, leading to unexpected results. Quaternion rotation avoids the
+ gimbal lock.
+
+ **Note:** In case of interpolation, the scaling value of the matrix will reset and
+ the matrix will be normalized.
+
+ Consecutive calls to the `interpolateTo()` method can produce the effect of a
+ display object starting quickly and then slowly approaching another display
+ object. For example, if the percent parameter is set to 0.1, the display object
+ moves ten percent toward the target object specified by the `toMat` parameter.
+ On subsequent calls or in subsequent frames, the object moves ten percent of the
+ remaining 90 percent, then ten percent of the remaining distance, and continues
+ until it reaches the target.
+
+ @param toMat The target Matrix3D object.
+ @param percent A value between 0 and 1 that determines the location of the
+ display object relative to the target. The closer the value is to 1.0, the closer
+ the display object is to its current position. The closer the value is to 0, the
+ closer the display object is to the target.
+
+
+
+ Inverts the current matrix. An inverted matrix is the same size as the original
+ but performs the opposite transformation of the original matrix. For example, if
+ the original matrix has an object rotate around the x axis in one direction, the
+ inverse of the matrix will have the object rotate around the axis in the opposite
+ direction. Applying an inverted matrix to an object undoes the transformation
+ performed by the original matrix. If a matrix is multiplied by its inverse
+ matrix, the result is an identity matrix.
+
+ An inverse of a matrix can be used to divide one matrix by another. The way to
+ divide matrix A by matrix B is to multiply matrix A by the inverse of matrix B.
+ The inverse matrix can also be used with a camera space. When the camera moves in
+ the world space, the object in the world needs to move in the opposite direction
+ to transform from the world view to the camera or view space. For example, if the
+ camera moves closer, the objects becomes bigger. In other words, if the camera
+ moves down the world z axis, the object moves up world z axis.
+
+ The `invert()` method replaces the current matrix with an inverted matrix. If you
+ want to invert a matrix without altering the current matrix, first copy the
+ current matrix by using the clone() method and then apply the `invert()` method
+ to the copy.
+
+ The Matrix3D object must be invertible.
+
+ @returns Returns `true` if the matrix was successfully inverted.
+
+
+
+
+
+
+
+
+ { up : null, at : null }
+ Rotates the display object so that it faces a specified position. This method
+ allows for an in-place modification to the orientation. The forward direction
+ vector of the display object (the at Vector3D object) points at the specified
+ world-relative position. The display object's up direction is specified with the
+ up Vector3D object.
+
+ The `pointAt()` method invalidates the cached rotation property value of the
+ display object. The method decomposes the display object's matrix and modifies the
+ rotation elements to have the object turn to the specified position. It then
+ recomposes (updates) the display object's matrix, which performs the
+ transformation. If the object is pointing at a moving target, such as a moving
+ object's position, then with each subsequent call, the method has the object
+ rotate toward the moving target.
+
+ **Note:** If you use the `Matrix3D.pointAt()` method without setting the
+ optional parameters, a target object does not face the specified world-relative
+ position by default. You need to set the values for at to the -y-axis (0,-1,0)
+ and up to the -z axis (0,0,-1).
+
+ @param pos The world-relative position of the target object. World-relative
+ defines the object's transformation relative to the world space and coordinates,
+ where all objects are positioned.
+ @param at The object-relative vector that defines where the display object is
+ pointing. Object-relative defines the object's transformation relative to the
+ object space, the object's own frame of reference and coordinate system. Default
+ value is the +y axis (0,1,0).
+ @param up The object-relative vector that defines "up" for the display object.
+ If the object is drawn looking down from above, the +z axis is its "up" vector.
+ Object-relative defines the object's transformation relative to the object space,
+ the object's own frame of reference and coordinate system. Default value is the
+ +z-axis (0,0,1).
+
+
+
+
+
+
+ Prepends a matrix by multiplying the current Matrix3D object by another Matrix3D
+ object. The result combines both matrix transformations.
+
+ Matrix multiplication is different from matrix addition. Matrix multiplication is
+ not commutative. In other words, A times B is not equal to B times A. With the
+ `prepend()` method, the multiplication happens from the right side, meaning the `rhs`
+ Matrix3D object is on the right side of the multiplication operator.
+
+ ```haxe
+ thisMatrix = thisMatrix * rhs
+ ```
+
+ The modifications made by `prepend()` method are object-space-relative. In other
+ words, they are always relative to the object's initial frame of reference.
+
+ The `prepend()` method replaces the current matrix with the prepended matrix. If
+ you want to prepend two matrixes without altering the current matrix, first copy
+ the current matrix by using the `clone()` method and then apply the `prepend()`
+ method to the copy.
+
+ @param rhs A right-hand-side of the matrix by which the current Matrix3D is
+ multiplied.
+
+
+
+
+
+
+
+
+ { pivotPoint : null }
+ Prepends an incremental rotation to a Matrix3D object. When the Matrix3D object is
+ applied to a display object, the matrix performs the rotation before other
+ transformations in the Matrix3D object.
+
+ The display object's rotation is defined by an axis, an incremental degree of
+ rotation around the axis, and an optional pivot point for the center of the
+ object's rotation. The axis can be any general direction. The common axes are the
+ `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
+ `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y
+ axis is called yaw. The rotation about the x axis is called pitch. The rotation
+ about the z axis is called roll.
+
+ The order of transformation matters. A rotation followed by a translation
+ transformation produces a different effect than a translation followed by a
+ rotation.
+
+ The rotation effect is not absolute. The effect is object-relative, relative to
+ the frame of reference of the original position and orientation. To make an
+ absolute change to the transformation, use the `recompose()` method.
+
+ When the `prependRotation()` method's transformation is applied to a Matrix3D
+ object of a display object, the cached rotation property values of the display
+ object are invalidated.
+
+ One way to have a display object rotate around a specific point relative to its
+ location is to set the translation of the object to the specified point, rotate
+ the object using the `prependRotation()` method, and translate the object back to
+ the original position. In the following example, the `myObject` 3D display object
+ makes a y-axis rotation around the coordinate (10,10,0).
+
+ ```haxe
+ myObject.z = 1;
+ myObject.transform.matrix3D.prependTranslation(10,10,0);
+ myObject.transform.matrix3D.prependRotation(1, Vector3D.Y_AXIS);
+ myObject.transform.matrix3D.prependTranslation(-10,-10,0);
+ ```
+
+ @param degrees The degree of rotation.
+ @param axis The axis or direction of rotation. The usual axes are the
+ `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
+ `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one.
+ @param pivotPoint A point that determines the center of rotation. The default
+ pivot point for an object is its registration point.
+
+
+
+
+
+
+
+
+ Prepends an incremental scale change along the x, y, and z axes to a Matrix3D
+ object. When the Matrix3D object is applied to a display object, the matrix
+ performs the scale changes before other transformations in the Matrix3D
+ object. The changes are object-relative, relative to the frame of reference of
+ the original position and orientation. The default scale factor is (1.0, 1.0, 1.0).
+
+ The scale is defined as a set of three incremental changes along the three
+ axes (x,y,z). You can multiply each axis with a different number. When the
+ scale changes are applied to a display object, the object's size increases or
+ decreases. For example, setting the x, y, and z axes to two doubles the size of
+ the object, while setting the axes to 0.5 halves the size. To make sure that the
+ scale transformation only affects a specific axis, set the other parameters to
+ one. A parameter of one means no scale change along the specific axis.
+
+ The `prependScale()` method can be used for resizing as well as for managing
+ distortions, such as stretch or contract of a display object. It can also be used
+ for zooming in and out on a location. Scale transformations are automatically
+ performed during a display object's rotation and translation.
+
+ The order of transformation matters. A resizing followed by a translation
+ transformation produces a different effect than a translation followed by a
+ resizing transformation.
+
+ @param xScale A multiplier used to scale the object along the x axis.
+ @param yScale A multiplier used to scale the object along the y axis.
+ @param zScale A multiplier used to scale the object along the z axis.
+
+
+
+
+
+
+
+
+ Prepends an incremental translation, a repositioning along the x, y, and z axes,
+ to a Matrix3D object. When the Matrix3D object is applied to a display object,
+ the matrix performs the translation changes before other transformations in the
+ Matrix3D object.
+
+ Translation specifies the distance the display object moves from its current
+ location along the x, y, and z axes. The `prependTranslation()` method sets the
+ translation as a set of three incremental changes along the three axes (x,y,z).
+ To have a translation change only a specific axis, set the other parameters to
+ zero. A zero parameter means no change along the specific axis.
+
+ The translation changes are not absolute. The effect is object-relative,
+ relative to the frame of reference of the original position and orientation.
+ To make an absolute change to the transformation matrix, use the `recompose()`
+ method. The order of transformation also matters. A translation followed by a
+ rotation transformation produces a different effect than a rotation followed by
+ a translation transformation. When prependTranslation() is used, the display
+ object continues to move in the direction it is facing, regardless of the other
+ transformations. For example, if a display object was facing toward a positive x
+ axis, it continues to move in the direction specified by the
+ `prependTranslation()` method, regardless of how the object has been rotated. To
+ make translation changes occur after other transformations, use the
+ `appendTranslation()` method.
+
+ @param x An incremental translation along the x axis.
+ @param y An incremental translation along the y axis.
+ @param z An incremental translation along the z axis.
+
+
+
+
+
+
+
+ { orientationStyle : EULER_ANGLES }
+ Sets the transformation matrix's translation, rotation, and scale settings. Unlike
+ the incremental changes made by the display object's rotation properties or
+ Matrix3D object's rotation methods, the changes made by `recompose()` method are
+ absolute changes. The `recompose()` method overwrites the matrix's transformation.
+
+ To modify the matrix's transformation with an absolute parent frame of reference,
+ retrieve the settings with the decompose() method and make the appropriate
+ changes. You can then set the Matrix3D object to the modified transformation
+ using the `recompose()` method.
+
+ The `recompose()` method's parameter specifies the orientation style that was
+ used for the transformation. The default orientation is eulerAngles, which defines
+ the orientation with three separate angles of rotation for each axis. The
+ rotations occur consecutively and do not change the axis of each other. The
+ display object's axis rotation properties perform Euler Angles orientation style
+ transformation. The other orientation style options are axisAngle and quaternion.
+ The Axis Angle orientation uses the combination of an axis and an angle to
+ determine the orientation. The axis around which the object is rotated is a unit
+ vector that represents a direction. The angle represents the magnitude of the
+ rotation about the vector. The direction also determines where a display object
+ is facing and the angle determines which way is up. The `appendRotation()` and
+ `prependRotation()` methods use the Axis Angle orientation. The quaternion
+ orientation uses complex numbers and the fourth element of a vector. An
+ orientation is represented by the three axes of rotation (x,y,z) and an angle of
+ rotation (w). The interpolate() method uses quaternion.
+
+ @param components A Vector of three Vector3D objects that replace the Matrix3D
+ object's translation, rotation, and scale elements.
+ @param orientationStyle An optional parameter that determines the orientation
+ style used for the matrix transformation. The three types of orientation styles
+ are eulerAngles (constant `EULER_ANGLES`), axisAngle (constant `AXIS_ANGLE`), and
+ quaternion (constant `QUATERNION`). For additional information on the different
+ orientation style, see the geom.Orientation3D class.
+ @returns Returns `false` if any of the Vector3D elements of the components
+ Vector do not exist or are `null`.
+
+
+
+
+
+
+ Uses the transformation matrix to transform a Vector3D object from one space
+ coordinate to another. The returned Vector3D object holds the new coordinates
+ after the transformation. All the matrix transformations including translation
+ are applied to the Vector3D object.
+
+ If the result of the `transformVector()` method was applied to the position of a
+ display object, only the display object's position changes. The display object's
+ rotation and scale elements remain the same.
+
+ **Note:** This method automatically sets the w component of the passed Vector3D
+ to 1.0.
+
+ @param v A Vector3D object holding the coordinates that are going to be
+ transformed.
+ @returns A Vector3D object with the transformed coordinates.
+
+
+
+
+
+
+
+ Uses the transformation matrix to transform a Vector of Numbers from one
+ coordinate space to another. The `tranformVectors()` method reads every three
+ Numbers in the `vin` Vector object as a 3D coordinate (x,y,z) and places a
+ transformed 3D coordinate in the `vout` Vector object. All the matrix
+ transformations including translation are applied to the `vin` Vector object.
+ You can use the `transformVectors()` method to render and transform a 3D object
+ as a mesh. A mesh is a collection of vertices that defines the shape of the object.
+
+ @param vin A Vector of Floats, where every three Numbers are a 3D coordinate
+ (x,y,z) that is going to be transformed.
+ @param vout A Vector of Floats, where every three Numbers are a 3D
+ transformed coordinate (x,y,z).
+
+
+
+ Converts the current Matrix3D object to a matrix where the rows and columns are
+ swapped. For example, if the current Matrix3D object's rawData contains the
+ following 16 numbers, `1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34`, the
+ `transpose()` method reads every four elements as a row and turns the rows into
+ columns. The result is a matrix with the rawData of:
+ `1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34`.
+
+ The `transpose()` method replaces the current matrix with a transposed matrix.
+ If you want to transpose a matrix without altering the current matrix, first copy
+ the current matrix by using the `clone()` method and then apply the `transpose()`
+ method to the copy.
+
+ An orthogonal matrix is a square matrix whose transpose is equal to its inverse.
+
+
+
+
+
+
+
+
+
+
+
+
+ { v : null }
+
+ The Matrix3D class represents a transformation matrix that determines the position and
+ orientation of a three-dimensional (3D) display object. The matrix can perform
+ transformation functions including translation (repositioning along the x, y, and z
+ axes), rotation, and scaling (resizing). The Matrix3D class can also perform
+ perspective projection, which maps points from the 3D coordinate space to a
+ two-dimensional (2D) view.
+
+ A single matrix can combine multiple transformations and apply them at once to a 3D
+ display object. For example, a matrix can be applied to 3D coordinates to perform a
+ rotation followed by a translation.
+
+ When you explicitly set the `z` property or any of the rotation or scaling properties
+ of a display object, a corresponding Matrix3D object is automatically created.
+
+ You can access a 3D display object's Matrix3D object through the `transform.matrix3d`
+ property. 2D objects do not have a Matrix3D object.
+
+ The value of the `z` property of a 2D object is zero and the value of its `matrix3D`
+ property is `null`.
+
+ **Note:** If the same Matrix3D object is assigned to two different display objects, a
+ runtime error is thrown.
+
+ The Matrix3D class uses a 4x4 square matrix: a table of four rows and columns of
+ numbers that hold the data for the transformation. The first three rows of the matrix
+ hold data for each 3D axis (x,y,z). The translation information is in the last column.
+ The orientation and scaling data are in the first three columns. The scaling factors
+ are the diagonal numbers in the first three columns. Here is a representation of
+ Matrix3D elements:
+
+ 
+
+ You don't need to understand matrix mathematics to use the Matrix3D class. It offers
+ specific methods that simplify the task of transformation and projection, such as the
+ `appendTranslation()`, `appendRotation()`, or `interpolateTo()` methods. You also can
+ use the `decompose()` and `recompose()` methods or the `rawData` property to access
+ the underlying matrix elements.
+
+ Display objects cache their axis rotation properties to have separate rotation for
+ each axis and to manage the different combinations of rotations. When a method of a
+ Matrix3D object is called to transform a display object, the rotation cache of the
+ object is invalidated.
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+ (16)]]>
+ * A reference to a Vector to be used as a temporary raw data container, to prevent object creation.
+
+
+
+ new Matrix3D()
+
+
+
+ new Vector3D()
+
+
+
+ Vector.ofArray([new Vector3D(), new Vector3D(), new Vector3D()])
+
+
+
+
+
+
+
+ { m : null }
+ * Fills the 3d matrix object with values representing the transformation made by the given quaternion.
+ *
+ * @param quarternion The quarterion object to convert.
+
+
+
+
+
+
+
+ { v : null }
+ Vector3D object representing the forward vector of the given matrix.
+ * @param m The Matrix3D object to use to get the forward vector
+ * @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null.
+ * @return The forward vector]]>
+
+
+
+
+
+
+
+ { v : null }
+ Vector3D object representing the up vector of the given matrix.
+ * @param m The Matrix3D object to use to get the up vector
+ * @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null.
+ * @return The up vector]]>
+
+
+
+
+
+
+
+ { v : null }
+ Vector3D object representing the right vector of the given matrix.
+ * @param m The Matrix3D object to use to get the right vector
+ * @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null.
+ * @return The right vector]]>
+
+
+
+
+
+
+
+ * Returns a boolean value representing whether there is any significant difference between the two given 3d matrices.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { target : null }
+
+
+
+
+
+
+
+ { orientationStyle : EULER_ANGLES }
+
+
+
+
+
+
+
+
+ { result : null }
+
+
+
+
+
+
+
+
+ { result : null }
+
+
+
+
+
+
+
+ { result : null }
+
+
+
+
+
+
+
+ * Matrix3DUtils provides additional Matrix3D math functions.
+
+
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 3
+
+
+
+ * The A coefficient of this plane. (Also the x dimension of the plane normal)
+
+
+
+ * The B coefficient of this plane. (Also the y dimension of the plane normal)
+
+
+
+ * The C coefficient of this plane. (Also the z dimension of the plane normal)
+
+
+
+ * The D coefficient of this plane. (Also the inverse dot product between normal and point)
+
+ <_alignment>
+
+ away3d
+
+
+
+
+
+
+
+
+ * Fills this Plane3D with the coefficients from 3 points in 3d space.
+ * @param p0 Vector3D
+ * @param p1 Vector3D
+ * @param p2 Vector3D
+
+
+
+
+
+
+
+ * Fills this Plane3D with the coefficients from the plane's normal and a point in 3d space.
+ * @param normal Vector3D
+ * @param point Vector3D
+
+
+
+ * Normalize this Plane3D
+ * @return Plane3D This Plane3D.
+
+
+
+
+
+
+ * Returns the signed distance between this Plane3D and the point p.
+ * @param p Vector3D
+ * @returns Number
+
+
+
+
+
+
+
+ { epsilon : 0.01 }
+ * Classify a point against this Plane3D. (in front, back or intersecting)
+ * @param p Vector3D
+ * @return int Plane3.FRONT or Plane3D.BACK or Plane3D.INTERSECT
+
+
+
+
+
+
+
+
+
+
+ { d : 0, c : 0, b : 0, a : 0 }
+ * Create a Plane3D with ABCD coefficients
+
+
+
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ <_distributions static="1">
+
+
+
+
+
+
+
+
+
+
+ Math.PI
+
+
+
+
+
+
+
+ Vector3D object.
+ *
+ * @param w The first 3d number object to use in the calculation.
+ * @param q The first 3d number object to use in the calculation.
+ * @return An angle in radians representing the angle between the two Vector3D objects.]]>
+
+
+
+
+
+
+ Vector3D object with the euler angles represented by the 3x3 matrix rotation of the given Matrix3D object.
+ *
+ * @param m1 The 3d matrix object to use in the calculation.
+ * @return A 3d vector representing the euler angles extracted from the 3d matrix.]]>
+
+
+
+
+
+
+ Vector3D object containing the euler angles represented by the given Quaternion object.
+ *
+ * @param quaternion The quaternion object to use in the calculation.
+ * @return A 3d vector representing the euler angles extracted from the quaternion.]]>
+
+
+
+
+
+
+ Vector3D object containing the scale values represented by the given Matrix3D object.
+ *
+ * @param m The 3d matrix object to use in the calculation.
+ * @return A 3d vector representing the axis scale values extracted from the 3d matrix.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ * Vector3DUtils provides additional Vector3D math functions.
+
+
+
+
+
+
+ <_parent>
+
+ away3d
+
+ <_childNodes>
+ <_numChildNodes>
+ <_debugPrimitive>
+ <_numEntities>
+
+ away3d
+
+ <_collectionMark>
+
+ away3d
+
+
+
+
+
+
+
+
+ * The parent node. Null if this node is the root.
+
+
+
+
+
+
+ away3d
+ * Adds a node to the tree. By default, this is used for both static as dynamic nodes, but for some data
+ * structures such as BSP trees, it can be more efficient to only use this for dynamic nodes, and add the
+ * static child nodes using custom links.
+ *
+ * @param node The node to be added as a child of the current node.
+
+
+
+
+
+
+ away3d
+ * Removes a child node from the tree.
+ * @param node The child node to be removed.
+
+
+
+
+
+
+
+ * Tests if the current node is at least partly inside the frustum.
+ * @param viewProjectionRaw The raw data of the view projection matrix
+ *
+ * @return Whether or not the node is at least partly inside the view frustum.
+
+
+
+
+
+
+
+ * Tests if the current node is intersecting with a ray.
+ * @param rayPosition The starting position of the ray
+ * @param rayDirection The direction vector of the ray
+ *
+ * @return Whether or not the node is at least partly intersecting the ray.
+
+
+
+
+
+
+ * Finds the partition that contains (or should contain) the given entity.
+
+
+
+
+
+
+ * Allows the traverser to visit the current node. If the traverser's enterNode method returns true, the
+ * traverser will be sent down the child nodes of the tree.
+ * This method should be overridden if the order of traversal is important (such as for BSP trees) - or if static
+ * child nodes are not added using addNode, but are linked to separately.
+ *
+ * @param traverser The traverser visiting the node.
+ *
+ * @see away3d.core.traverse.PartitionTraverser
+
+
+
+
+
+
+
+
+
+ * Creates a new NodeBase object.
+
+ * The NodeBase class is an abstract base class for any type of space partition tree node. The concrete
+ * subtype will control the creation of its child nodes, which are necessarily of the same type. The exception is
+ * the creation of leaf entity nodes, which is handled by the Partition3D class.
+ *
+ * @see away3d.partition.EntityNode
+ * @see away3d.partition.Partition3D
+ * @see away3d.containers.Scene3D
+
+
+
+
+
+ <_entity>
+ <_updateQueueNext>
+
+ away3d
+ * The link to the next object in the list to be updated
+ * @private
+
+
+
+ * The entity contained in this leaf node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Detaches the node from its parent.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new EntityNode object.
+ * @param entity The Entity to be contained in this leaf node.
+
+ * The EntityNode class provides an abstract base class for leaf nodes in a partition tree, containing
+ * entities to be fed to the EntityCollector traverser.
+ * The concrete subtype of Entity is responsible for creating a matching subtype of EntityNode.
+ *
+ * @see away3d.scenegraph.Entity
+ * @see away3d.core.traverse.EntityCollector
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new CameraNode object.
+ * @param camera The camera to be contained in the node.
+
+ * CameraNode is a space partitioning leaf node that contains a Camera3D object.
+
+
+
+
+
+ <_light>
+
+
+ * The light object contained in this node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new LightNode object.
+ * @param light The light to be contained in the node.
+
+ * LightNode is a space partitioning leaf node that contains a LightBase object.
+
+
+
+
+
+
+
+ <_minX>
+ <_minY>
+ <_minZ>
+ <_leaves>
+ <_numCellsX>
+ <_numCellsY>
+ <_numCellsZ>
+ <_cellWidth>
+ <_cellHeight>
+ <_cellDepth>
+ <_showDebugBounds>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * DynamicGrid is used by certain partitioning systems that require vislists for regions of dynamic data.
+
+
+
+ <_minX>
+ <_minY>
+ <_minZ>
+ <_maxX>
+ <_maxY>
+ <_maxZ>
+ <_centerX>
+ <_centerY>
+ <_centerZ>
+ <_halfExtentX>
+ <_halfExtentY>
+ <_halfExtentZ>
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * InvertedOctreeNode is an octree data structure not used hierarchically for culling, but for fast dynamic insertion.
+ * The data structure is essentially a grid, but "overarching" parent container nodes for entities striding across nodes.
+ * If this is visible, so is the parent.
+ * Traversal happens invertedly too.
+
+
+
+
+
+ <_light>
+
+
+ * The light object contained in this node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new LightNode object.
+ * @param light The light to be contained in the node.
+
+ * LightNode is a space partitioning leaf node that contains a LightBase object. Used for lights that are not of default supported type.
+
+
+
+
+
+ <_light>
+
+
+ * The light object contained in this node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new LightNode object.
+ * @param light The light to be contained in the node.
+
+ * LightNode is a space partitioning leaf node that contains a LightBase object.
+
+
+
+
+
+ <_mesh>
+
+
+ * The mesh object contained in the partition node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new MeshNode object.
+ * @param mesh The mesh to be contained in the node.
+
+ * MeshNode is a space partitioning leaf node that contains a Mesh object.
+
+
+
+
+
+
+ * Creates a new NullNode object.
+
+ * NullNode is a node that performs no space partitioning, but simply stores all objects in a
+ * list of leaf nodes. This partitioning system is most useful for simple content, or content that is always in the
+ * screen, such as a 3d user interface.
+
+
+
+
+ <_rootNode>
+ <_updatesMade>
+ <_updateQueue>
+
+
+
+
+
+
+
+
+
+
+ * Sends a traverser through the partition tree.
+ * @param traverser
+ *
+ * @see away3d.core.traverse.PartitionTraverser
+
+
+
+
+
+
+ away3d
+ * Mark a scene graph entity for updating. This will trigger a reassignment within the tree, based on the
+ * object's bounding box, upon the next traversal.
+ * @param entity The entity to be updated in the tree.
+
+
+
+
+
+
+ away3d
+ * Removes an entity from the partition tree.
+ * @param entity The entity to be removed.
+
+
+
+ * Updates all entities that were marked for update.
+
+
+
+
+
+
+ * Creates a new Partition3D object.
+ * @param rootNode The root node of the space partition system. This will indicate which type of data structure will be used.
+
+ * Partition3D is the core of a space partition system. The space partition system typically subdivides the 3D scene
+ * hierarchically into a number of non-overlapping subspaces, forming a tree data structure. This is used to more
+ * efficiently perform frustum culling, potential visibility determination and collision detection.
+
+
+
+
+
+
+
+
+
+
+
+
+ <_centerX>
+ <_centerY>
+ <_centerZ>
+ <_minX>
+ <_minY>
+ <_minZ>
+ <_maxX>
+ <_maxY>
+ <_maxZ>
+ <_quadSize>
+ <_depth>
+ <_leaf>
+ <_rightTopFar>
+ <_leftTopFar>
+ <_rightBottomFar>
+ <_leftBottomFar>
+ <_rightTopNear>
+ <_leftTopNear>
+ <_rightBottomNear>
+ <_leftBottomNear>
+ <_halfExtent>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { depth : 0, centerZ : 0, centerY : 0, centerX : 0, size : 10000, maxDepth : 5 }
+
+
+
+
+
+
+ <_light>
+
+
+ * The light object contained in this node.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new LightNode object.
+ * @param light The light to be contained in the node.
+
+ * LightNode is a space partitioning leaf node that contains a LightBase object.
+
+
+
+
+
+
+
+
+
+
+
+ { height : 1000000 }
+
+
+
+
+ <_centerX>
+ <_centerZ>
+ <_depth>
+ <_leaf>
+ <_height>
+ <_rightFar>
+ <_leftFar>
+ <_rightNear>
+ <_leftNear>
+ <_halfExtentXZ>
+ <_halfExtentY>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { depth : 0, centerZ : 0, centerX : 0, height : 1000000, size : 10000, maxDepth : 5 }
+
+
+
+
+
+ <_renderable>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new RenderableNode object.
+ * @param mesh The mesh to be contained in the node.
+
+ * RenderableNode is a space partitioning leaf node that contains any Entity that is itself a IRenderable
+ * object. This excludes Mesh (since the renderable objects are its SubMesh children).
+
+
+
+
+ <_skyBox>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new SkyBoxNode object.
+ * @param skyBox The SkyBox to be contained in the node.
+
+ * SkyBoxNode is a space partitioning leaf node that contains a SkyBox object.
+
+
+
+
+ <_entityWorldBounds static="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_width>
+ <_height>
+ <_depth>
+ <_cellSize>
+ <_numCellsX>
+ <_numCellsY>
+ <_numCellsZ>
+ <_cells>
+ <_minX>
+ <_minY>
+ <_minZ>
+ <_maxX>
+ <_maxY>
+ <_maxZ>
+ <_active>
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { indexZ : 0, indexY : 0, indexX : 0 }
+
+
+
+
+
+
+
+
+
+ { indexZ : 0, indexY : 0, indexX : 0 }
+
+
+
+
+
+
+
+
+
+ { indexZ : 0, indexY : 0, indexX : 0 }
+
+
+
+
+
+
+
+
+
+ { indexZ : 0, indexY : 0, indexX : 0 }
+
+
+
+
+
+
+
+
+
+ * Enable the use of a cell. Do this if the camera or casting light can potentially be in this cell.
+ * If the ViewVolume was constructed with gridSize -1, it does not need to be called
+ * @param indexX The x-index of the cell
+ * @param indexY The y-index of the cell
+ * @param indexZ The z-index of the cell
+
+
+
+
+
+
+
+
+ * Disables the use of a cell. Do this only if the camera or casting light can never be in this cell.
+ * @param indexX The x-index of the cell
+ * @param indexY The y-index of the cell
+ * @param indexZ The z-index of the cell
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { indexZ : 0, indexY : 0, indexX : 0, dynamicGrid : null }
+ * Adds all static geometry in a scene that intersects a given region, as well as the dynamic grid if provided.
+ * @param minBounds The minimum bounds of the region to be considered visible
+ * @param maxBounds The maximum bounds of the region to be considered visible
+ * @param scene The Scene3D object containing the static objects to be added.
+ * @param dynamicGrid The DynamicGrid belonging to the partition this will be used with
+ * @param indexX An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided.
+ * @param indexY An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided.
+ * @param indexZ An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided.
+
+
+
+
+
+
+
+
+ { dynamicGrid : null }
+ * A shortcut method for addVisibleRegion, that adds static geometry in a scene that intersects a given viewvolume, as well as the dynamic grid if provided.
+ * @param viewVolume The viewVolume providing the region
+ * @param scene The Scene3D object containing the static objects to be added.
+ * @param dynamicGrid The DynamicGrid belonging to the partition this will be used with
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { cellSize : -1 }
+ * Creates a new ViewVolume with given dimensions. A ViewVolume is a region where the camera or a shadow casting light could reside in.
+ *
+ * @param minBound The minimum boundaries of the view volume (the bottom-left-near corner)
+ * @param maxBound The maximum boundaries of the view volume (the top-right-far corner)
+ * @param cellSize The size of cell subdivisions for the view volume. The default value is -1, meaning the view volume will not be subdivided. This is the value that should usually be used when setting visibility info manually.
+
+
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Adds a view volume to provide visibility info for a given region.
+
+
+
+
+
+
+
+ * A dynamic grid to be able to determine visibility of dynamic objects. If none is provided, dynamic objects are only frustum-culled.
+ * If provided, ViewVolumes need to have visible grid cells assigned from the same DynamicGrid instance.
+
+
+
+
+
+
+
+
+
+
+ <_viewVolumes>
+ <_activeVolume>
+ <_dynamicGrid>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Sets the position and direction of a picking ray in local coordinates to the entity.
+ *
+ * @param localDirection The position vector in local coordinates
+ * @param localPosition The direction vector in local coordinates
+
+
+
+
+
+
+
+
+ SubMesh object for a collision with the picking ray.
+ *
+ * @param subMesh The SubMesh instance to be tested.
+ * @param pickingCollisionVO The collision object used to store the collision results
+ * @param shortestCollisionDistance The current value of the shortest distance to a detected collision along the ray.]]>
+
+ RaycastPicker picking object.
+ *
+ * @see away3d.entities.Entity#pickingCollider
+ * @see away3d.core.pick.RaycastPicker]]>
+
+
+
+ <_pbPickingCollider>
+ <_haxePickingCollider>
+ <_activePickingCollider>
+
+
+ 1024
+ SubMesh object over which PixelBender is used.]]>
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { findClosestCollision : false }
+ AutoPickingCollider object.
+ *
+ * @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]>
+
+ RaycastPicker picking object.
+ * Chooses between pure AS3 picking and PixelBender picking based on a threshold property representing
+ * the number of triangles encountered in a SubMesh object over which PixelBender is used.
+ *
+ * @see away3d.entities.Entity#pickingCollider
+ * @see away3d.core.pick.RaycastPicker]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { normal : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { uv : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+ * An abstract base class for all picking collider classes. It should not be instantiated directly.
+
+
+
+
+ <_findClosestCollision>
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { findClosestCollision : false }
+ HaxePickingCollider object.
+ *
+ * @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]>
+
+ RaycastPicker picking object.
+ *
+ * @see away3d.entities.Entity#pickingCollider
+ * @see away3d.core.pick.RaycastPicker]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Gets the collision object from the screen coordinates of the picking ray.
+ *
+ * @param x The x coordinate of the picking ray in screen-space.
+ * @param y The y coordinate of the picking ray in screen-space.
+ * @param view The view on which the picking object acts.
+
+
+
+
+
+
+
+
+ * Gets the collision object from the scene position and direction of the picking ray.
+ *
+ * @param position The position of the picking ray in scene-space.
+ * @param direction The direction of the picking ray in scene-space.
+ * @param scene The scene on which the picking object acts.
+
+
+
+ * Determines whether the picker takes account of the mouseEnabled properties of entities. Defaults to true.
+
+
+
+ * Disposes memory used by the IPicker object
+
+ * Provides an interface for picking objects that can pick 3d objects from a view or scene.
+
+
+
+
+ <_findClosestCollision>
+ <_rayTriangleKernel>
+ <_lastSubMeshUploaded>
+ <_kernelOutputBuffer>
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { findClosestCollision : false }
+ PBPickingCollider object.
+ *
+ * @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]>
+
+ RaycastPicker picking object.
+ *
+ * @see away3d.entities.Entity#pickingCollider
+ * @see away3d.core.pick.RaycastPicker]]>
+
+
+
+
+
+ null
+ * Default null collider that forces picker to only use entity bounds for hit calculations on an Entity
+
+
+
+ new HaxePickingCollider(false)
+ * Pure Haxe picking collider that returns the first encountered hit on an Entity. Useful for low poly meshes and applying to many mesh instances.
+ *
+ * @see away3d.core.pick.HaxePickingCollider
+
+
+
+ new HaxePickingCollider(true)
+ * Pure Haxe picking collider that returns the best (closest) hit on an Entity. Useful for low poly meshes and applying to many mesh instances.
+ *
+ * @see away3d.core.pick.HaxePickingCollider
+
+
+
+ new PBPickingCollider(false)
+ * PixelBender-based picking collider that returns the first encountered hit on an Entity. Useful for fast picking high poly meshes on desktop devices.
+ * To use this, the SubGeometry must have its vertex data in separate buffers: use Geometry::convertToSeparateBuffers() to ensure this.
+ *
+ * @see away3d.core.pick.PBPickingCollider
+
+
+
+ new PBPickingCollider(true)
+ * PixelBender-based picking collider that returns the best (closest) hit on an Entity. Useful for fast picking high poly meshes on desktop devices.
+ * To use this, the SubGeometry must have its vertex data in separate buffers: use Geometry::convertToSeparateBuffers() to ensure this.
+ *
+ * @see away3d.core.pick.PBPickingCollider
+
+
+
+ new AutoPickingCollider(false)
+ SubMesh object over which PixelBender is used.
+ * Useful for picking meshes with a mixture of polycounts.
+ *
+ * @see away3d.core.pick.AutoPickingCollider
+ * @see away3d.core.pick.AutoPickingCollider#triangleThreshold]]>
+
+
+
+ new AutoPickingCollider(true)
+ SubMesh object over which PixelBender is used.
+ * Useful for picking meshes with a mixture of polycounts.
+ *
+ * @see away3d.core.pick.AutoPickingCollider
+ * @see away3d.core.pick.AutoPickingCollider#triangleThreshold]]>
+
+ RaycastPicker picking object.
+ *
+ * @see away3d.entities.Entity#pickingCollider
+ * @see away3d.core.pick.RaycastPicker]]>
+
+
+
+
+ * The entity to which this collision object belongs.
+
+
+
+ * The local position of the collision on the entity's surface.
+
+
+
+ * The local normal vector at the position of the collision.
+
+
+
+ * The uv coordinate at the position of the collision.
+
+
+
+ * The index of the face where the event took pl ace.
+
+
+
+ * The index of the subGeometry where the event took place.
+
+
+
+ * The starting position of the colliding ray in local coordinates.
+
+
+
+ * The direction of the colliding ray in local coordinates.
+
+
+
+ * The starting position of the colliding ray in scene coordinates.
+
+
+
+ * The direction of the colliding ray in scene coordinates.
+
+
+
+ * Determines if the ray position is contained within the entity bounds.
+ *
+ * @see away3d.entities.Entity#bounds
+
+
+
+ * The distance along the ray from the starting position to the calculated intersection entry point with the entity.
+
+
+
+ * The IRenderable associated with a collision.
+
+
+
+
+
+
+ PickingCollisionVO object.
+ *
+ * @param entity The entity to which this collision object belongs.]]>
+
+ * Value object for a picking collision returned by a picking collider. Created as unique objects on entities
+ *
+ * @see away3d.entities.Entity#pickingCollisionVO
+ * @see away3d.core.pick.IPickingCollider
+
+
+
+
+
+
+ new Vector3D()
+
+
+
+ new Vector3D()
+
+
+ <_findClosestCollision>
+ <_raycastCollector expr="new RaycastCollector()">
+
+ new RaycastCollector()
+
+ <_ignoredEntities expr="new Array<Entity>()">
+
+ ()]]>
+
+ <_onlyMouseEnabled expr="true">
+
+ true
+
+ <_entities>
+ <_numEntities>
+ <_hasCollisions>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RaycastPicker object.
+ *
+ * @param findClosestCollision Determines whether the picker searches for the closest bounds collision along the ray,
+ * or simply returns the first collision encountered Defaults to false.]]>
+
+ * Picks a 3d object from a view or scene by 3D raycast calculations.
+ * Performs an initial coarse boundary calculation to return a subset of entities whose bounding volumes intersect with the specified ray,
+ * then triggers an optional picking collider on individual entity objects to further determine the precise values of the picking ray collision.
+
+
+
+ <__limeRectangle static="1">
+
+
+
+ <__pool expr="new ObjectPool<Rectangle>(function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))" line="62" static="1">
+
+
+ (function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))]]>
+
+
+
+
+
+ The sum of the `y` and `height` properties.
+
+ 
+
+
+
+ The location of the Rectangle object's bottom-right corner, determined
+ by the values of the `right` and `bottom` properties.
+
+ 
+
+
+
+ The height of the rectangle, in pixels. Changing the `height` value of
+ a Rectangle object has no effect on the `x`, `y`, and `width`
+ properties.
+
+ 
+
+
+
+ The _x_ coordinate of the top-left corner of the rectangle. Changing
+ the `left` property of a Rectangle object has no effect on the `y` and
+ `height` properties. However it does affect the `width` property,
+ whereas changing the `x` value does _not_ affect the `width` property.
+
+ The value of the `left` property is equal to the value of the `x`
+ property.
+
+ 
+
+
+
+ The sum of the `x` and `width` properties.
+
+ 
+
+
+
+ The size of the Rectangle object, expressed as a Point object with the
+ values of the `width` and `height` properties.
+
+
+
+ The _y_ coordinate of the top-left corner of the rectangle. Changing
+ the `top` property of a Rectangle object has no effect on the `x` and
+ `width` properties. However it does affect the `height` property,
+ whereas changing the `y` value does _not_ affect the `height`
+ property.
+ The value of the `top` property is equal to the value of the `y`
+ property.
+
+ 
+
+
+
+ The location of the Rectangle object's top-left corner, determined by
+ the _x_ and _y_ coordinates of the point.
+
+ 
+
+
+
+ The width of the rectangle, in pixels. Changing the `width` value of a
+ Rectangle object has no effect on the `x`, `y`, and `height`
+ properties.
+
+ 
+
+
+
+ The _x_ coordinate of the top-left corner of the rectangle. Changing
+ the value of the `x` property of a Rectangle object has no
+ effect on the `y`, `width`, and `height`
+ properties.
+
+ The value of the `x` property is equal to the value of the
+ `left` property.
+
+
+
+ The _y_ coordinate of the top-left corner of the rectangle. Changing
+ the value of the `y` property of a Rectangle object has no
+ effect on the `x`, `width`, and `height`
+ properties.
+
+ The value of the `y` property is equal to the value of the
+ `top` property.
+
+
+
+ Returns a new Rectangle object with the same values for the
+ `x`, `y`, `width`, and
+ `height` properties as the original Rectangle object.
+
+ @return A new Rectangle object with the same values for the
+ `x`, `y`, `width`, and
+ `height` properties as the original Rectangle object.
+
+
+
+
+
+
+
+ Determines whether the specified point is contained within the rectangular
+ region defined by this Rectangle object.
+
+ @param x The _x_ coordinate(horizontal position) of the point.
+ @param y The _y_ coordinate(vertical position) of the point.
+ @return A value of `true` if the Rectangle object contains the
+ specified point; otherwise `false`.
+
+
+
+
+
+
+ Determines whether the specified point is contained within the rectangular
+ region defined by this Rectangle object. This method is similar to the
+ `Rectangle.contains()` method, except that it takes a Point
+ object as a parameter.
+
+ @param point The point, as represented by its _x_ and _y_
+ coordinates.
+ @return A value of `true` if the Rectangle object contains the
+ specified point; otherwise `false`.
+
+
+
+
+
+
+ Determines whether the Rectangle object specified by the `rect`
+ parameter is contained within this Rectangle object. A Rectangle object is
+ said to contain another if the second Rectangle object falls entirely
+ within the boundaries of the first.
+
+ @param rect The Rectangle object being checked.
+ @return A value of `true` if the Rectangle object that you
+ specify is contained by this Rectangle object; otherwise
+ `false`.
+
+
+
+
+
+
+ Copies all of rectangle data from the source Rectangle object into the calling
+ Rectangle object.
+
+ @param sourceRect The Rectangle object from which to copy the data.
+
+
+
+
+
+
+ Determines whether the object specified in the `toCompare`
+ parameter is equal to this Rectangle object. This method compares the
+ `x`, `y`, `width`, and
+ `height` properties of an object against the same properties of
+ this Rectangle object.
+
+ @param toCompare The rectangle to compare to this Rectangle object.
+ @return A value of `true` if the object has exactly the same
+ values for the `x`, `y`, `width`,
+ and `height` properties as this Rectangle object;
+ otherwise `false`.
+
+
+
+
+
+
+
+ Increases the size of the Rectangle object by the specified amounts,
+ in pixels. The center point of the Rectangle object stays the same,
+ and its size increases to the left and right by the `dx` value, and to
+ the top and the bottom by the `dy` value.
+
+ @param dx The value to be added to the left and the right of the
+ Rectangle object. The following equation is used to
+ calculate the new width and position of the rectangle:
+
+ ```as3
+ x -= dx;
+ width += 2 * dx;
+ ```
+ @param dy The value to be added to the top and the bottom of the
+ Rectangle. The following equation is used to calculate the
+ new height and position of the rectangle:
+
+ ```
+ y -= dy;
+ height += 2 * dy;
+ ```
+
+
+
+
+
+
+ Increases the size of the Rectangle object. This method is similar to
+ the `Rectangle.inflate()` method except it takes a Point object as a
+ parameter.
+ The following two code examples give the same result:
+
+ ```haxe
+ var rect1 = new Rectangle(0,0,2,5);
+ rect1.inflate(2,2);
+ ```
+ ```haxe
+ var rect1 = new Rectangle(0,0,2,5);
+ var pt1 = new Point(2,2);
+ rect1.inflatePoint(pt1);
+ ```
+
+ @param point The `x` property of this Point object is used to increase
+ the horizontal dimension of the Rectangle object. The `y`
+ property is used to increase the vertical dimension of
+ the Rectangle object.
+
+
+
+
+
+
+ If the Rectangle object specified in the `toIntersect` parameter
+ intersects with this Rectangle object, returns the area of
+ intersection as a Rectangle object. If the rectangles do not
+ intersect, this method returns an empty Rectangle object with its
+ properties set to 0.
+
+ 
+
+ @param toIntersect The Rectangle object to compare against to see if
+ it intersects with this Rectangle object.
+ @return A Rectangle object that equals the area of intersection. If
+ the rectangles do not intersect, this method returns an empty
+ Rectangle object; that is, a rectangle with its `x`, `y`,
+ `width`, and `height` properties set to 0.
+
+
+
+
+
+
+ Determines whether the object specified in the `toIntersect`
+ parameter intersects with this Rectangle object. This method checks the
+ `x`, `y`, `width`, and
+ `height` properties of the specified Rectangle object to see if
+ it intersects with this Rectangle object.
+
+ @param toIntersect The Rectangle object to compare against this Rectangle
+ object.
+ @return A value of `true` if the specified object intersects
+ with this Rectangle object; otherwise `false`.
+
+
+
+ Determines whether or not this Rectangle object is empty.
+
+ @return A value of `true` if the Rectangle object's width or
+ height is less than or equal to 0; otherwise `false`.
+
+
+
+
+
+
+
+ Adjusts the location of the Rectangle object, as determined by its
+ top-left corner, by the specified amounts.
+
+ @param dx Moves the _x_ value of the Rectangle object by this amount.
+ @param dy Moves the _y_ value of the Rectangle object by this amount.
+
+
+
+
+
+
+ Adjusts the location of the Rectangle object using a Point object as a
+ parameter. This method is similar to the `Rectangle.offset()`
+ method, except that it takes a Point object as a parameter.
+
+ @param point A Point object to use to offset this Rectangle object.
+
+
+
+ Sets all of the Rectangle object's properties to 0. A Rectangle object is
+ empty if its width or height is less than or equal to 0.
+
+ This method sets the values of the `x`, `y`,
+ `width`, and `height` properties to 0.
+
+
+
+
+
+
+
+
+
+ Sets the members of Rectangle to the specified values
+
+ @param xa the values to set the rectangle to.
+ @param ya
+ @param widtha
+ @param heighta
+
+
+
+
+
+
+
+ Adds two rectangles together to create a new Rectangle object, by
+ filling in the horizontal and vertical space between the two
+ rectangles.
+
+ 
+
+ **Note:** The `union()` method ignores rectangles with `0` as the
+ height or width value, such as: `var rect2:Rectangle = new Rectangle(300,300,50,0);`
+
+ @param toUnion A Rectangle object to add to this Rectangle object.
+ @return A new Rectangle object that is the union of the two
+ rectangles.
+
+ <__contract set="method" line="554">
+
+
+
+
+
+
+
+
+
+ <__expand set="method" line="577">
+
+
+
+
+
+
+
+
+
+ <__toLimeRectangle set="method" line="606">
+
+
+
+ <__transform set="method" line="618">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { height : 0, width : 0, y : 0, x : 0 }
+ Creates a new Rectangle object with the top-left corner specified by the
+ `x` and `y` parameters and with the specified
+ `width` and `height` parameters. If you call this
+ function without parameters, a rectangle with `x`,
+ `y`, `width`, and `height` properties set
+ to 0 is created.
+
+ @param x The _x_ coordinate of the top-left corner of the
+ rectangle.
+ @param y The _y_ coordinate of the top-left corner of the
+ rectangle.
+ @param width The width of the rectangle, in pixels.
+ @param height The height of the rectangle, in pixels.
+
+ A Rectangle object is an area defined by its position, as indicated by its
+ top-left corner point(_x_, _y_) and by its width and its height.
+
+
+ The `x`, `y`, `width`, and
+ `height` properties of the Rectangle class are independent of
+ each other; changing the value of one property has no effect on the others.
+ However, the `right` and `bottom` properties are
+ integrally related to those four properties. For example, if you change the
+ value of the `right` property, the value of the
+ `width` property changes; if you change the `bottom`
+ property, the value of the `height` property changes.
+
+ The following methods and properties use Rectangle objects:
+
+
+ * The `applyFilter()`, `colorTransform()`,
+ `copyChannel()`, `copyPixels()`, `draw()`,
+ `fillRect()`, `generateFilterRect()`,
+ `getColorBoundsRect()`, `getPixels()`,
+ `merge()`, `paletteMap()`,
+ `pixelDisolve()`, `setPixels()`, and
+ `threshold()` methods, and the `rect` property of the
+ BitmapData class
+ * The `getBounds()` and `getRect()` methods, and
+ the `scrollRect` and `scale9Grid` properties of the
+ DisplayObject class
+ * The `getCharBoundaries()` method of the TextField
+ class
+ * The `pixelBounds` property of the Transform class
+ * The `bounds` parameter for the `startDrag()`
+ method of the Sprite class
+ * The `printArea` parameter of the `addPage()`
+ method of the PrintJob class
+
+
+ You can use the `new Rectangle()` constructor to create a
+ Rectangle object.
+
+ **Note:** The Rectangle class does not define a rectangular Shape
+ display object. To draw a rectangular Shape object onscreen, use the
+ `drawRect()` method of the Graphics class.
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+ new Rectangle(0, 0, 1, 1)
+
+
+ <_stage3DProxy>
+ <_context>
+ <_onlyMouseEnabled expr="true">
+
+ true
+
+ <_objectProgram3D>
+ <_triangleProgram3D>
+ <_bitmapData>
+ <_viewportData>
+ <_boundOffsetScale>
+ <_id>
+ <_interactives expr="new Vector<IRenderable>()">
+
+ ()]]>
+
+ <_interactiveId>
+ <_hitColor>
+ <_projX>
+ <_projY>
+ <_hitRenderable>
+ <_hitEntity>
+ <_localHitPosition expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_hitUV expr="new Point()">
+
+ new Point()
+
+ <_faceIndex>
+ <_subGeometryIndex>
+ <_localHitNormal expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_rayPos expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_rayDir expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_potentialFound>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Draw a list of renderables.
+ * @param renderables The renderables to draw.
+ * @param camera The camera for which to render.
+
+
+
+
+
+
+
+ * Creates the Program3D that color-codes objects.
+
+
+
+ * Creates the Program3D that renders positions.
+
+
+
+
+
+
+ * Gets more detailed information about the hir position, if required.
+ * @param camera The camera used to view the hit object.
+
+
+
+
+
+
+ * Finds a first-guess approximate position about the hit position.
+ * @param camera The camera used to view the hit object.
+
+
+
+
+
+
+ * Use the approximate position info to find the face under the mouse position from which we can derive the precise
+ * ray-face intersection point, then use barycentric coordinates to figure out the uv coordinates, etc.
+ * @param camera The camera used to view the hit object.
+
+
+
+
+
+
+
+
+
+
+
+
+ * Finds the precise hit position by unprojecting the screen coordinate back unto the hit face's plane and
+ * calculating the intersection point.
+ * @param camera The camera used to render the object.
+ * @param invSceneTransform The inverse scene transformation of the hit object.
+ * @param nx The x-coordinate of the face's plane normal.
+ * @param ny The y-coordinate of the face plane normal.
+ * @param nz The z-coordinate of the face plane normal.
+ * @param px The x-coordinate of a point on the face's plane (ie a face vertex)
+ * @param py The y-coordinate of a point on the face's plane (ie a face vertex)
+ * @param pz The z-coordinate of a point on the face's plane (ie a face vertex)
+
+
+
+
+ ShaderPicker object.]]>
+
+ * Picks a 3d object from a view or scene by performing a separate render pass on the scene around the area being picked using key color values,
+ * then reading back the color value of the pixel in the render representing the picking ray. Requires multiple passes and readbacks for retriving details
+ * on an entity that has its shaderPickingDetails property set to true.
+ *
+ * A read-back operation from any GPU is not a very efficient process, and the amount of processing used can vary significantly between different hardware.
+ *
+ * @see away3d.entities.Entity#shaderPickingDetails
+
+
+
+
+
+ new ShaderPicker()
+ * Uses a render pass to pick objects based on a key color that is read back into the engine.
+ * Performance can be variable on some GPUs.
+
+
+
+ new RaycastPicker(false)
+ * Uses AS3 and Pixel Bender to pick objects based on ray intersection. Returns the hit on the first encountered Entity.
+
+
+
+ new RaycastPicker(true)
+ * Uses AS3 and Pixel Bender to pick objects based on ray intersection. Returns the best (closest) hit on an Entity.
+
+ * Options for the different 3D object picking approaches available in Away3D. Can be used for automatic mouse picking on the view.
+ *
+ * @see away3d.containers.View3D#mousePicker
+
+
+
+
+
+ <_program3d>
+ <_texture>
+ <_indexBuffer>
+ <_vertexBuffer>
+ <_stage3DProxy>
+ <_context>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+ <_context>
+ <_stage3DProxy>
+ <_backgroundR expr="0">
+
+ 0
+
+ <_backgroundG expr="0">
+
+ 0
+
+ <_backgroundB expr="0">
+
+ 0
+
+ <_backgroundAlpha expr="1">
+
+ 1
+
+ <_shareContext expr="false">
+
+ false
+
+ <_renderTarget>
+ <_renderTargetSurface>
+ <_viewWidth>
+ <_viewHeight>
+ <_renderableSorter>
+ <_backgroundImageRenderer>
+ <_background>
+ <_renderToTexture>
+ <_antiAlias>
+ <_textureRatioX expr="1">
+
+ 1
+
+ <_textureRatioY expr="1">
+
+ 1
+
+ <_snapshotBitmapData>
+ <_snapshotRequired>
+ <_clearOnRender expr="true">
+
+ true
+
+ <_rttViewProjectionMatrix expr="new Matrix3D()">
+
+ new Matrix3D()
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The background color's red component, used when clearing.
+ *
+ * @private
+
+
+
+
+
+
+
+ * The background color's green component, used when clearing.
+ *
+ * @private
+
+
+
+
+
+
+
+ * The background color's blue component, used when clearing.
+ *
+ * @private
+
+
+
+
+
+
+
+ * The Stage3DProxy that will provide the Context3D used for rendering.
+ *
+ * @private
+
+
+
+
+
+
+
+ * Defers control of Context3D clear() and present() calls to Stage3DProxy, enabling multiple Stage3D frameworks
+ * to share the same Context3D object.
+ *
+ * @private
+
+
+
+
+
+
+
+ away3d
+ * Disposes the resources used by the RendererBase.
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+ { surfaceSelector : 0, scissorRect : null, target : null }
+ * Renders the potentially visible geometry to the back buffer or texture.
+ * @param entityCollector The EntityCollector object containing the potentially visible geometry.
+ * @param target An option target texture to render to.
+ * @param surfaceSelector The index of a CubeTexture's face to render to.
+ * @param additionalClearMask Additional clear mask information, in case extra clear channels are to be omitted.
+
+
+
+
+
+
+
+
+
+ { surfaceSelector : 0, scissorRect : null, target : null }
+ * Renders the potentially visible geometry to the back buffer or texture. Only executed if everything is set up.
+ * @param entityCollector The EntityCollector object containing the potentially visible geometry.
+ * @param target An option target texture to render to.
+ * @param surfaceSelector The index of a CubeTexture's face to render to.
+ * @param additionalClearMask Additional clear mask information, in case extra clear channels are to be omitted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Performs the actual drawing of geometry to the target.
+ * @param entityCollector The EntityCollector object containing the potentially visible geometry.
+
+
+
+
+
+
+ * Assign the context once retrieved
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { renderToTexture : false }
+ * Creates a new RendererBase object.
+
+ * RendererBase forms an abstract base class for classes that are used in the rendering pipeline to render geometry
+ * to the back buffer or a texture.
+
+
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 3
+
+ <_activeMaterial>
+ <_distanceRenderer>
+ <_depthRenderer>
+ <_skyboxProjection expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_tempSkyboxMatrix expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_skyboxTempVector expr="new Vector3D()">
+
+ new Vector3D()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { surfaceSelector : 0, scissorRect : null, target : null }
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Draw the skybox if present.
+ * @param entityCollector The EntityCollector containing all potentially visible information.
+
+
+
+
+
+
+
+
+
+
+
+
+ * Draw a list of renderables.
+ * @param renderables The renderables to draw.
+ * @param entityCollector The EntityCollector containing all potentially visible information.
+
+
+
+
+ * Creates a new DefaultRenderer object.
+ * @param antiAlias The amount of anti-aliasing to use.
+ * @param renderMode The render mode to use.
+
+ * The DefaultRenderer class provides the default rendering method. It renders the scene graph objects using the
+ * materials assigned to them.
+
+
+
+
+
+ <_activeMaterial>
+ <_renderBlended>
+ <_distanceBased>
+ <_disableColor>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Draw a list of renderables.
+ * @param renderables The renderables to draw.
+ * @param entityCollector The EntityCollector containing all potentially visible information.
+
+
+
+
+
+
+
+ { distanceBased : false, renderBlended : false }
+ * Creates a new DepthRenderer object.
+ * @param renderBlended Indicates whether semi-transparent objects should be rendered.
+ * @param distanceBased Indicates whether the written depth value is distance-based or projected depth-based
+
+ * The DepthRenderer class renders 32-bit depth information encoded as RGBA
+
+
+
+
+
+ <_filters>
+ <_tasks>
+ <_filterTasksInvalid>
+ <_mainInputTexture>
+ <_requireDepthRender>
+ <_rttManager>
+ <_stage3DProxy>
+ <_filterSizesInvalid expr="true">
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_program3D>
+ <_renderBlended>
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates the depth rendering Program3D.
+ * @param context The Context3D object for which the Program3D needs to be created.
+
+
+
+
+
+
+ { renderBlended : false }
+ * Creates a PositionRenderer object.
+ * @param renderBlended Indicates whether semi-transparent objects should be rendered.
+ * @param antiAlias The amount of anti-aliasing to be used
+ * @param renderMode The render mode to be used.
+
+ * The PositionRenderer renders normalized position coordinates.
+
+
+
+
+
+
+
+ * Sort the potentially visible data in an EntityCollector for rendering.
+ * @param collector The EntityCollector object containing the potentially visible data.
+
+ * EntitySorterBase provides an abstract base class to sort geometry information in an EntityCollector object for
+ * rendering.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a RenderableSorter objects
+
+ * RenderableSorter sorts the potentially visible IRenderable objects collected by EntityCollector for optimal
+ * rendering performance. Objects are sorted first by material, then by distance to the camera. Opaque objects
+ * are sorted front to back, while objects that require blending are sorted back to front, to ensure correct
+ * blending.
+
+
+
+ <_collectionMark expr="0" line="34" static="1">
+
+
+ 0
+ away3d
+
+ * A property that can be used to avoid processing a partition more than once.
+
+
+
+ away3d
+
+
+
+ * The scene being traversed.
+
+ <_entryPoint>
+
+ away3d
+
+
+
+
+
+
+ * Called when the traversers enters a node. At minimum, it notifies the currently visited Partition3DNode whether or not further recursion is necessary.
+ * @param node The currently entered node.
+ * @return true if further recursion down children is necessary, false if not.
+
+
+
+
+
+
+ * Passes a skybox to be processed by the traverser.
+
+
+
+
+
+
+ * Passes an IRenderable object to be processed by the traverser.
+
+
+
+
+
+
+ * Passes a light to be processed by the traverser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Registers an entity for use.
+
+
+
+ * The entry point for scene graph traversal, ie the point that will be used for traversing the graph
+ * position-dependently. For example: BSP visibility determination or collision detection.
+ * For the EntityCollector, this is the camera's scene position for example.
+
+
+ * IPartitionTraverser is a hierarchical visitor pattern that traverses through a Partition3D data structure.
+ *
+ * @see away3d.partition.Partition3D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_skyBox>
+ <_opaqueRenderableHead>
+ <_blendedRenderableHead>
+ <_entityHead>
+ <_renderableListItemPool>
+ <_entityListItemPool>
+ <_lights>
+ <_directionalLights>
+ <_pointLights>
+ <_lightProbes>
+ <_numEntities>
+ <_numLights>
+ <_numTriangles>
+ <_numMouseEnableds>
+ <_camera>
+ <_numDirectionalLights>
+ <_numPointLights>
+ <_numLightProbes>
+ <_cameraForward>
+ <_customCullPlanes>
+ <_cullPlanes>
+ <_numCullPlanes>
+
+
+
+ * The camera that provides the visible frustum.
+
+
+
+
+
+
+
+
+
+
+
+
+ * The amount of IRenderable objects that are mouse-enabled.
+
+
+
+ * The sky box object if encountered.
+
+
+
+ * The list of opaque IRenderable objects that are considered potentially visible.
+ * @param value
+
+
+
+
+
+
+
+ * The list of IRenderable objects that require blending and are considered potentially visible.
+ * @param value
+
+
+
+
+
+
+
+
+ * The lights of which the affecting area intersects the camera's frustum.
+
+
+
+
+
+
+ * Clears all objects in the entity collector.
+
+
+
+
+
+
+ * Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children.
+ *
+ * @param node The Partition3DNode object to frustum-test.
+
+
+
+
+
+
+ * Adds a skybox to the potentially visible objects.
+ * @param renderable The skybox to add.
+
+
+
+
+
+
+ * Adds an IRenderable object to the potentially visible objects.
+ * @param renderable The IRenderable object to add.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Adds a light to the potentially visible objects.
+ * @param light The light to add.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The total number of triangles collected, and which will be pushed to the render engine.
+
+
+
+ * Cleans up any data at the end of a frame.
+
+
+
+ * Creates a new EntityCollector object.
+
+ * The EntityCollector class is a traverser for scene partitions that collects all scene graph entities that are
+ * considered potientially visible.
+ *
+ * @see away3d.partition.Partition3D
+ * @see away3d.partition.Entity
+
+
+
+
+
+
+ <_rayPosition expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_rayDirection expr="new Vector3D()">
+
+ new Vector3D()
+
+
+
+ * Provides the starting position of the ray.
+
+
+
+
+
+
+
+ * Provides the direction vector of the ray.
+
+
+
+
+
+
+
+
+
+
+ * Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children.
+ *
+ * @param node The Partition3DNode object to frustum-test.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Adds an IRenderable object to the potentially visible objects.
+ * @param renderable The IRenderable object to add.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new RaycastCollector object.
+
+ * The RaycastCollector class is a traverser for scene partitions that collects all scene graph entities that are
+ * considered intersecting with the defined ray.
+ *
+ * @see away3d.partition.Partition3D
+ * @see away3d.partition.Entity
+
+
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 2
+
+ <_childIndex>
+ <_scene>
+ <_node>
+ <_traverseState>
+ <_childIndexStack>
+ <_stackPos>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Adds an IRenderable object to the potentially visible objects.
+ * @param renderable The IRenderable object to add.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new EntityCollector object.
+
+ * The EntityCollector class is a traverser for scene partitions that collects all scene graph entities that are
+ * considered potientially visible.
+ *
+ * @see away3d.partition.Partition3D
+ * @see away3d.partition.Entity
+
+
+
+
+ <_fps>
+ <_ply>
+ <_view>
+
+
+
+
+
+
+
+
+
+ { scale : 4, color : 0x000000, yOff : 10, xOff : 10, view : null }
+
+
+ openfl.utils._internal.AssetsMacro.initBinding()
+ openfl.utils._internal.AssetsMacro.initBinding()
+
+
+
+
+
+ <_WIDTH get="inline" set="null" expr="125" line="122" static="1">
+
+ 125
+
+ <_MAX_HEIGHT get="inline" set="null" expr="85" line="123" static="1">
+
+ 85
+
+ <_MIN_HEIGHT get="inline" set="null" expr="51" line="124" static="1">
+
+ 51
+
+ <_UPPER_Y get="inline" set="null" expr="-1" line="125" static="1">
+
+ -1
+
+ <_MID_Y get="inline" set="null" expr="9" line="126" static="1">
+
+ 9
+
+ <_LOWER_Y get="inline" set="null" expr="19" line="127" static="1">
+
+ 19
+
+ <_DIAG_HEIGHT get="inline" set="null" expr="_MAX_HEIGHT - 50" line="128" static="1">
+
+ _MAX_HEIGHT - 50
+
+ <_BOTTOM_BAR_HEIGHT get="inline" set="null" expr="31" line="129" static="1">
+
+ 31
+
+ <_POLY_COL get="inline" set="null" expr="0xffcc00" line="131" static="1">
+
+ 0xffcc00
+
+ <_MEM_COL get="inline" set="null" expr="0xff00cc" line="132" static="1">
+
+ 0xff00cc
+
+ <_INSTANCE static="1">
+
+
+ * Holds a reference to the stats widget (or if several have been created
+ * during session, the one that was last instantiated.) Allows you to set
+ * properties and register views from anywhere in your code.
+
+
+
+
+
+
+ <_views>
+ <_timer>
+ <_last_frame_timestamp>
+ <_fps>
+ <_ram>
+ <_max_ram>
+ <_min_fps>
+ <_avg_fps>
+ <_max_fps>
+ <_tfaces>
+ <_rfaces>
+ <_num_frames>
+ <_fps_sum>
+ <_top_bar>
+ <_btm_bar>
+ <_btm_bar_hit>
+ <_data_format>
+ <_label_format>
+ <_fps_bar>
+ <_afps_bar>
+ <_lfps_bar>
+ <_hfps_bar>
+ <_diagram>
+ <_dia_bmp>
+ <_mem_points>
+ <_mem_graph>
+ <_updates>
+ <_min_max_btn>
+ <_fps_tf>
+ <_afps_tf>
+ <_ram_tf>
+ <_poly_tf>
+ <_swhw_tf>
+ <_drag_dx>
+ <_drag_dy>
+ <_dragging>
+ <_mean_data>
+ <_mean_data_length>
+ <_enable_reset>
+ <_enable_mod_fr>
+ <_transparent>
+ <_minimized>
+ <_showing_driv_info>
+
+
+
+
+
+ <_init set="method" line="228">
+
+
+
+
+
+ * Add a view to the list of those that are taken into account when
+ * calculating on-screen and total poly counts. Use this method when the
+ * stats widget is not instantiated in the same place as where you create
+ * your view, or when using several views, or when views are created and
+ * destroyed dynamically at runtime.
+
+
+
+
+
+
+ * Remove a view from the list of those that are taken into account when
+ * calculating on-screen and total poly counts. If the supplied view is
+ * the only one known to the stats widget, calling this will leave the
+ * list empty, disabling poly count statistics altogether.
+
+ <_initMisc set="method" line="281">
+ <_initTopBar set="method" line="300">
+
+ away3d
+ * @private
+ * Draw logo and create title textfield.
+
+ <_initBottomBar set="method" line="400">
+ <_initDiagrams set="method" line="488">
+ <_initInteraction set="method" line="540">
+ <_redrawWindow set="method" line="557">
+ <_redrawStats set="method" line="590">
+ <_redrawMemGraph set="method" line="649">
+ <_getRamString set="method" line="678">
+
+
+
+
+ <_endDrag set="method" line="719">
+ <_onAddedToStage set="method" line="742">
+
+
+
+ <_onRemovedFromStage set="method" line="748">
+
+
+
+ <_onTimer set="method" line="754">
+
+
+
+ <_onEnterFrame set="method" line="781">
+
+
+
+ <_onDiagramClick set="method" line="817">
+
+
+
+ <_onAverageFpsClick_reset set="method" line="826">
+
+
+
+
+ away3d
+ * @private
+ * Reset just the average FPS counter.
+
+ <_onCountersClick_reset set="method" line="838">
+
+
+
+ <_onMinMaxBtnClick set="method" line="843">
+
+
+
+ <_onTopBarMouseDown set="method" line="849">
+
+
+
+ <_onMouseMove set="method" line="859">
+
+
+
+ <_onMouseUpOrLeave set="method" line="866">
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { enableModifyFrameRate : true, enableClickToReset : true, meanDataLength : 0, transparent : false, minimized : false, view3d : null }
+ Create an Away3D stats widget. The widget can be added to the stage
+ * and positioned like any other display object. Once on the stage, you
+ * can drag the widget to re-position it at runtime.
+ *
+ *
If you pass a View3D instance, the widget will be able to display
+ * the total number of faces in your scene, and the amount of faces that
+ * were rendered during the last render() call. Views can also be registered
+ * after construction using the registerView() method. Omit the view
+ * constructor parameter to disable this feature altogether.
+ *
+ * @param view A reference to your Away3D view. This is required if you
+ * want the stats widget to display polycounts.
+ *
+ * @param minimized Defines whether the widget should start up in minimized
+ * mode. By default, it is shown in full-size mode on launch.
+ *
+ * @param transparent Defines whether to omit the background plate and print
+ * statistics directly on top of the underlying stage.
+ *
+ * @param meanDataLength The number of frames on which to base the average
+ * frame rate calculation. The default value of zero indicates that all
+ * frames since the last reset will be used.
+ *
+ * @param enableClickToReset Enables interaction allowing you to reset all
+ * counters by clicking the bottom bar of the widget. When activated, you
+ * can also click the average frame rate trace-out to reset just that one
+ * value.
+ *
+ * @param enableModifyFramerate When enabled, allows you to click the upper
+ * and lower parts of the graph area to increase and decrease SWF frame rate
+ * respectively.]]>
+
+ Stats monitor for Away3D or general use in any project. The widget was designed to
+ * display all the necessary data in ways that are easily readable, while maintaining a
+ * tiny size.
+ *
+ *
The following data is displayed by the widget, either graphically, through
+ * text, or both.
+ *
+ *
Current frame rate in FPS (white in graph/bar)
+ *
SWF frame rate (Stage.frameRate)
+ *
Average FPS (blue in graph/bar)
+ *
Min/Max FPS (only on frame rate bar in minimized mode)
+ *
Current RAM usage (pink in graph)
+ *
Maximum RAM usage
+ *
Number of polygons in scene
+ *
Number of polygons last rendered (yellow in graph)
+ *
+ *
+ *
There are two display modes; standard and minimized, which are alternated by clicking
+ * the button in the upper right corner, at runtime. The widget can also be configured to
+ * start in minimized mode by setting the relevant constructor parameter.
+ *
+ *
All data can be reset at any time, by clicking the lower part of the widget (where
+ * the RAM and POLY counters are located. The average FPS can be reset separately by
+ * clicking it's ²displayed value. Furthermore, the stage frame rate can be increased or
+ * decreased by clicking the upper and lower parts of the graph, respectively. Clicking close
+ * to the center will increment in small values, and further away will increase the steps.
+ * The graph itself is only visible in standard (as opposed to minimized) display mode.
+ *
+ *
The average FPS is calculated using one of two methods, configurable via constructor
+ * parameters. By setting the meanDataLength to a non-zero value, the number of recorded
+ * frame rate values on which the average is based can be configured. This has a tiny
+ * impact on CPU usage, which is the reason why the default number is zero, denoting that
+ * the average is calculated from a running sum since the widget was last reset.
]]>
+
+ openfl.utils._internal.AssetsMacro.initBinding()
+ openfl.utils._internal.AssetsMacro.initBinding()
+
+
+
+
+
+ false
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Class for emmiting debuging messages, warnings and errors
+
+
+
+
+
+
+
+
+
+
+
+
+ <_subMeshes>
+ <_geometry>
+ <_material>
+ <_animator>
+ <_castsShadows expr="true">
+
+ true
+
+ <_shareAnimationGeometry expr="true">
+
+ true
+
+
+
+
+
+
+
+
+
+ true.]]>
+
+
+
+
+
+
+
+ null.]]>
+
+
+
+
+
+
+
+ * The geometry used by the mesh that provides it with its shape.
+
+
+
+
+
+
+
+ * The material with which to render the Mesh.
+
+
+
+
+
+
+
+ * The SubMeshes out of which the Mesh consists. Every SubMesh can be assigned a material to override the Mesh's
+ * material.
+
+
+
+ * Indicates whether or not the mesh share the same animation geometry.
+
+
+
+
+
+
+
+ * Clears the animation geometry of this mesh. It will cause animation to generate a new animation geometry. Work only when shareAnimationGeometry is false.
+
+
+
+ * @inheritDoc
+
+
+
+ * Disposes mesh including the animator and children. This is a merely a convenience method.
+ * @return
+
+
+
+
+ * var clone : Mesh = new Mesh(original.geometry, original.material);
+ * ]]>
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Called when a SubGeometry was added to the Geometry.
+
+
+
+
+
+
+ * Called when a SubGeometry was removed from the Geometry.
+
+
+
+
+
+
+ * Adds a SubMesh wrapping a SubGeometry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { material : null }
+ * Create a new Mesh object.
+ *
+ * @param geometry The geometry used by the mesh that provides it with its shape.
+ * @param material [optional] The material with which to render the Mesh.
+
+ * Mesh is an instance of a Geometry, augmenting it with a presence in the scene graph, a material, and an animation
+ * state. It consists out of SubMeshes, which in turn correspond to SubGeometries. SubMeshes allow different parts
+ * of the geometry to be assigned different materials.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { showLetters : true, length : 1000 }
+
+ Trident object.
+ *
+ * @param length The length of the trident axes. Default is 1000.
+ * @param showLetters If the Trident should display the letters X, Y and Z at each axis arrows. Default is true.]]>
+
+
+
+
+
+
+ 3 * 0xFFFF
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_activeSubSet>
+ <_subSets>
+ <_subSetCount expr="0">
+
+ 0
+
+ <_numIndices expr="0">
+
+ 0
+
+ <_material>
+ <_animator>
+ <_hasData>
+ <_segments>
+
+
+
+ <_indexSegments expr="0">
+
+ 0
+
+
+
+
+
+
+ * Adds a new segment to the SegmentSet.
+ *
+ * @param segment the segment to add
+
+
+
+
+
+
+
+ { dispose : false }
+ * Removes a segment from the SegmentSet by its index in the set.
+ *
+ * @param index The index of the segment to remove
+ * @param dispose If the segment must be disposed as well. Default is false;
+ *
+ * Removing a Segment by an index when segment is unknown
+ * index of the segment is relative to the order it was added to the segmentSet.
+ * If a segment was removed from or added to the segmentSet, a segment index may have changed.
+ * The index of each Segment is updated when one is added or removed.
+ * If 2 segments are added, segment #1 has index 0, segment #2 has index 1
+ * if segment #1 is removed, segment#2 will get index 0 instead of 1.
+
+
+
+
+
+
+
+ { dispose : false }
+ * Removes a segment from the SegmentSet.
+ *
+ * @param segment The segment to remove
+ * @param dispose If the segment must be disposed as well. Default is false;
+
+
+
+ * Empties the segmentSet from all its segments data
+
+
+
+
+
+
+ * @returns a segment object from a given index.
+
+
+
+ * @returns howmany segments are in the SegmentSet
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new SegmentSet object.
+
+
+
+
+
+
+
+ "zy"
+
+
+
+ "xy"
+
+
+
+ "xz"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { colorXZ : 0x00FF00, colorZY : 0xFF0000, colorXY : 0x0000FF, thickness : 1, gridSize : 100, subDivision : 10 }
+
+ WireframeAxesGrid
+ * @param subDivision [optional] uint . Default is 10;
+ * @param gridSize [optional] uint . Default is 100;
+ * @param thickness [optional] Number . Default is 1;
+ * @param colorXY [optional] uint. Default is 0x0000FF.
+ * @param colorZY [optional] uint. Default is 0xFF0000.
+ * @param colorXZ [optional] uint. Default is 0x00FF00.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_geometry static="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_material>
+ <_spriteMatrix>
+ <_animator>
+ <_pickingSubMesh>
+ <_pickingTransform>
+ <_camera>
+ <_width>
+ <_height>
+ <_shadowCaster expr="false">
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Defines the animator of the mesh. Act on the mesh's geometry. Defaults to null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+ * Sprite3D is a 3D billboard, a renderable rectangular area that is always aligned with the projection plane.
+ * As a result, no perspective transformation occurs on a Sprite3D object.
+ *
+ * todo: mvp generation or vertex shader code can be optimized
+
+
+
+
+
+
+
+ <_lens>
+ <_viewProjectionInvalid expr="true">
+
+ true
+
+ <_viewProjection expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_texture>
+
+
+ * The aspect ratio of the texture or projection. By default this is the same aspect ratio of the texture (width/height)
+
+
+
+
+
+
+
+ * The vertical field of view of the projection, or the angle of the cone.
+
+
+
+
+
+
+
+
+ * The texture to be projected on the geometry.
+ * IMPORTANT: Since any point that is projected out of the range of the projector's cone is clamped to the texture's edges,
+ * the edges should be entirely neutral. Depending on the blend mode, the neutral color is:
+ * White for MULTIPLY,
+ * Black for ADD,
+ * Transparent for MIX
+
+
+
+
+
+
+
+ * The matrix that projects a point in scene space into the texture coordinates.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ * Creates a new TextureProjector object.
+ * @param texture The texture to be projected on the geometry. Since any point that is projected out of the range
+ * of the projector's cone is clamped to the texture's edges, the edges should be entirely neutral.
+
+ * TextureProjector is an object in the scene that can be used to project textures onto geometry. To do so,
+ * the object's material must have a ProjectiveTextureMethod method added to it with a TextureProjector object
+ * passed in the constructor.
+ * This can be used for various effects apart from acting like a normal projector, such as projecting fake shadows
+ * unto a surface, the impact of light coming through a stained glass window, ...
+ *
+ * @see away3d.materials.methods.ProjectiveTextureMethod
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Exception message.
+
+
+
+ The call stack at the moment of the exception creation.
+
+
+
+ Contains an exception, which was passed to `previous` constructor argument.
+
+
+
+ Native exception, which caused this exception.
+
+ <__exceptionMessage>
+
+
+
+ <__exceptionStack>
+
+
+
+ <__nativeStack>
+
+
+
+ <__skipStack expr="0">
+
+
+ 0
+
+ "haxe.Exception.get_stack"
+
+
+ <__nativeException>
+
+
+
+ <__previousException>
+
+
+
+
+
+
+ Returns exception message.
+
+
+
+ Detailed exception description.
+
+ Includes message, stack and the chain of previous exceptions (if set).
+
+ <__shiftStack get="inline" set="null" line="62">
+
+
+
+ "haxe.Exception.get_stack"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create a new Exception instance.
+
+ The `previous` argument could be used for exception chaining.
+
+ The `native` argument is for internal usage only.
+ There is no need to provide `native` argument manually and no need to keep it
+ upon extending `haxe.Exception` unless you know what you're doing.
+
+ = null;
+ a.push(1); // generates target-specific null-pointer exception
+ } catch(e:haxe.Exception) {
+ throw e; // rethrows native exception instead of haxe.Exception
+ }
+ ```]]>
+
+
+
+
+
+
+
+
+
+
+
+ "Error"
+
+
+
+
+
+ Contains the reference number associated with the specific error message. For a
+ custom Error object, this number is the value from the id parameter supplied in the
+ constructor.
+
+
+
+ Contains the message associated with the Error object. By default, the value of
+ this property is "Error". You can specify a message property when you create an
+ Error object by passing the error string to the Error constructor function.
+
+
+
+ Returns the call stack for an error at the time of the error's construction as a
+ string. As shown in the following example, the first line of the return value is
+ the string representation of the exception object, followed by the stack trace
+ elements:
+
+ ```
+ TypeError: Error #1009: Cannot access a property or method of a null object reference
+ at com.xyz::OrderEntry/retrieveData()[/src/com/xyz/OrderEntry.as:995]
+ at com.xyz::OrderEntry/init()[/src/com/xyz/OrderEntry.as:200]
+ at com.xyz::OrderEntry()[/src/com/xyz/OrderEntry.as:148]
+ ```
+
+ The preceding listing shows the value of this method when called in a debugger
+ version of Flash Player or code running in the AIR Debug Launcher (ADL). When code
+ runs in a release version of Flash Player or AIR, the stack trace is provided
+ without the file path and line number information, as in the following example:
+
+ ```
+ TypeError: Error #1009: Cannot access a property or method of a null object reference
+ at com.xyz::OrderEntry/retrieveData()
+ at com.xyz::OrderEntry/init()
+ at com.xyz::OrderEntry()
+ ```
+
+ For Flash Player 11.4 and earlier and AIR 3.4 and earlier, stack traces are only
+ available when code is running in the debugger version of Flash Player or the AIR
+ Debug Launcher (ADL). In non-debugger versions of those runtimes, calling this
+ method returns `null`.
+
+ @returns A string representation of the call stack.
+
+
+
+ Returns the string "Error" by default or the value contained in the `Error.message`
+ property, if defined.
+
+ @returns The error message.
+
+
+
+
+
+
+
+ { id : 0, message : "" }
+ Creates a new Error object. If message is specified, its value is assigned to the
+ object's Error.message property.
+
+ @param message A string associated with the Error object; this parameter is optional.
+ @param id A reference number to associate with the specific error message.
+
+ The Error class contains information about an error that occurred in a script. In
+ developing ActionScript 3.0 applications, when you run your compiled code in the
+ debugger version of a Flash runtime, a dialog box displays exceptions of type Error,
+ or of a subclass, to help you troubleshoot the code. You create an Error object by
+ using the Error constructor function. Typically, you throw a new Error object from
+ within a `try` code block that is caught by a `catch` code block.
+
+ You can also create a subclass of the Error class and throw instances of that subclass.
+
+
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+
+
+
+
+ { id : 0, message : null }
+ * Create a new AbstractMethodError.
+ * @param message An optional message to override the default error message.
+ * @param id The id of the error.
+
+ * AbstractMethodError is thrown when an abstract method is called. The method in question should be overridden
+ * by a concrete subclass.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_since>
+ <_source>
+ <_info>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { id : 0, message : null }
+ * Create a new TextureError.
+ * @param message An optional message to override the default error message.
+ * @param id The id of the error.
+
+ * TextureError is thrown when an invalid texture is used regarding Stage3D limitations.
+
+
+
+
+
+ "playbackComplete"
+ * Dispatched when a non-looping clip node inside an animation state reaches the end of its timeline.
+
+
+
+ "transitionComplete"
+
+
+
+
+ <_animator>
+ <_animationState>
+ <_animationNode>
+
+
+ * The animator object that is the subject of this event.
+
+
+
+ * The animation state object that is the subject of this event.
+
+
+
+ * The animation node inside the animation state from which the event originated.
+
+
+
+ * Clones the event.
+ *
+ * @return An exact duplicate of the current object.
+
+
+
+
+
+
+
+
+
+ AnimatonStateEvent
+ *
+ * @param type The event type.
+ * @param animator The animation state object that is the subject of this event.
+ * @param animationNode The animation node inside the animation state from which the event originated.]]>
+
+ * Dispatched to notify changes in an animation state's state.
+
+
+
+
+
+
+ "start"
+ * Defines the value of the type property of a start event object.
+
+
+
+ "stop"
+ * Defines the value of the type property of a stop event object.
+
+
+
+ "cycle_complete"
+ * Defines the value of the type property of a cycle complete event object.
+
+
+ <_animator>
+
+
+
+ * Clones the event.
+ *
+ * @return An exact duplicate of the current event object.
+
+
+
+
+
+
+
+ AnimatorEvent object.
+ *
+ * @param type The event type.
+ * @param animator The animator object that is the subject of this event.]]>
+
+ * Dispatched to notify changes in an animator's state.
+
+
+
+
+
+
+ "assetComplete"
+
+
+
+ "entityComplete"
+
+
+
+ "skyboxComplete"
+
+
+
+ "cameraComplete"
+
+
+
+ "meshComplete"
+
+
+
+ "geometryComplete"
+
+
+
+ "skeletonComplete"
+
+
+
+ "skeletonPoseComplete"
+
+
+
+ "containerComplete"
+
+
+
+ "textureComplete"
+
+
+
+ "textureProjectorComplete"
+
+
+
+ "materialComplete"
+
+
+
+ "animatorComplete"
+
+
+
+ "animationSetComplete"
+
+
+
+ "animationStateComplete"
+
+
+
+ "animationNodeComplete"
+
+
+
+ "stateTransitionComplete"
+
+
+
+ "segmentSetComplete"
+
+
+
+ "lightComplete"
+
+
+
+ "lightPickerComplete"
+
+
+
+ "effectMethodComplete"
+
+
+
+ "shadowMapMethodComplete"
+
+
+
+ "assetRename"
+
+
+
+ "assetConflictResolved"
+
+
+
+ "textureSizeError"
+
+
+
+ <_asset>
+ <_prevName>
+
+
+
+
+
+
+
+
+
+
+ { prevName : null, asset : null }
+
+ * Dispatched whenever a ressource (asset) is parsed and created completly.
+
+
+
+
+
+
+ "lensChanged"
+
+
+ <_camera>
+
+
+
+
+
+
+
+
+
+
+ { cancelable : false, bubbles : false }
+
+
+
+
+
+
+
+ "SubGeometryAdded"
+ * Dispatched when a SubGeometry was added from the dispatching Geometry.
+
+
+
+ "SubGeometryRemoved"
+ * Dispatched when a SubGeometry was removed from the dispatching Geometry.
+
+
+
+ "BoundsInvalid"
+
+
+ <_subGeometry>
+
+
+ * The SubGeometry object that is the subject of this event, if appropriate.
+
+
+
+ * Clones the event.
+ * @return An exact duplicate of the current object.
+
+
+
+
+
+
+
+ { subGeometry : null }
+ * Create a new GeometryEvent
+ * @param type The event type.
+ * @param subGeometry An optional SubGeometry object that is the subject of this event.
+
+ * Dispatched to notify changes in a geometry object's state.
+ *
+ * @see away3d.core.base.Geometry
+
+
+
+
+
+
+ "matrixChanged"
+
+
+ <_lens>
+
+
+
+
+
+
+
+
+
+
+ { cancelable : false, bubbles : false }
+
+
+
+
+
+
+
+ "castsShadowChange"
+
+
+
+
+
+
+
+
+
+
+
+
+ "loadError"
+ * Dispatched when loading of a asset failed.
+ * Such as wrong parser type, unsupported extensions, parsing errors, malformated or unsupported 3d file etc..
+
+
+
+ "resourceComplete"
+ * Dispatched when a resource and all of its dependencies is retrieved.
+
+
+
+ "dependencyComplete"
+ * Dispatched when a resource's dependency is retrieved and resolved.
+
+
+
+
+ <_url>
+ <_message>
+ <_isDependency>
+
+
+ * The url of the loaded resource.
+
+
+
+ * The error string on loadError.
+
+
+
+ * Indicates whether the event occurred while loading a dependency, as opposed
+ * to the base file. Dependencies can be textures or other files that are
+ * referenced by the base file.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { errmsg : null, isDependency : false, url : null }
+ * Create a new LoaderEvent object.
+ * @param type The event type.
+ * @param resource The loaded or parsed resource.
+ * @param url The url of the loaded resource.
+
+ * LoaderEvent is an Event dispatched to notify changes in loading state.
+
+
+
+
+
+
+ "visiblityUpdated"
+ * Defines the value of the type property of a visiblityUpdated event object.
+
+
+
+ "scenetransformChanged"
+ * Defines the value of the type property of a scenetransformChanged event object.
+
+
+
+ "sceneChanged"
+ * Defines the value of the type property of a sceneChanged event object.
+
+
+
+ "positionChanged"
+ * Defines the value of the type property of a positionChanged event object.
+
+
+
+ "rotationChanged"
+ * Defines the value of the type property of a rotationChanged event object.
+
+
+
+ "scaleChanged"
+ * Defines the value of the type property of a scaleChanged event object.
+
+
+
+
+ * Creates a copy of the Object3DEvent object and sets the value of each property to match that of the original.
+
+
+
+
+
+
+
+ MaterialEvent object.
+ *
+ * @param type The type of the event. Possible values are: Object3DEvent.TRANSFORM_CHANGED, Object3DEvent.SCENETRANSFORM_CHANGED, Object3DEvent.SCENE_CHANGED, Object3DEvent.RADIUS_CHANGED and Object3DEvent.DIMENSIONS_CHANGED.
+ * @param object A reference to the 3d object that is relevant to the event.]]>
+
+ * Passed as a parameter when a 3d object event occurs
+
+
+
+
+
+
+ "parseComplete"
+ * Dispatched when parsing of an asset completed.
+
+
+
+ "parseError"
+ * Dispatched when an error occurs while parsing the data (e.g. because it's
+ * incorrectly formatted.)
+
+
+
+ "readyForDependencies"
+ * Dispatched when a parser is ready to have dependencies retrieved and resolved.
+ * This is an internal event that should rarely (if ever) be listened for by
+ * external classes.
+
+
+ <_message>
+
+
+ * Additional human-readable message. Usually supplied for PARSE_ERROR events.
+
+
+
+
+
+
+
+
+ { message : "" }
+
+
+
+
+
+
+
+ "cycle"
+ * Dispatched when the time pointer enter a new cycle at time 0, after last time was greater than 0.99
+
+
+
+ "range"
+ * Dispatched when the time pointer is included a given from/to time region on a path
+
+
+
+ "change_segment"
+ * Dispatched when the time pointer enters a new PathSegment
+
+
+
+
+
+
+
+
+
+
+
+ "addedToScene"
+
+
+
+ "removedFromScene"
+
+
+
+ "partitionChanged"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "ShaderInvalidated"
+
+
+
+
+
+
+
+
+ { cancelable : false, bubbles : false }
+
+
+
+
+
+
+
+ "Context3DCreated"
+
+
+
+ "Context3DDisposed"
+
+
+
+ "Context3DRecreated"
+
+
+
+ "ViewportUpdated"
+
+
+
+
+
+
+
+
+ { cancelable : false, bubbles : false }
+
+
+
+
+
+
+
+ "touchEnd3d"
+
+
+
+ "touchBegin3d"
+
+
+
+ "touchMove3d"
+
+
+
+ "touchOut3d"
+
+
+
+ "touchOver3d"
+
+
+
+ <_allowedToPropagate expr="true">
+
+
+ true
+ away3d
+
+
+ <_parentEvent>
+
+ away3d
+
+
+
+ * The horizontal coordinate at which the event occurred in view coordinates.
+
+
+
+ * The vertical coordinate at which the event occurred in view coordinates.
+
+
+
+ * The view object inside which the event took place.
+
+
+
+
+ * The renderable inside which the event took place.
+
+
+
+ * The material of the 3d element inside which the event took place.
+
+
+
+ * The uv coordinate inside the draw primitive where the event took place.
+
+
+
+ * The index of the face where the event took place.
+
+
+
+ * The index of the subGeometry where the event took place.
+
+
+
+ * The position in object space where the event took place
+
+
+
+ * The normal in object space where the event took place
+
+
+
+ * Indicates whether the Control key is active (true) or inactive (false).
+
+
+
+ * Indicates whether the Alt key is active (true) or inactive (false).
+
+
+
+ * Indicates whether the Shift key is active (true) or inactive (false).
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a copy of the TouchEvent3D object and sets the value of each property to match that of the original.
+
+
+
+ * The position in scene space where the event took place
+
+
+
+ * The normal in scene space where the event took place
+
+
+
+
+
+
+ * Create a new TouchEvent3D object.
+ * @param type The type of the TouchEvent3D.
+
+
+
+
+
+
+
+ "xz"
+
+
+
+ "xy"
+
+
+
+ "zy"
+
+
+
+ 196605
+
+
+
+ .0001
+
+
+
+ 1.2
+
+
+
+
+
+
+ <_circle>
+ <_vectors>
+ <_subGeometry>
+ <_sortProp>
+ <_loopProp>
+ <_uvs>
+ <_vertices>
+ <_indices>
+ <_normals>
+ <_geomDirty expr="true">
+
+ true
+
+ <_centerMesh>
+ <_plane>
+ <_flip>
+ <_smoothSurface>
+ <_axis0Min>
+ <_axis0Max>
+ <_axis1Min>
+ <_axis1Max>
+ <_tmpNormal>
+ <_normal0>
+ <_normal1>
+ <_normal2>
+
+
+ * The "cloud" of vector3d's to compose the mesh
+
+
+
+
+
+
+
+ * Defines if the surface of the mesh must be smoothed or not. Default value is true.
+
+
+
+
+
+
+
+ * Defines the projection plane for the class. Default is xz.
+
+
+
+
+
+
+
+ * Defines if the face orientation needs to be inverted
+
+
+
+
+
+
+
+ * Defines whether the mesh is recentered of not after generation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { smoothSurface : true, flip : false, centerMesh : false, plane : PLANE_XZ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_segmentsW>
+ <_segmentsH>
+ <_width>
+ <_height>
+ <_depth>
+ <_heightMap>
+ <_smoothedHeightMap>
+ <_activeMap>
+ <_minElevation>
+ <_maxElevation>
+ <_geomDirty expr="true">
+
+ true
+
+ <_uvDirty expr="true">
+
+ true
+
+ <_subGeometry>
+
+
+
+
+
+ * Locks elevation factor beneath this color reading level. Default is 0;
+
+
+
+
+
+
+
+ * Locks elevation factor above this color reading level. Default is 255;
+ * Allows to build "canyon" like landscapes with no additional work on heightmap source.
+
+
+
+
+ * The number of segments that make up the plane along the Y or Z-axis, depending on whether yUp is true or
+ * false, respectively. Defaults to 1.
+
+
+
+
+
+
+
+ * The width of the terrain plane.
+
+
+
+
+
+
+
+
+
+
+
+
+ * The depth of the terrain plane.
+
+
+
+
+
+
+
+
+
+
+
+ * Reading the terrain height from a given x z position
+ * for surface tracking purposes
+ *
+ * @see away3d.extrusions.Elevation.smoothHeightMap
+
+
+
+ * Generates a smoother representation of the geometry using the original heightmap and subdivision settings.
+ * Allows smoother readings for surface tracking if original heightmap has noise, causing choppy camera movement.
+ *
+ * @see away3d.extrusions.Elevation.getHeightAt
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Invalidates the primitive's geometry, causing it to be updated when requested.
+
+
+
+ * Invalidates the primitive's uv coordinates, causing them to be updated when requested.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { smoothMap : false, minElevation : 0, maxElevation : 255, segmentsH : 30, segmentsW : 30, depth : 1000, height : 100, width : 1000 }
+ * @param material MaterialBase. The Mesh (Elevation) material
+ * @param heightMap BitmapData. The heightmap to generate the mesh from
+ * @param width [optional] Number. The width of the mesh. Default is 1000.
+ * @param height [optional] Number. The height of the mesh. Default is 100.
+ * @param depth [optional] Number. The depth of the mesh. Default is 1000.
+ * @param segmentsW [optional] uint. The subdivision of the mesh along the x axis. Default is 30.
+ * @param segmentsH [optional] uint. The subdivision of the mesh along the y axis. Default is 30.
+ * @param maxElevation [optional] uint. The maximum color value to be used. Allows canyon like elevations instead of mountainious. Default is 255.
+ * @param minElevation [optional] uint. The minimum color value to be used. Default is 0.
+ * @param smoothMap [optional] Boolean. If surface tracking is used, an internal smoothed version of the map is generated,
+ * prevents irregular height readings if original map is blowed up or is having noise. Default is false.
+
+ * Class Elevation generates (and becomes) a mesh from an heightmap.
+
+
+
+
+
+ .0001
+
+
+
+ 196605
+
+
+
+ 1.2
+
+
+
+ "x"
+
+
+
+ "y"
+
+
+
+ "z"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_profile>
+ <_lastProfile>
+ <_keepLastProfile>
+ <_axis>
+ <_revolutions>
+ <_subdivision>
+ <_offsetRadius>
+ <_prevOffsetRadius expr="0">
+
+ 0
+
+ <_materials>
+ <_coverAll>
+ <_flip>
+ <_centerMesh>
+ <_thickness>
+ <_preciseThickness>
+ <_ignoreSides>
+ <_smoothSurface>
+ <_tweek>
+ <_varr>
+ <_varr2>
+ <_uvarr>
+ <_startRotationOffset expr="0">
+
+ 0
+
+ <_geomDirty expr="true">
+
+ true
+
+ <_subGeometry>
+ <_MaterialsSubGeometries expr="new Vector<SubGeometryList>()">
+
+ ()]]>
+
+ <_maxIndProfile>
+ <_uva>
+ <_uvb>
+ <_uvc>
+ <_uvd>
+ <_va>
+ <_vb>
+ <_vc>
+ <_vd>
+ <_uvs>
+ <_vertices>
+ <_indices>
+ <_normals>
+ <_normalTmp>
+ <_normal0>
+ <_normal1>
+ <_normal2>
+
+
+
+
+
+
+
+
+
+
+
+
+ * Defines the axis used for the lathe rotation. Defaults to "y".
+
+
+
+
+
+
+
+ * Defines the number of revolutions performed by the lathe extrusion. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2.
+ *
+ * @see #revolutions
+
+
+
+
+
+
+
+ * Defines an offset radius applied to the profile. Defaults to 0.
+
+
+
+
+
+
+
+ * An optional object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion.
+
+
+
+
+
+
+
+ * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.
+
+
+
+
+
+
+
+ * Defines if the generated faces should be inversed. Default false.
+
+
+
+
+
+
+
+ * Defines if the surface of the mesh must be smoothed or not.
+
+
+
+
+
+
+
+ * Defines if the last transformed profile values are saved or not. Useful in combo with rotations less than 1, to ease combinations with other extrusions classes such as SkinExtrude.
+
+
+
+
+
+
+
+ * returns the last rotated profile values, if keepLastProfile was true
+
+
+
+ * Defines if thickness is greater than 0 if the thickness is equally distributed along the volume. Default is false.
+
+
+
+
+
+
+
+ * Defines whether the mesh is recentered of not after generation
+
+
+
+
+
+
+
+ * Defines the thickness of the resulting lathed geometry. Defaults to 0 (single face).
+
+
+
+
+
+
+
+ * Defines if the top, bottom, left, right, front or back of the the extrusion is left open.
+
+
+
+
+
+
+
+ * Allows the building of shapes such as springs. Rotation must be higher than 1 to have significant effect. Properties of the objects are x,y,z,radius and rotation
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { id : 0, render : true }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { lines : null, point2 : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Invalidates the geometry, causing it to be rebuilded when requested.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { smoothSurface : true, tweek : null, ignoreSides : "", materials : null, offsetRadius : 0, preciseThickness : true, thickness : 0, flip : false, centerMesh : false, coverall : true, subdivision : 10, revolutions : 1, axis : LatheExtrude.Y_AXIS, profile : null, material : null }
+
+
+ * Class for generating meshes with axial symmetry such as donuts, pipes, vases etc.
+
+
+
+
+
+
+ "x"
+
+
+
+ "y"
+
+
+
+ "z"
+
+
+
+ 196605
+
+
+
+ .0001
+
+
+
+
+
+
+
+
+
+
+ <_varr>
+ <_varr2>
+ <_uvarr>
+ <_subdivision>
+ <_coverAll>
+ <_flip>
+ <_closePath>
+ <_axis>
+ <_offset>
+ <_materials>
+ <_activeMaterial>
+ <_centerMesh>
+ <_thickness>
+ <_thicknessSubdivision>
+ <_ignoreSides>
+ <_geomDirty expr="true">
+
+ true
+
+ <_subGeometry>
+ <_MaterialsSubGeometries>
+ <_uva>
+ <_uvb>
+ <_uvc>
+ <_uvd>
+ <_maxIndProfile>
+ <_uvs>
+ <_vertices>
+ <_indices>
+ <_aVectors>
+ <_baseMax>
+ <_baseMin>
+
+
+
+ * Defines the axis used for the extrusion. Defaults to "y".
+
+
+
+
+
+
+
+ * An optional MultipleMaterials object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion.
+
+
+
+
+
+
+
+ * Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2.
+
+
+
+
+
+
+
+ * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.
+
+
+
+
+
+
+
+ * Defines if the generated faces should be inversed. Default false.
+
+
+
+
+
+
+
+ * Defines whether the mesh is recentered of not after generation
+
+
+
+
+
+
+
+ * Defines the _thickness of the resulting lathed geometry. Defaults to 0 (single face).
+
+
+
+
+
+
+
+ * Defines the subdivision for the top, bottom, right and left if thickness is set higher to 0. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines if the top, bottom, left, right, front or back of the the extrusion is left open.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { invertU : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { lines : null, point2 : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Invalidates the geometry, causing it to be rebuilded when requested.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { flip : false, ignoreSides : "", closePath : false, centerMesh : false, materials : null, thicknessSubdivision : 3, thickness : 0, coverAll : false, subdivision : 3, offset : 10, axis : LinearExtrude.Y_AXIS, vectors : null, material : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_transform>
+ <_upAxis expr="new Vector3D(0, 1, 0)">
+
+ new Vector3D(0, 1, 0)
+
+ <_path>
+ <_scene>
+ <_meshes>
+ <_clones>
+ <_repeat>
+ <_alignToPath>
+ <_randomRotationY>
+ <_segmentSpread expr="false">
+
+ false
+
+ <_mIndex>
+ <_count>
+ <_container>
+
+
+ * The up axis to which duplicated objects' Y axis will be oriented.
+
+
+
+
+
+
+
+
+
+
+ * If a container is provided, the meshes are addChilded to it instead of directly into the scene. The container is NOT addChilded to the scene.
+
+
+
+
+
+
+
+ * Defines the resolution between each PathSegments. Default 1, is also minimum.
+
+
+
+
+
+
+
+ * Defines if the profile point array should be orientated on path or not. Default true.
+
+
+
+
+
+
+
+ * Defines if a clone gets a random rotationY to break visual repetitions, usefull in case of vegetation for instance.
+
+
+
+
+ * returns a vector with all meshes cloned since last time build method was called. Returns null if build hasn't be called yet.
+ * Another option to retreive the generated meshes is to pass an ObjectContainer3D to the class
+
+
+
+
+
+
+ * Sets and defines the Path object. See extrusions.utils package. Required for this class.
+
+
+
+
+
+
+
+ . One or more meshes to repeat along the path. Required for this class.]]>
+
+
+
+
+
+
+
+
+
+
+
+ * defines if the meshes[index] is repeated per segments or duplicated after each others. default = false.
+
+
+
+
+ * Triggers the generation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { randomRotationY : false, container : null, segmentSpread : true, alignToPath : true, repeat : 1, scene : null, meshes : null, path : null }
+ PathDuplicator
+ * Class replicates and distribute one or more mesh(es) along a path. The offsets are defined by the position of the object. 0,0,0 would place the center of the mesh exactly on Path.
+ *
+ * @param path [optional] A Path object. The _path definition. either Cubic or Quadratic path
+ * @param meshes [optional] Vector.<Mesh>. One or more meshes to repeat along the path.
+ * @param scene [optional] Scene3D. The scene where to addchild the meshes if no ObjectContainer3D is provided.
+ * @param repeat [optional] uint. How many times a mesh is cloned per PathSegment. Default is 1.
+ * @param alignToPath [optional] Boolean. If the alignment of the clones must follow the path. Default is true.
+ * @param segmentSpread [optional] Boolean. If more than one Mesh is passed, it defines if the clones alternate themselves per PathSegment or each repeat. Default is false.
+ * @param container [optional] ObjectContainer3D. If an ObjectContainer3D is provided, the meshes are addChilded to it instead of directly into the scene. The container is NOT addChilded to the scene by default.
+ * @param randomRotationY [optional] Boolean. If the clones must have a random rotationY added to them.
+ *]]>
+
+
+
+
+
+
+
+ 196605
+
+
+
+ 1.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_varr>
+ <_doubles expr="new Vector<Vertex>()">
+
+ ()]]>
+
+ <_upAxis expr="new Vector3D(0, 1, 0)">
+
+ new Vector3D(0, 1, 0)
+
+ <_trans expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_path>
+ <_profile>
+ <_centerMesh>
+ <_scales>
+ <_rotations>
+ <_materials>
+ <_activeMaterial>
+ <_subdivision>
+ <_coverAll>
+ <_coverSegment>
+ <_flip>
+ <_mapFit>
+ <_closePath>
+ <_alignToPath>
+ <_smoothScale>
+ <_smoothSurface>
+ <_isClosedProfile>
+ <_maxIndProfile>
+ <_matIndex expr="0">
+
+ 0
+
+ <_segv>
+ <_geomDirty expr="true">
+
+ true
+
+ <_subGeometry>
+ <_MaterialsSubGeometries expr="new Vector<SubGeometryList>()">
+
+ ()]]>
+
+ <_uva>
+ <_uvb>
+ <_uvc>
+ <_uvd>
+ <_uvs>
+ <_vertices>
+ <_indices>
+ <_normals>
+ <_normalTmp>
+ <_normal0>
+ <_normal1>
+ <_normal2>
+ <_keepExtremes>
+ <_distribute>
+ <_distributeU>
+ <_distributedU>
+ <_startPoints>
+ <_endPoints>
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Defines whether the mesh is recentered of not after generation
+
+
+
+
+
+
+
+ * Defines the uv's u values are spreaded procentually over the entire surface to prevent the maps to be stretched.
+
+
+
+
+
+
+
+ * Invalidates the geometry, causing it to be rebuillded when requested.
+
+
+
+ Path object representing path to extrude along. Required.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vector3D objects that defines a series of scales to be set on each PathSegment.]]>
+
+
+
+
+
+
+
+ Vector3D objects that defines a series of rotations to be set on each PathSegment.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Defines the subdivisions created in the mesh for each PathSegment. Defaults to 2, minimum 2.
+
+
+
+
+
+
+
+ * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.
+
+
+
+
+
+
+
+ * Defines if the mesh subdivision is spread evenly over the entire geometry. Possibly resulting in uneven subdivision per segments.
+ * Uv mapping is less distorted on complex shapes once applied. Depending on Path length, extra construct time might be significant.
+ * Defaults to false.
+
+
+
+
+
+
+
+ * Defines if the surface of the mesh must be smoothed or not.
+
+
+
+
+
+
+
+
+
+
+ * Defines if the texture(s) should applied per segment. Default false.
+
+
+
+
+ * Defines if the texture(s) should be projected on the geometry evenly spreaded over the source bitmapdata or using distance/percent. Default is false.
+ * The mapping considers first and last profile points are the most distant from each other. Most left and most right on the map.
+ * Note that it is NOT suitable for most cases. It is helpfull for roads definition, usually seen from above with simple profile. It prevents then distorts and eases map designs.
+
+
+
+
+
+
+
+ * Defines if the generated faces should be inversed. Default false.
+
+
+
+
+
+
+
+ * Defines if the last PathSegment should join the first one and close the loop. Defaults to false.
+
+
+
+
+
+
+
+ * Defines if the array of profile points should be orientated on path or not. Default true. Note that Path object's worldaxis property might need to be changed. default = 0,1,0.
+ *
+ * @see #profile
+
+
+
+
+
+
+
+ Vector3D objects should affect the whole PathSegment evenly or be smoothly interpolated from previous PathSegment scale. Defaults to true.]]>
+
+
+
+
+
+
+
+ * Defines if the first and last transformed vector3d's of the profile are kept.
+ * For instance to be able to pass these coordinates to DelaunayMesh class, to close the extrude, if it was a tube.
+ * @see getStartProfile
+ * @see getEndProfile
+
+
+
+
+
+
+
+ * returns a vector of vector3d's representing the transformed profile coordinates at the start of the extrude shape
+ * null if "keepExtremes" is false or if the extrusion has not been builded yet.
+
+
+
+ * returns a vector of vector3d's representing the transformed profile coordinates at the end of the extrude shape
+ * null if "keepExtremes" is false or if the extrusion has not been builded yet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { closedata : false, offsetV : 0 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { keepExtremes : false, distributeU : true, distribute : false, smoothSurface : true, rotations : null, smoothScale : true, scales : null, materials : null, closePath : false, flip : false, mapFit : false, centerMesh : false, alignToPath : true, coverSegment : false, coverAll : true, subdivision : 2, profile : null, path : null, material : null }
+ PathExtrude
+ *
+ * @param material [optional] MaterialBase. The PathExtrude (Mesh) material. Optional in constructor, material must be set before PathExtrude object is rendered. Required for the class to work.
+ * @param path [optional] Path. Defines the Path object representing path to extrude along. Required for the class to work.
+ * @param profile [optional] Vector.<Vector3D>. Defines an Vector.<Vector3D> of Vector3D objects representing the profile information to be projected along the Path object. Required for the class to work.
+ * @param subdivision [optional] uint. Howmany steps between each PathSegment. If the path holds curves, the higher this value, the higher the curve fidelity. Default and minimum is 2;
+ * @param coverall [optional] Boolean. Defines the uv mapping, when true a unique material is stretched along the entire path/shape. Default is true.
+ * @param coverSegment [optional] Boolean. Defines the uv mapping, when true and coverall is false a unique material is stretched along one PathSegment. Default is false.
+ * @param alignToPath [optional] Boolean. If the profile must follow the path or keep its original orientation.
+ * @param centerMesh [optional] Boolean. If the geometry needs to be recentered in its own object space. If the position after generation is set to 0,0,0, the object would be centered in worldspace. Default is false.
+ * @param mapFit [optional] Boolean. The UV mapping is percentually spreaded over the width of the path, making texture looking nicer and edits for applications such as a race track, road, more easy. Affects the uv's u values and set distributeU to false. Default is false.
+ * @param flip [optional] Boolean. If the faces must be reversed depending on Vector3D's orientation. Default is false.
+ * @param closePath [optional] Boolean. If the last PathSegment entered must be welded back to first one. Executed in a straight manner, its recommanded to pass the first entry to the Path again, as last entry if curves are involved.
+ * @param materials [optional] Vector.<MaterialBase>. An optional Vector.<MaterialBase> of different materials that can be alternated along the path if coverAll is false.
+ * @param scales [optional] An optional Vector.<Vector3D> of Vector3D objects that defines a series of scales to be set on each PathSegment.
+ * @param smoothScale [optional] Boolean. Defines if the scale must be interpolated between values or keep their full aspect on each PathSegment.
+ * @param rotations [optional] An optional Vector.<Vector3D> of Vector3D objects that defines a series of rotations to be set on each PathSegment.
+ * @param smoothSurface [optional] An optional Boolean. Defines if the surface of the mesh must be smoothed or not. Default is true.
+ * @param distribute [optional] Boolean. If the mesh subdivision is evenly spreaded over the entire mesh. Depending on path definition, segments are possibly not having the same amount of subdivision.
+ * @param distributeU [optional] Boolean. If the mesh uv' u value is procentually spreaded over the entire mesh surface. Prevents the source map to be stretched. Default is true.
+ * @param keepExtremes [optional] Boolean. If the the first and last profile coordinates must be kept accessible, in order to feed classes such as DelaunayMesh. Default is false;]]>
+
+
+
+
+
+
+ 196605
+
+
+
+
+
+
+
+ <_tmpVectors>
+ <_subGeometry>
+ <_indice>
+ <_uva>
+ <_uvb>
+ <_uvc>
+ <_uvd>
+ <_va>
+ <_vb>
+ <_vc>
+ <_vd>
+ <_uvs>
+ <_vertices>
+ <_indices>
+ <_geomDirty expr="true">
+
+ true
+
+ <_profiles>
+ <_subdivision>
+ <_centerMesh>
+ <_closeShape>
+ <_coverAll>
+ <_flip>
+
+
+ * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to false.
+
+
+
+
+
+
+
+ * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Defines if the face orientatio needs to be inverted
+
+
+
+
+
+
+
+ * Defines whether the mesh is _centerMeshed of not after generation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Invalidates the geometry, causing it to be rebuillded when requested.
+
+
+
+
+
+
+
+
+
+
+
+
+ { flip : false, coverAll : false, closeShape : false, centerMesh : false, subdivision : 1 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_tasks>
+ <_requireDepthRender>
+ <_textureWidth>
+ <_textureHeight>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_brightPassTask>
+ <_vBlurTask>
+ <_hBlurTask>
+ <_compositeTask>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { quality : 3, exposure : 2, threshold : .75, blurY : 15, blurX : 15 }
+
+
+
+
+
+
+
+ <_hBlurTask>
+ <_vBlurTask>
+
+
+
+
+
+
+
+
+
+
+
+
+ * The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
+ * Higher values provide better performance at the cost of reduces quality.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1, blurY : 3, blurX : 3 }
+ * Creates a new BlurFilter3D object
+ * @param blurX The amount of horizontal blur to apply
+ * @param blurY The amount of vertical blur to apply
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+
+
+
+ <_focusTarget>
+ <_hDofTask>
+ <_vDofTask>
+
+
+ * The amount of pixels between each sample.
+
+
+
+
+
+
+
+ * An optional target ObjectContainer3D that will be used to auto-focus on.
+
+
+
+
+
+
+
+ * The distance from the camera to the point that is in focus.
+
+
+
+
+
+
+
+ * The distance between the focus point and the maximum amount of blur.
+
+
+
+
+
+
+
+ * The maximum amount of horizontal blur.
+
+
+
+
+
+
+
+ * The maximum amount of vertical blur.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1, maxBlurY : 3, maxBlurX : 3 }
+ * Creates a new DepthOfFieldFilter3D object.
+ * @param blurX The maximum amount of horizontal blur to apply
+ * @param blurY The maximum amount of vertical blur to apply
+ * @param stepSize The distance between samples. Set to -1 to auto-detect with acceptable quality.
+
+
+
+
+
+
+ <_blurTask>
+
+
+
+
+
+
+
+ * The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
+ * Higher values provide better performance at the cost of reduces quality.
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1 }
+ * Creates a new HBlurFilter3D object
+ * @param amount The amount of blur in pixels
+ * @param stepSize The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
+
+
+
+
+
+
+
+
+ <_dofTask>
+ <_focusTarget>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1, maxBlur : 3 }
+ * Creates a new HDepthOfFieldFilter3D object
+ * @param amount The amount of blur to apply in pixels
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+
+ <_hslTask>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { b : 1, g : 1, r : 1, saturation : 1 }
+
+
+
+
+
+ <_compositeTask>
+ <_copyTask>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { strength : .65 }
+
+
+
+
+
+
+
+
+
+
+ <_blurTask>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { cy : 0.5, cx : 0.5, blurWidth : -0.3, blurStart : 1.0, glowGamma : 1.6, intensity : 8.0 }
+
+
+
+
+
+
+ <_blurTask>
+
+
+
+
+
+
+
+ * The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
+ * Higher values provide better performance at the cost of reduces quality.
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1 }
+ * Creates a new VBlurFilter3D object
+ * @param amount The amount of blur in pixels
+ * @param stepSize The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
+
+
+
+
+
+
+
+
+ <_dofTask>
+ <_focusTarget>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1, maxBlur : 3 }
+ * Creates a new VDepthOfFieldFilter3D object
+ * @param amount The amount of blur to apply in pixels
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+
+ <_mainInputTexture>
+ <_mainInputTextureContext>
+ <_scaledTextureWidth expr="-1">
+
+ -1
+
+ <_scaledTextureHeight expr="-1">
+
+ -1
+
+ <_textureWidth expr="-1">
+
+ -1
+
+ <_textureHeight expr="-1">
+
+ -1
+
+ <_textureDimensionsInvalid expr="true">
+
+ true
+
+ <_program3DInvalid expr="true">
+
+ true
+
+ <_program3D>
+ <_program3DContext>
+ <_target>
+ <_requireDepthRender>
+ <_textureScale expr="0">
+
+ 0
+
+
+
+ * The texture scale for the input of this texture. This will define the output of the previous entry in the chain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { requireDepthRender : false }
+
+
+
+
+
+
+ <_data>
+ <_overlayTexture>
+ <_exposure>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_brightPassData>
+ <_threshold>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { threshold : .75 }
+
+
+
+
+
+
+
+ <_data>
+ <_overlayTexture>
+ <_blendMode>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { exposure : 1 }
+
+
+
+
+
+ <_secondaryInputTexture>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 15
+
+
+
+ <_amount>
+ <_data>
+ <_stepSize expr="1">
+
+ 1
+
+ <_realStepSize>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1 }
+ * Creates a new Filter3DHDepthOfFFieldTask
+ * @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+ <_maxBlur>
+ <_data>
+ <_focusDistance>
+ <_range expr="1000">
+
+ 1000
+
+ <_stepSize>
+ <_realStepSize>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1 }
+ * Creates a new Filter3DHDepthOfFFieldTask
+ * @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+
+
+ <_rgbData>
+ <_saturation expr="0.6">
+
+ 0.6
+
+ <_r expr="1">
+
+ 1
+
+ <_b expr="1">
+
+ 1
+
+ <_g expr="1">
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 15
+
+
+
+
+
+
+
+ <_data>
+ <_intensity expr="1.0">
+
+ 1.0
+
+ <_glowGamma expr="1.0">
+
+ 1.0
+
+ <_blurStart expr="1.0">
+
+ 1.0
+
+ <_blurWidth expr="-0.3">
+
+ -0.3
+
+ <_cx expr="0.5">
+
+ 0.5
+
+ <_cy expr="0.5">
+
+ 0.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { cy : 0.5, cx : 0.5, blurWidth : -0.3, blurStart : 1.0, glowGamma : 1.0, intensity : 1.0 }
+
+
+
+
+
+
+
+ 15
+
+
+
+ <_amount>
+ <_data>
+ <_stepSize expr="1">
+
+ 1
+
+ <_realStepSize>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1 }
+ *
+ * @param amount
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+ <_maxBlur>
+ <_data>
+ <_focusDistance>
+ <_range expr="1000">
+
+ 1000
+
+ <_stepSize>
+ <_realStepSize>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stepSize : -1 }
+ * Creates a new Filter3DHDepthOfFFieldTask
+ * @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas
+ * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
+
+
+
+
+
+
+
+ <_data>
+ <_overlayTexture>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_instances expr="new Map<String,Asset3DLibraryBundle>()" line="21" static="1">
+
+
+
+
+
+ ()]]>
+ away3d
+
+
+
+
+ * Short-hand for conflictStrategy property on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.conflictStrategy
+
+
+
+ * Short-hand for conflictPrecedence property on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.conflictPrecedence
+
+
+
+
+
+
+ { key : "default" }
+ * Returns an Asset3DLibrary bundle instance. If no key is given, returns the default bundle (which is
+ * similar to using the Asset3DLibraryBundle as a singleton). To keep several separated library bundles,
+ * pass a string key to this method to define which bundle should be returned. This is
+ * referred to as using the Asset3DLibraryBundle as a multiton.
+ *
+ * @param key Defines which multiton instance should be returned.
+ * @return An instance of the asset library
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { filterFunc : null, namespaceFilter : null, Asset3DTypeFilter : null }
+ * Short-hand for createIterator() method on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.createIterator()
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Short-hand for load() method on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.load()
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Short-hand for loadData() method on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.loadData()
+
+
+
+
+
+
+
+
+ { ns : null }
+ * Short-hand for getAsset() method on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.getAsset()
+
+
+
+
+
+
+
+
+
+
+ { useWeakReference : false, priority : 0, useCapture : false }
+ * Short-hand for addEventListener() method on default asset library bundle.
+
+
+
+
+
+
+
+
+ { useCapture : false }
+ * Short-hand for removeEventListener() method on default asset library bundle.
+
+
+
+
+
+
+ * Short-hand for hasEventListener() method on default asset library bundle.
+
+
+
+
+
+
+
+
+
+
+ * Short-hand for addAsset() method on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.addAsset()
+
+
+
+
+
+
+
+ { dispose : true }
+ * Short-hand for removeAsset() method on default asset library bundle.
+ *
+ * @param asset The asset which should be removed from the library.
+ * @param dispose Defines whether the assets should also be disposed.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.removeAsset()
+
+
+
+
+
+
+
+
+ { dispose : true, ns : null }
+ * Short-hand for removeAssetByName() method on default asset library bundle.
+ *
+ * @param name The name of the asset to be removed.
+ * @param ns The namespace to which the desired asset belongs.
+ * @param dispose Defines whether the assets should also be disposed.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.removeAssetByName()
+
+
+
+
+
+
+ { dispose : true }
+ * Short-hand for removeAllAssets() method on default asset library bundle.
+ *
+ * @param dispose Defines whether the assets should also be disposed.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.removeAllAssets()
+
+
+
+
+
+
+
+ { dispose : true, ns : null }
+ * Short-hand for removeNamespaceAssets() method on default asset library bundle.
+ *
+ * @see away3d.library.Asset3DLibraryBundle.removeNamespaceAssets()
+
+
+
+ Asset3DLibrary object.]]>
+
+ getBundle() method.]]>
+
+
+
+
+
+
+
+
+
+ { key : "default" }
+ * Returns an Asset3DLibraryBundle instance. If no key is given, returns the default bundle instance (which is
+ * similar to using the Asset3DLibraryBundle as a singleton.) To keep several separated library bundles,
+ * pass a string key to this method to define which bundle should be returned. This is
+ * referred to as using the Asset3DLibrary as a multiton.
+ *
+ * @param key Defines which multiton instance should be returned.
+ * @return An instance of the asset library
+
+
+
+ ConflictStrategy.APPEND_NUM_SUFFIX
+ * is used which means that a numeric suffix is appended to one of the assets. The
+ * conflictPrecedence property defines which of the two conflicting assets will
+ * be renamed.
+ *
+ * @see a3d.library.naming.ConflictStrategy
+ * @see a3d.library.Asset3DLibrary.conflictPrecedence]]>
+
+
+
+ ConflictPrecedence.FAVOR_NEW is used, meaning that the newly renamed
+ * asset will keep it's new name while the older asset gets renamed to not conflict.
+ *
+ * This property is ignored for conflict strategies that do not actually rename an
+ * asset automatically, such as ConflictStrategy.IGNORE and ConflictStrategy.THROW_ERROR.
+ *
+ * @see a3d.library.naming.ConflictPrecedence
+ * @see a3d.library.naming.ConflictStrategy]]>
+
+ <_loadingSessions>
+ <_strategy>
+ <_strategyPreference>
+ <_assets>
+ <_assetDictionary>
+
+
+
+
+
+
+ <_assetDictDirty>
+
+
+
+
+
+ *
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { filterFunc : null, namespaceFilter : null, Asset3DTypeFilter : null }
+ * Create an Asset3DLibraryIterator instance that can be used to iterate over the assets
+ * in this asset library instance. The iterator can filter assets on asset type and/or
+ * namespace. A "null" filter value means no filter of that type is used.
+ *
+ * @param Asset3DTypeFilter Asset type to filter on (from the Asset3DType enum class.) Use
+ * null to not filter on asset type.
+ * @param namespaceFilter Namespace to filter on. Use null to not filter on namespace.
+ * @param filterFunc Callback function to use when deciding whether an asset should be
+ * included in the iteration or not. This needs to be a function that takes a single
+ * parameter of type IAsset and returns a Bool where true means it should be included.
+ *
+ * @see away3d.library.assets.Asset3DType
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a file and (optionally) all of its dependencies.
+ *
+ * @param req The URLRequest object containing the URL of the file to be loaded.
+ * @param context An optional context object providing additional parameters for loading
+ * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
+ * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a resource from existing data in memory.
+ *
+ * @param data The data object containing all resource information.
+ * @param context An optional context object providing additional parameters for loading
+ * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
+ * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+
+
+
+
+ { ns : null }
+ *
+
+
+
+
+
+
+ conflictStrategy and
+ * conflictPrecedence properties.]]>
+
+
+
+
+
+
+
+ { dispose : true }
+ * Removes an asset from the library, and optionally disposes that asset by calling
+ * it's disposeAsset() method (which for most assets is implemented as a default
+ * version of that type's dispose() method.
+ *
+ * @param asset The asset which should be removed from this library.
+ * @param dispose Defines whether the assets should also be disposed.
+
+
+
+
+
+
+
+
+ { dispose : true, ns : null }
+ * Removes an asset which is specified using name and namespace.
+ *
+ * @param name The name of the asset to be removed.
+ * @param ns The namespace to which the desired asset belongs.
+ * @param dispose Defines whether the assets should also be disposed.
+ *
+ * @see away3d.library.Asset3DLibrary.removeAsset()
+
+
+
+
+
+
+ { dispose : true }
+ * Removes all assets from the asset library, optionally disposing them as they
+ * are removed.
+ *
+ * @param dispose Defines whether the assets should also be disposed.
+
+
+
+
+
+
+
+ { dispose : true, ns : null }
+ * Removes all assets belonging to a particular namespace (null for default)
+ * from the asset library, and optionall disposes them by calling their
+ * disposeAsset() method.
+ *
+ * @param ns The namespace from which all assets should be removed.
+ * @param dispose Defines whether the assets should also be disposed.
+ *
+ * @see away3d.library.Asset3DLibrary.removeAsset()
+
+
+
+
+
+
+
+ { autoRemoveEmptyNamespace : true }
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a yet unloaded resource file from the given url.
+
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Retrieves an unloaded resource parsed from the given data.
+ * @param data The data to be parsed.
+ * @param id The id that will be assigned to the resource. This can later also be used by the getResource method.
+ * @param ignoreDependencies Indicates whether or not dependencies should be ignored or loaded.
+ * @param parser An optional parser object that will translate the data into a usable resource.
+ * @return A handle to the retrieved resource.
+
+
+
+
+
+
+
+ * Called when a dependency was retrieved.
+
+
+
+
+
+
+ * Called when a an error occurs during dependency retrieving.
+
+
+
+
+
+
+ * Called when a an error occurs during parsing.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Called when the resource and all of its dependencies was retrieved.
+
+
+
+
+
+
+
+
+
+
+ * Called when unespected error occurs
+
+
+
+
+
+
+
+ Asset3DLibraryBundle object.]]>
+
+ getInstance() method.]]>
+
+
+
+
+
+ "entity"
+
+
+
+ "skybox"
+
+
+
+ "camera"
+
+
+
+ "segmentSet"
+
+
+
+ "mesh"
+
+
+
+ "geometry"
+
+
+
+ "skeleton"
+
+
+
+ "skeletonPose"
+
+
+
+ "container"
+
+
+
+ "texture"
+
+
+
+ "textureProjector"
+
+
+
+ "material"
+
+
+
+ "animationSet"
+
+
+
+ "animationState"
+
+
+
+ "animationNode"
+
+
+
+ "animator"
+
+
+
+ "stateTransition"
+
+
+
+ "light"
+
+
+
+ "lightPicker"
+
+
+
+ "shadowMapMethod"
+
+
+
+ "effectsMethod"
+
+
+
+
+
+
+
+ <_bitmapData>
+
+
+ * The bitmapData to be treated as a resource.
+
+
+
+
+
+
+
+
+ * Cleans up any resources used by the current object.
+
+
+
+
+
+
+ { bitmapData : null }
+ * Creates a new BitmapDataResource object.
+ * @param bitmapData An optional BitmapData object to use as the resource data.
+
+ * BitmapDataResource is a wrapper for loaded BitmapData, allowing it to be used uniformly as a resource when
+ * loading, parsing, and listing/resolving dependencies.
+
+
+
+
+
+ "favorOld"
+ * Signals that in a conflict, the previous owner of the conflicting name
+ * should be favored (and keep it's name) and that the newly renamed asset
+ * is reverted to a non-conflicting name.
+
+
+
+ "favorNew"
+ * Signales that in a conflict, the newly renamed asset is favored (and keeps
+ * it's newly defined name) and that the previous owner of that name gets
+ * renamed to a non-conflicting name.
+
+ * Enumaration class for precedence when resolving naming conflicts in the library.
+ *
+ * @see away3d.library.Asset3DLibrary.conflictPrecedence
+ * @see away3d.library.Asset3DLibrary.conflictStrategy
+ * @see away3d.library.naming.ConflictStrategy
+
+
+
+
+
+
+
+
+
+
+ * Resolve a naming conflict between two assets. Must be implemented by concrete strategy
+ * classes.
+
+
+
+ * Create instance of this conflict strategy. Used internally by the Asset3DLibrary to
+ * make sure the same strategy instance is not used in all Asset3DLibrary instances, which
+ * would break any state caching that happens inside the strategy class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Provided as a convenience method for all conflict strategy classes, as a way to finalize
+ * the conflict resolution by applying the new names and dispatching the correct events.
+
+
+
+ *
+ *
+ *
+ * @see away3d.library.Asset3DLibrary.conflictStrategy
+ * @see away3d.library.naming.ConflictStrategy
+ * @see away3d.library.naming.IgnoreConflictStrategy
+ * @see away3d.library.naming.ErrorConflictStrategy
+ * @see away3d.library.naming.NumSuffixConflictStrategy]]>
+
+
+
+ <_separator>
+ <_next_suffix>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { separator : "." }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new NumSuffixConflictStrategy()
+ * Specifies that in case of a naming conflict, one of the assets will be renamed and
+ * a numeric suffix appended to the base name.
+
+
+
+ new IgnoreConflictStrategy()
+ * Specifies that naming conflicts should be ignored. This is not recommended in most
+ * cases, unless it can be 100% guaranteed that the application does not cause naming
+ * conflicts in the library (i.e. when an app-level system is in place to prevent this.)
+
+
+
+ new ErrorConflictStrategy()
+ * Specifies that an error should be thrown if a naming conflict is discovered. Use this
+ * to be 100% sure that naming conflicts never occur unnoticed, and when it's undesirable
+ * to have the library automatically rename assets to avoid such conflicts.
+
+ Asset3DLibrary.conflictPrecedence property defines which
+ * of the conflicting assets will get to keep it's name, and which is renamed (if any.)
+ *
+ * @see away3d.library.Asset3DLibrary.conflictStrategy
+ * @see away3d.library.naming.ConflictStrategyBase]]>
+
+
+
+
+
+ <_assets>
+ <_filtered>
+ <_idx>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70]
+ away3d
+
+ * @private
+ * Char codes for 0123456789ABCDEF
+
+
+
+ The UID has the form
+ * "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
+ * where X is a hexadecimal digit (0-9, A-F).
+ *
+ *
This UID will not be truly globally unique; but it is the best
+ * we can do without player support for UID generation.
+ *
+ * @return The newly-generated UID.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3]]>
+
+
+
+
+
+
+ away3d
+ * Returns the decimal representation of a hex digit.
+ * @private
+
+
+
+
+
+
+
+
+
+
+
+
+ <_color expr="0xffffff">
+
+ 0xffffff
+
+ <_colorR expr="1">
+
+ 1
+
+ <_colorG expr="1">
+
+ 1
+
+ <_colorB expr="1">
+
+ 1
+
+ <_ambientColor expr="0xffffff">
+
+ 0xffffff
+
+ <_ambient expr="0">
+
+ 0
+
+ <_ambientR expr="0">
+
+
+ 0
+ away3d
+
+
+ <_ambientG expr="0">
+
+
+ 0
+ away3d
+
+
+ <_ambientB expr="0">
+
+
+ 0
+ away3d
+
+
+ <_specular expr="1">
+
+ 1
+
+ <_specularR expr="1">
+
+
+ 1
+ away3d
+
+
+ <_specularG expr="1">
+
+
+ 1
+ away3d
+
+
+ <_specularB expr="1">
+
+
+ 1
+ away3d
+
+
+ <_diffuse expr="1">
+
+ 1
+
+ <_diffuseR expr="1">
+
+
+ 1
+ away3d
+
+
+ <_diffuseG expr="1">
+
+
+ 1
+ away3d
+
+
+ <_diffuseB expr="1">
+
+
+ 1
+ away3d
+
+
+ <_castsShadows public="1">
+ <_shadowMapper public="1">
+
+
+
+
+
+
+
+
+ 1.]]>
+
+
+
+
+
+
+
+ 1.]]>
+
+
+
+
+
+
+
+ 0xffffff.]]>
+
+
+
+
+
+
+
+ 0.]]>
+
+
+
+
+
+
+
+ 0xffffff.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { target : null }
+ away3d
+
+ * Gets the optimal projection matrix to render a light-based depth map for a single object.
+ *
+ * @param renderable The IRenderable object to render to a depth map.
+ * @param target An optional target Matrix3D object. If not provided, an instance will be created.
+ * @return A Matrix3D object containing the projection transformation.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Updates the total specular components of the light.
+
+
+
+ * Updates the total diffuse components of the light.
+
+
+
+
+
+
+
+
+ * Create a new LightBase object.
+ * @param positionBased Indicates whether or not the light has a valid position, or is "infinite" such as a DirectionalLight.
+
+ * LightBase provides an abstract base class for subtypes representing lights.
+
+
+
+
+
+
+ <_direction>
+ <_tmpLookAt>
+ <_sceneDirection>
+ <_projAABBPoints>
+
+
+
+ * The direction of the light in scene coordinates.
+
+
+
+ * The direction of the light.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { target : null }
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { zDir : 1, yDir : -1, xDir : 0 }
+ * Creates a new DirectionalLight object.
+ * @param xDir The x-component of the light's directional vector.
+ * @param yDir The y-component of the light's directional vector.
+ * @param zDir The z-component of the light's directional vector.
+
+ * DirectionalLight represents an idealized light "at infinity", to be used for distant light sources such as the sun.
+ * In any position in the scene, the light raytracing will always be parallel.
+ * Although the position of the light does not impact its effect, it can be used along with lookAt to intuitively
+ * create day cycles by orbiting the position around a center point and using lookAt at that position.
+
+
+
+
+
+
+ <_diffuseMap>
+ <_specularMap>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { target : null }
+ * @inheritDoc
+
+
+
+
+
+
+
+ { specularMap : null }
+ * Creates a new LightProbe object.
+
+
+
+
+
+
+
+ <_radius public="1" expr="90000">
+
+ 90000
+
+ <_fallOff public="1" expr="100000">
+
+ 100000
+
+ <_fallOffFactor public="1">
+
+
+
+
+ * The minimum distance of the light's reach.
+
+
+
+
+
+
+
+ away3d
+
+
+
+ * The maximum distance of the light's reach
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { target : null }
+ * @inheritDoc
+
+
+
+ * Creates a new PointLight object.
+
+ * PointLight represents an omni-directional light. The light is emitted from a given position in the scene.
+
+
+
+
+
+
+
+ <_casterCollector>
+ <_depthMap>
+ <_depthMapSize expr="2048">
+
+ 2048
+
+ <_light>
+ <_explicitDepthMap>
+ <_autoUpdateShadows expr="true">
+
+ true
+
+ <_shadowsInvalid>
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * This is used by renderers that can support depth maps to be shared across instances
+ * @param depthMap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * Renders the depth map for this light.
+ * @param entityCollector The EntityCollector that contains the original scene data.
+ * @param renderer The DepthRenderer to render the depth map.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+ <_overallDepthCamera>
+ <_localFrustum>
+ <_lightOffset expr="10000">
+
+ 10000
+
+ <_matrix>
+ <_overallDepthLens>
+ <_snap expr="64">
+
+ 64
+
+ <_cullPlanes>
+ <_minZ>
+ <_maxZ>
+
+
+
+
+
+
+
+
+
+
+
+
+ * Depth projection matrix that projects from scene space to depth map.
+
+
+
+ * Depth projection matrix that projects from scene space to depth map.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+ <_scissorRects>
+ <_scissorRectsInvalid expr="true">
+
+ true
+
+ <_splitRatios>
+ <_numCascades>
+ <_depthCameras>
+ <_depthLenses>
+ <_texOffsetsX>
+ <_texOffsetsY>
+ <_changeDispatcher>
+ <_nearPlaneDistances>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useWeakReference : false, priority : 0, useCapture : false }
+
+
+
+
+
+
+
+
+
+
+
+ { useCapture : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { numCascades : 3 }
+
+
+
+
+
+ <_depthCameras>
+ <_lenses>
+ <_needsRender>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_coverageRatio>
+
+
+ * A value between 0 and 1 to indicate the ratio of the view frustum that needs to be covered by the shadow map.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { coverageRatio : .5 }
+
+
+
+
+
+
+
+
+
+
+ * Enables a specific parser.
+ * When no specific parser is set for a loading/parsing opperation,
+ * loader3d can autoselect the correct parser to use.
+ * A parser must have been enabled, to be considered when autoselecting the parser.
+ *
+ * @param parserClass The parser class to enable.
+ *
+ * @see away3d.loaders.parsers.Parsers
+
+
+
+
+
+
+ * Enables a list of parsers.
+ * When no specific parser is set for a loading/parsing opperation,
+ * AssetLoader can autoselect the correct parser to use.
+ * A parser must have been enabled, to be considered when autoselecting the parser.
+ *
+ * @param parserClasses A Vector of parser classes to enable.
+ * @see away3d.loaders.parsers.Parsers
+
+ <_context>
+ <_token>
+ <_uri>
+ <_errorHandlers>
+
+
+
+ <_parseErrorHandlers>
+
+
+
+ <_stack>
+ <_baseDependency>
+ <_loadingDependency>
+ <_namespace>
+
+
+ * Returns the base dependency of the loader
+
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a file and (optionally) all of its dependencies.
+ *
+ * @param req The URLRequest object containing the URL of the file to be loaded.
+ * @param context An optional context object providing additional parameters for loading
+ * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
+ * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a resource from already loaded data.
+ *
+ * @param data The data object containing all resource information.
+ * @param context An optional context object providing additional parameters for loading
+ * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
+ * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+
+
+
+ { parser : null }
+ * Recursively retrieves the next to-be-loaded and parsed dependency on the stack, or pops the list off the
+ * stack when complete and continues on the top set.
+ * @param parser The parser that will translate the data into a usable resource.
+
+
+
+
+
+
+
+ { parser : null }
+ * Retrieves a single dependency.
+ * @param parser The parser that will translate the data into a usable resource.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Called when a single dependency loading failed, and pushes further dependencies onto the stack.
+ * @param event
+
+
+
+
+
+
+ ParserEvent.PARSE_ERROR
+ * @param event]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Called when a single dependency was parsed, and pushes further dependencies onto the stack.
+ * @param event
+
+
+
+
+
+
+ * Called when an image is too large or it's dimensions are not a power of 2
+ * @param event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * @private
+ * This method is used by other loader classes (e.g. Loader3D and Asset3DLibraryBundle) to
+ * add error event listeners to the AssetLoader instance. This system is used instead of
+ * the regular EventDispatcher system so that the Asset3DLibrary error handler can be sure
+ * that if hasEventListener() returns true, it's client code that's listening for the
+ * event. Secondly, functions added as error handler through this custom method are
+ * expected to return a boolean value indicating whether the event was handled (i.e.
+ * whether they in turn had any client code listening for the event.) If no handlers
+ * return true, the AssetLoader knows that the event wasn't handled and will throw an RTE.
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ * Create a new ResourceLoadSession object.
+
+ * AssetLoader can load any file format that Away3D supports (or for which a third-party parser
+ * has been plugged in) and it's dependencies. Events are dispatched when assets are encountered
+ * and for when the resource (or it's dependencies) have been loaded.
+ *
+ * The AssetLoader will not make assets available in any other way than through the dispatched
+ * events. To store assets and make them available at any point from any module in an application,
+ * use the Asset3DLibrary to load and manage assets.
+ *
+ * @see away3d.loading.Loader3D
+ * @see away3d.loading.Asset3DLibrary
+
+
+
+
+
+
+
+
+
+ * Enables a specific parser.
+ * When no specific parser is set for a loading/parsing opperation,
+ * loader3d can autoselect the correct parser to use.
+ * A parser must have been enabled, to be considered when autoselecting the parser.
+ *
+ * @param parserClass The parser class to enable.
+ * @see away3d.loaders.parsers.Parsers
+
+
+
+
+
+
+ * Enables a list of parsers.
+ * When no specific parser is set for a loading/parsing opperation,
+ * loader3d can autoselect the correct parser to use.
+ * A parser must have been enabled, to be considered when autoselecting the parser.
+ *
+ * @param parserClasses A Vector of parser classes to enable.
+ * @see away3d.loaders.parsers.Parsers
+
+ <_loadingSessions>
+ <_useAssetLib>
+ <_assetLibId>
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a file and (optionally) all of its dependencies.
+ *
+ * @param req The URLRequest object containing the URL of the file to be loaded.
+ * @param context An optional context object providing additional parameters for loading
+ * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
+ * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+
+
+
+
+
+
+ { parser : null, ns : null, context : null }
+ * Loads a resource from already loaded data.
+ *
+ * @param data The data object containing all resource information.
+ * @param context An optional context object providing additional parameters for loading
+ * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
+ * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+ * Stop the current loading/parsing process.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { asset3DLibraryId : null, useAsset3DLibrary : true }
+
+ * Loader3D can load any file format that Away3D supports (or for which a third-party parser
+ * has been plugged in) and be added directly to the scene. As assets are encountered
+ * they are added to the Loader3D container. Assets that can not be displayed in the scene
+ * graph (e.g. unused bitmaps/materials/skeletons etc) will be ignored.
+ *
+ * This provides a fast and easy way to load models (no need for event listeners) but is not
+ * very versatile since many types of assets are ignored.
+ *
+ * Loader3D by default uses the Asset3DLibrary to load all assets, which means that they also
+ * ends up in the library. To circumvent this, Loader3D can be configured to not use the
+ * Asset3DLibrary in which case it will use the AssetLoader directly.
+ *
+ * @see away3d.loaders.AssetLoader
+ * @see away3d.library.Asset3DLibrary
+
+
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 2
+
+ <_includeDependencies>
+ <_dependencyBaseUrl>
+ <_embeddedDataByUrl>
+
+
+
+ <_remappedUrls>
+
+
+
+ <_materialMode>
+ <_overrideAbsPath>
+ <_overrideFullUrls>
+
+
+ * Defines whether dependencies (all files except the one at the URL given to the load() or
+ * parseData() operations) should be automatically loaded. Defaults to true.
+
+
+
+
+
+
+
+
+ * MaterialMode defines, if the Parser should create SinglePass or MultiPass Materials
+ * Options:
+ * 0 (Default / undefined) - All Parsers will create SinglePassMaterials, but the AWD2.1parser will create Materials as they are defined in the file
+ * 1 (Force SinglePass) - All Parsers create SinglePassMaterials
+ * 2 (Force MultiPass) - All Parsers will create MultiPassMaterials
+ *
+
+
+
+
+
+
+
+
+ * A base URL that will be prepended to all relative dependency URLs found in a loaded resource.
+ * Absolute paths will not be affected by the value of this property.
+
+
+
+
+
+
+
+
+ * Defines whether absolute paths (defined as paths that begin with a "/") should be overridden
+ * with the dependencyBaseUrl defined in this context. If this is true, and the base path is
+ * "base", /path/to/asset.jpg will be resolved as base/path/to/asset.jpg.
+
+
+
+
+
+
+
+
+ * Defines whether "full" URLs (defined as a URL that includes a scheme, e.g. http://) should be
+ * overridden with the dependencyBaseUrl defined in this context. If this is true, and the base
+ * path is "base", http://example.com/path/to/asset.jpg will be resolved as base/path/to/asset.jpg.
+
+
+
+
+
+
+
+
+
+
+
+
+ * Map a URL to another URL, so that files that are referred to by the original URL will instead
+ * be loaded from the new URL. Use this when your file structure does not match the one that is
+ * expected by the loaded file.
+ *
+ * @param originalUrl The original URL which is referenced in the loaded resource.
+ * @param newUrl The URL from which Away3D should load the resource instead.
+ *
+ * @see mapUrlToData()
+
+
+
+
+
+
+
+ * Map a URL to embedded data, so that instead of trying to load a dependency from the URL at
+ * which it's referenced, the dependency data will be retrieved straight from the memory instead.
+ *
+ * @param originalUrl The original URL which is referenced in the loaded resource.
+ * @param data The embedded data. Can be ByteArray or a class which can be used to create a bytearray.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Defines whether embedded data has been mapped to a particular URL.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Returns embedded data for a particular URL.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Defines whether a replacement URL has been mapped to a particular URL.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Returns new (replacement) URL for a particular original URL.
+
+
+
+
+
+
+
+ { dependencyBaseUrl : null, includeDependencies : true }
+ * AssetLoaderContext provides configuration for the AssetLoader load() and parse() operations.
+ * Use it to configure how (and if) dependencies are loaded, or to map dependency URLs to
+ * embedded data.
+ *
+ * @see away3d.loading.AssetLoader
+
+
+
+
+
+ <_loader>
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useWeakReference : false, priority : 0, useCapture : false }
+
+
+
+
+
+
+
+
+
+
+
+ { useCapture : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Dispatched when any asset finishes parsing. Also see specific events for each
+ * individual asset type (meshes, materials et c.)
+ *
+ * @eventType away3d.events.Asset3DEvent
+
+
+
+ <_id>
+ <_req>
+ <_assets>
+ <_parentParser>
+ <_data>
+ <_retrieveAsRawData>
+ <_suppressAsset3DEvents>
+ <_dependencies>
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The data containing the dependency to be parsed, if the resource was already loaded.
+
+
+
+
+
+
+
+ away3d
+ * @private
+ * Method to set data after having already created the dependency object, e.g. after load.
+
+
+
+ * The parser which is dependent on this ResourceDependency object.
+
+
+
+
+ * Resolve the dependency when it's loaded with the parent parser. For example, a dependency containing an
+ * ImageResource would be assigned to a Mesh instance as a BitmapMaterial, a scene graph object would be added
+ * to its intended parent. The dependency should be a member of the dependencies property.
+
+
+
+ * Resolve a dependency failure. For example, map loading failure from a 3d file
+
+
+
+
+
+
+ * Resolve the dependencies name
+
+
+
+
+
+
+
+
+
+
+
+ { suppressAsset3DEvents : false, retrieveAsRawData : false }
+
+ * ResourceDependency represents the data required to load, parse and resolve additional files ("dependencies")
+ * required by a parser, used by ResourceLoadSession.
+ *
+
+
+
+
+
+
+ true
+ proceedParsing to indicate no more parsing is needed.]]>
+
+
+
+ false
+ proceedParsing to indicate more parsing is needed, allowing asynchronous parsing.]]>
+
+ <_fileName>
+
+ away3d
+
+ <_dataFormat>
+ <_data>
+ <_frameLimit>
+ <_lastFrameTime>
+
+
+ <_dependencies>
+ <_parsingPaused>
+ <_parsingComplete>
+ <_parsingFailure>
+ <_timer>
+ <_materialMode>
+
+
+
+
+
+ * Validates a bitmapData loaded before assigning to a default BitmapMaterial
+
+
+
+
+
+
+
+
+
+ * parsingPaused will be true, if the parser is paused
+ * (e.g. it is waiting for dependencys to be loadet and parsed before it will continue)
+
+
+
+
+
+
+ * MaterialMode defines, if the Parser should create SinglePass or MultiPass Materials
+ * Options:
+ * 0 (Default / undefined) - All Parsers will create SinglePassMaterials, but the AWD2.1parser will create Materials as they are defined in the file
+ * 1 (Force SinglePass) - All Parsers create SinglePassMaterials
+ * 2 (Force MultiPass) - All Parsers will create MultiPassMaterials
+ *
+
+
+
+
+
+
+
+
+ ParserDataFormat.BINARY or ParserDataFormat.PLAIN_TEXT.]]>
+
+
+
+
+
+
+
+
+ { frameLimit : 30 }
+ * Parse data (possibly containing bytearry, plain text or BitmapAsset) asynchronously, meaning that
+ * the parser will periodically stop parsing so that the AVM may proceed to the
+ * next frame.
+ *
+ * @param data The untyped data object in which the loaded data resides.
+ * @param frameLimit number of milliseconds of parsing allowed per frame. The
+ * actual time spent on a frame can exceed this number since time-checks can
+ * only be performed between logical sections of the parsing procedure.
+
+
+
+ * A list of dependencies that need to be loaded and resolved for the object being parsed.
+
+
+
+
+
+
+
+ away3d
+ * Resolve a dependency when it's loaded. For example, a dependency containing an ImageResource would be assigned
+ * to a Mesh instance as a BitmapMaterial, a scene graph object would be added to its intended parent. The
+ * dependency should be a member of the dependencies property.
+ *
+ * @param resourceDependency The dependency to be resolved.
+
+
+
+
+
+
+ away3d
+ * Resolve a dependency loading failure. Used by parser to eventually provide a default map
+ *
+ * @param resourceDependency The dependency to be resolved.
+
+
+
+
+
+
+
+ away3d
+ * Resolve a dependency name
+ *
+ * @param resourceDependency The dependency to be resolved.
+
+
+
+ away3d
+ * After Dependencys has been loaded and parsed, continue to parse
+
+
+
+
+
+
+
+
+ { name : null }
+ away3d
+
+ Asset3DEvent.ASSET_COMPLETE and another Asset3DEvent, that depents on the type of asset.
+ *
+ * @param asset The asset to finalize
+ * @param name The name of the asset. The name will be applied to the asset]]>
+
+
+
+ ParserBase.PARSING_DONE or
+ * ParserBase.MORE_TO_PARSE.]]>
+
+
+
+
+
+
+ { message : "Unknown parsing error" }
+ ParserEvent.PARSE_ERROR
+ *
+ * @param message The message to apply to the ParserEvent.PARSE_ERROR]]>
+
+
+
+
+
+
+
+
+
+
+ { suppressErrorEvents : false, data : null, retrieveAsRawData : false }
+
+
+
+ ParserEvent.READY_FOR_DEPENDENCIES]]>
+
+
+
+ * Tests whether or not there is still time left for parsing within the maximum allowed time frame per session.
+ * @return True if there is still time left, false if the maximum allotted time was exceeded and parsing should be interrupted.
+
+
+
+
+
+
+ { event : null }
+ * Called when the parsing pause interval has passed and parsing can proceed.
+
+
+
+
+
+
+ * Initializes the parsing of data.
+ * @param frameLimit The maximum duration of a parsing session.
+
+
+
+ * Finish parsing the data.
+
+
+
+
+
+
+ ParserDataFormat.BINARY or ParserDataFormat.PLAIN_TEXT, and should be provided by the concrete subtype.
+ *
+ * @see away3d.loading.parsers.ParserDataFormat]]>
+
+ ParserBase provides an abstract base class for objects that convert blocks of data to data structures
+ * supported by Away3D.
+ *
+ * If used by AssetLoader to automatically determine the parser type, two public static methods should
+ * be implemented, with the following signatures:
+ *
+ * public static function supportsType(extension : String) : Bool
+ * Indicates whether or not a given file extension is supported by the parser.
+ *
+ * public static function supportsData(data : *) : Bool
+ * Tests whether a data block can be parsed by the parser.
+ *
+ * Furthermore, for any concrete subtype, the method initHandle should be overridden to immediately
+ * create the object that will contain the parsed data. This allows ResourceManager to return an object
+ * handle regardless of whether the object was loaded or not.
+ *
+ * @see away3d.loading.parsers.AssetLoader
+ * @see away3d.loading.ResourceManager]]>
+
+
+
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_byteData>
+ <_startedParsing>
+ <_doneParsing>
+ <_loader>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Called when "loading" is complete.
+
+
+
+ * Creates a new ImageParser object.
+ * @param uri The url or id of the data or file to be parsed.
+ * @param extra The holder for extra contextual data that the parser might need.
+
+ * ImageParser provides a "parser" for natively supported image types (jpg, png). While it simply loads bytes into
+ * a loader object, it wraps it in a BitmapDataResource so resource management can happen consistently without
+ * exception cases.
+
+
+
+
+ <_parsers expr="Vector.ofArray(cast [ImageParser])" line="41" static="1">
+
+ Vector.ofArray(cast [ImageParser])
+
+
+
+
+
+
+
+
+
+ <_parser>
+ <_req>
+ <_fileExtension>
+ <_fileName>
+ <_loadAsRawData>
+ <_materialMode>
+ <_data>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { loadAsRawData : false, parser : null }
+ * Load a resource from a file.
+ *
+ * @param urlRequest The URLRequest object containing the URL of the object to be loaded.
+ * @param parser An optional parser object that will translate the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+
+
+
+
+
+ { req : null, parser : null }
+ * Loads a resource from already loaded data.
+ * @param data The data to be parsed. Depending on the parser type, this can be a ByteArray, String or XML.
+ * @param uri The identifier (url or id) of the object to be loaded, mainly used for resource management.
+ * @param parser An optional parser object that will translate the data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.
+
+
+
+ * A reference to the parser that will translate the loaded data into a usable resource.
+
+
+
+
+ * A list of dependencies that need to be loaded and resolved for the loaded object.
+
+
+
+
+
+
+
+ * Splits a url string into base and extension.
+ * @param url The url to be decomposed.
+
+
+
+ * Guesses the parser to be used based on the file extension.
+ * @return An instance of the guessed parser.
+
+
+
+
+
+
+ * Guesses the parser to be used based on the file contents.
+ * @param data The data to be parsed.
+ * @param uri The url or id of the object to be parsed.
+ * @return An instance of the guessed parser.
+
+
+
+
+
+
+ * Cleanups
+
+
+
+
+
+
+ * Called when loading of a file has failed
+
+
+
+
+
+
+ * Called when loading of a file is complete
+
+
+
+
+
+
+ * Initiates parsing of the loaded data.
+ * @param data The data to be parsed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Called when parsing is complete.
+
+
+
+
+
+
+ { materialMode : 0 }
+ * Creates a new SingleFileLoader object.
+
+ * The SingleFileLoader is used to load a single file, as part of a resource.
+ *
+ * While SingleFileLoader can be used directly, e.g. to create a third-party asset
+ * management system, it's recommended to use any of the classes Loader3D, AssetLoader
+ * and Asset3DLibrary instead in most cases.
+ *
+ * @see away3d.loading.Loader3D
+ * @see away3d.loading.AssetLoader
+ * @see away3d.loading.Asset3DLibrary
+
+
+
+
+
+
+ 65535
+
+
+
+ String.fromCharCode(10)
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_textData>
+ <_startedParsing>
+ <_activeContainer>
+ <_meshList>
+ <_trunk>
+ <_containersList expr="[]">
+
+ []
+
+ <_tmpcontainerpos expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_tmpos expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_kidsCount expr="0">
+
+ 0
+
+ <_activeMesh>
+ <_vertices>
+ <_uvs>
+ <_parsesV>
+ <_isQuad>
+ <_quadCount>
+ <_lastType expr="""">
+
+ ""
+
+ <_charIndex>
+ <_oldIndex>
+ <_stringLen>
+ <_materialList>
+ <_groupCount>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new AC3DParser object.
+
+ * AC3DParser provides a parser for the AC3D data type.
+ *
+ * unsupported tags: "numsurf","crease","texrep","refs lines of","url","data" and "numvert lines of":
+
+
+
+
+
+
+ 65535
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_textData>
+ <_startedParsing>
+ <_objs>
+ <_geos>
+ <_oList>
+ <_aC>
+ <_dline>
+ <_container>
+ <_meshList>
+ <_inited>
+ <_uvs>
+ <_charIndex>
+ <_oldIndex>
+ <_stringLength>
+ <_state expr="""">
+
+ ""
+
+ <_buffer expr="0">
+
+ 0
+
+ <_isMesh>
+ <_isMaterial>
+ <_id>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new AWD1Parser object.
+ * @param uri The url or id of the data or file to be parsed.
+ * @param extra The holder for extra contextual data that the parser might need.
+
+ * AWD1Parser provides a parser for the AWD data type. The version 1.0 in ascii. Usually generated by Prefab3D 1.x and Away3D engine exporters.
+
+
+
+
+
+
+ "lzma"
+
+
+
+ 0
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 3
+
+
+
+ 4
+
+
+
+ 5
+
+
+
+ 6
+
+
+
+ 7
+
+
+
+ 8
+
+
+
+ 21
+
+
+
+ 22
+
+
+
+ 23
+
+
+
+ 31
+
+
+
+ 32
+
+
+
+ 41
+
+
+
+ 42
+
+
+
+ 43
+
+
+
+ 44
+
+
+
+ 45
+
+
+
+ 46
+
+
+
+ 47
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_debug expr="false">
+
+ false
+
+ <_byteData>
+ <_cur_block_id>
+ <_blocks>
+ <_newBlockBytes>
+ <_version>
+ <_compression>
+ <_accuracyOnBlocks>
+ <_accuracyMatrix>
+ <_accuracyGeo>
+ <_accuracyProps>
+ <_matrixNrType>
+ <_geoNrType>
+ <_propsNrType>
+ <_streaming>
+ <_texture_users>
+
+
+
+ <_body>
+ <_defaultTexture>
+ <_defaultCubeTexture>
+ <_defaultBitmapMaterial>
+ <_cubeTextures>
+
+ <_depthSizeDic>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Resolve a dependency name
+ *
+ * @param resourceDependency The dependency to be resolved.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { poseOnly : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { extraTypeInfo : "SingleTexture" }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { precision : false }
+
+
+
+
+ * Creates a new AWDParser object.
+ * @param uri The url or id of the data or file to be parsed.
+ * @param extra The holder for extra contextual data that the parser might need.
+
+ * AWDParser provides a parser for the AWD data type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 4
+
+
+
+ 8
+
+
+
+ 16
+
+
+
+ 32
+
+
+
+ 64
+
+
+
+ 128
+
+
+
+ 256
+
+
+
+ 512
+
+
+
+ 1024
+
+
+
+ 2048
+
+
+
+ 4096
+
+
+
+ 8192
+
+
+
+ 16384
+
+
+
+ 32768
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_parser>
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @private
+ * Delegate to the concrete parser.
+
+
+
+
+
+
+ * @private
+ * Delegate to the concrete parser.
+
+
+
+
+
+
+
+ * @private
+ * Delagate to the concrete parser.
+
+
+
+
+ * Find the right conrete parser (AWD1Parser or AWD2Parser) and delegate actual
+ * parsing to it.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Just bubble events from concrete parser.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Just bubble events from concrete parser.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Just bubble events from concrete parser.
+
+
+
+
+
+
+ away3d
+ * @private
+ * Just bubble events from concrete parser.
+
+
+ * The AWDParser class is a wrapper for both AWD1Parser and AWD2Parser, and will
+ * find the right concrete parser for an AWD file.
+
+
+
+
+
+
+ 1
+
+
+
+ CONFIG_USE_GPU
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 4
+
+
+
+ 8
+
+
+
+ PARSE_GEOMETRIES | PARSE_IMAGES | PARSE_MATERIALS | PARSE_VISUAL_SCENES
+
+ <_numInstances expr="0" line="87" static="1">
+
+ 0
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_doc>
+ <_fastDoc>
+ <_parseState expr="DAEParserState.LOAD_XML">
+
+ DAEParserState.LOAD_XML
+
+ <_imageList>
+ <_imageCount>
+ <_currentImage>
+ <_dependencyCount expr="0">
+
+ 0
+
+ <_configFlags>
+ <_parseFlags>
+ <_libImages>
+
+
+
+ <_libMaterials>
+
+
+
+ <_libEffects>
+
+
+
+ <_libGeometries>
+
+
+
+ <_libControllers>
+
+
+
+ <_libAnimations>
+
+
+
+ <_scene>
+ <_root>
+ <_geometries>
+ <_animationInfo>
+ <_rootNodes>
+ <_defaultBitmapMaterial expr="DefaultMaterialManager.getDefaultMaterial()">
+
+ DefaultMaterialManager.getDefaultMaterial()
+
+ <_defaultColorMaterial expr="new ColorMaterial(0xff0000)">
+
+ new ColorMaterial(0xff0000)
+
+ <_defaultColorMaterialMulti expr="new ColorMultiPassMaterial(0xff0000)">
+
+ new ColorMultiPassMaterial(0xff0000)
+
+
+
+
+
+
+
+ { clone : false }
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { map : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { tab : "", parent : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { tab : "", parent : -1 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { autoDeriveVertexTangents : true, autoDeriveVertexNormals : true, reverseTriangles : true }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { configFlags : 0 }
+ * @param configFlags Bitfield to configure the parser.
+ * @see DAEParser.CONFIG_USE_GPU etc.
+
+ * DAEParser provides a parser for the DAE data type.
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { name : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { defaultValue : 0 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ 0
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ { numDecimals : 2 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_inputs>
+ <_p>
+ <_vcount>
+ <_texcoordSets>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+ ""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_root>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { parent : null, element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { node : null }
+
+
+
+
+
+
+
+ { node : null }
+
+
+
+
+
+
+
+ { parent : null }
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+ <_inputs>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { valid : false, dt : 0.0, time : 0.0, frame : 0 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { element : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 65535
+
+
+
+ 17872
+
+
+
+ String.fromCharCode(10)
+
+
+
+ "3DFACE"
+
+
+
+ "LINE"
+
+
+
+ "VERTEX"
+
+
+
+ "POLYLINE"
+
+ <_colorTable expr="Vector.ofArray([0x000000, 0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFFFFFF, 0x414141, 0x808080, 0xFF0000, 0xFFAAAA, 0xBD0000, 0xBD7E7E, 0x810000, 0x815656, 0x680000, 0x684545, 0x4F0000, 0x4F3535, 0xFF3F00, 0xFFBFAA, 0xBD2E00, 0xBD8D7E, 0x811F00, 0x816056, 0x681900, 0x684E45, 0x4F1300, 0x4F3B35, 0xFF7F00, 0xFFD4AA, 0xBD5E00, 0xBD9D7E, 0x814000, 0x816B56, 0x683400, 0x685645, 0x4F2700, 0x4F4235, 0xFFBF00, 0xFFEAAA, 0xBD8D00, 0xBDAD7E, 0x816000, 0x817656, 0x684E00, 0x685F45, 0x4F3B00, 0x4F4935, 0xFFFF00, 0xFFFFAA, 0xBDBD00, 0xBDBD7E, 0x818100, 0x818156, 0x686800, 0x686845, 0x4F4F00, 0x4F4F35, 0xBFFF00, 0xEAFFAA, 0x8DBD00, 0xADBD7E, 0x608100, 0x768156, 0x4E6800, 0x5F6845, 0x3B4F00, 0x494F35, 0x7FFF00, 0xD4FFAA, 0x5EBD00, 0x9DBD7E, 0x408100, 0x6B8156, 0x346800, 0x566845, 0x274F00, 0x424F35, 0x3FFF00, 0xBFFFAA, 0x2EBD00, 0x8DBD7E, 0x1F8100, 0x608156, 0x196800, 0x4E6845, 0x134F00, 0x3B4F35, 0x00FF00, 0xAAFFAA, 0x00BD00, 0x7EBD7E, 0x008100, 0x568156, 0x006800, 0x456845, 0x004F00, 0x354F35, 0x00FF3F, 0xAAFFBF, 0x00BD2E, 0x7EBD8D, 0x00811F, 0x568160, 0x006819, 0x45684E, 0x004F13, 0x354F3B, 0x00FF7F, 0xAAFFD4, 0x00BD5E, 0x7EBD9D, 0x008140, 0x56816B, 0x006834, 0x456856, 0x004F27, 0x354F42, 0x00FFBF, 0xAAFFEA, 0x00BD8D, 0x7EBDAD, 0x008160, 0x568176, 0x00684E, 0x45685F, 0x004F3B, 0x354F49, 0x00FFFF, 0xAAFFFF, 0x00BDBD, 0x7EBDBD, 0x008181, 0x568181, 0x006868, 0x456868, 0x004F4F, 0x354F4F, 0x00BFFF, 0xAAEAFF, 0x008DBD, 0x7EADBD, 0x006081, 0x567681, 0x04E68, 0x455F68, 0x003B4F, 0x35494F, 0x007FFF, 0xAAD4FF, 0x005EBD, 0x7E9DBD, 0x004081, 0x566B81, 0x003468, 0x455668, 0x00274F, 0x35424F, 0x003FFF, 0xAABFFF, 0x002EBD, 0x7E8DBD, 0x001F81, 0x566081, 0x001968, 0x454E68, 0x00134F, 0x353B4F, 0x0000FF, 0xAAAAFF, 0x0000BD, 0x7E7EBD, 0x000081, 0x565681, 0x000068, 0x454568, 0x00004F, 0x35354F, 0x3F00FF, 0xBFAAFF, 0x2E00BD, 0x8D7EBD, 0x1F0081, 0x605681, 0x190068, 0x4E4568, 0x13004F, 0x3B354F, 0x7F00FF, 0xD4AAFF, 0x5E00BD, 0x9D7EBD, 0x400081, 0x6B5681, 0x340068, 0x564568, 0x27004F, 0x42354F, 0xBF00FF, 0xEEAAFF, 0x8D00BD, 0xAD7EBD, 0x600081, 0x765681, 0x4E0068, 0x5F4568, 0x3B004F, 0x49354F, 0xFF00FF, 0xFFAAFF, 0xBD00BD, 0xBD7EBD, 0x810081, 0x815681, 0x680068, 0x684568, 0x4F004F, 0x4F354F, 0xFF00BF, 0xFFAAEA, 0xBD008D, 0xBD7EAD, 0x810060, 0x815676, 0x68004E, 0x68455F, 0x4F003B, 0x4F3549, 0xFF007F, 0xFFAAD4, 0xBD005E, 0xBD7E9D, 0x810040, 0x81566B, 0x680034, 0x684556, 0x4F0027, 0x4F3542, 0xFF003F, 0xFFAABF, 0xBD002E, 0xBD7E8D, 0x81001F, 0x815660, 0x680019, 0x68454E, 0x4F0013, 0x4F353B, 0x333333, 0x505050, 0x696969, 0x828282, 0xBEBEBE, 0xFFFFFF])" line="65" static="1">
+
+ Vector.ofArray([0x000000, 0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFFFFFF, 0x414141, 0x808080, 0xFF0000, 0xFFAAAA, 0xBD0000, 0xBD7E7E, 0x810000, 0x815656, 0x680000, 0x684545, 0x4F0000, 0x4F3535, 0xFF3F00, 0xFFBFAA, 0xBD2E00, 0xBD8D7E, 0x811F00, 0x816056, 0x681900, 0x684E45, 0x4F1300, 0x4F3B35, 0xFF7F00, 0xFFD4AA, 0xBD5E00, 0xBD9D7E, 0x814000, 0x816B56, 0x683400, 0x685645, 0x4F2700, 0x4F4235, 0xFFBF00, 0xFFEAAA, 0xBD8D00, 0xBDAD7E, 0x816000, 0x817656, 0x684E00, 0x685F45, 0x4F3B00, 0x4F4935, 0xFFFF00, 0xFFFFAA, 0xBDBD00, 0xBDBD7E, 0x818100, 0x818156, 0x686800, 0x686845, 0x4F4F00, 0x4F4F35, 0xBFFF00, 0xEAFFAA, 0x8DBD00, 0xADBD7E, 0x608100, 0x768156, 0x4E6800, 0x5F6845, 0x3B4F00, 0x494F35, 0x7FFF00, 0xD4FFAA, 0x5EBD00, 0x9DBD7E, 0x408100, 0x6B8156, 0x346800, 0x566845, 0x274F00, 0x424F35, 0x3FFF00, 0xBFFFAA, 0x2EBD00, 0x8DBD7E, 0x1F8100, 0x608156, 0x196800, 0x4E6845, 0x134F00, 0x3B4F35, 0x00FF00, 0xAAFFAA, 0x00BD00, 0x7EBD7E, 0x008100, 0x568156, 0x006800, 0x456845, 0x004F00, 0x354F35, 0x00FF3F, 0xAAFFBF, 0x00BD2E, 0x7EBD8D, 0x00811F, 0x568160, 0x006819, 0x45684E, 0x004F13, 0x354F3B, 0x00FF7F, 0xAAFFD4, 0x00BD5E, 0x7EBD9D, 0x008140, 0x56816B, 0x006834, 0x456856, 0x004F27, 0x354F42, 0x00FFBF, 0xAAFFEA, 0x00BD8D, 0x7EBDAD, 0x008160, 0x568176, 0x00684E, 0x45685F, 0x004F3B, 0x354F49, 0x00FFFF, 0xAAFFFF, 0x00BDBD, 0x7EBDBD, 0x008181, 0x568181, 0x006868, 0x456868, 0x004F4F, 0x354F4F, 0x00BFFF, 0xAAEAFF, 0x008DBD, 0x7EADBD, 0x006081, 0x567681, 0x04E68, 0x455F68, 0x003B4F, 0x35494F, 0x007FFF, 0xAAD4FF, 0x005EBD, 0x7E9DBD, 0x004081, 0x566B81, 0x003468, 0x455668, 0x00274F, 0x35424F, 0x003FFF, 0xAABFFF, 0x002EBD, 0x7E8DBD, 0x001F81, 0x566081, 0x001968, 0x454E68, 0x00134F, 0x353B4F, 0x0000FF, 0xAAAAFF, 0x0000BD, 0x7E7EBD, 0x000081, 0x565681, 0x000068, 0x454568, 0x00004F, 0x35354F, 0x3F00FF, 0xBFAAFF, 0x2E00BD, 0x8D7EBD, 0x1F0081, 0x605681, 0x190068, 0x4E4568, 0x13004F, 0x3B354F, 0x7F00FF, 0xD4AAFF, 0x5E00BD, 0x9D7EBD, 0x400081, 0x6B5681, 0x340068, 0x564568, 0x27004F, 0x42354F, 0xBF00FF, 0xEEAAFF, 0x8D00BD, 0xAD7EBD, 0x600081, 0x765681, 0x4E0068, 0x5F4568, 0x3B004F, 0x49354F, 0xFF00FF, 0xFFAAFF, 0xBD00BD, 0xBD7EBD, 0x810081, 0x815681, 0x680068, 0x684568, 0x4F004F, 0x4F354F, 0xFF00BF, 0xFFAAEA, 0xBD008D, 0xBD7EAD, 0x810060, 0x815676, 0x68004E, 0x68455F, 0x4F003B, 0x4F3549, 0xFF007F, 0xFFAAD4, 0xBD005E, 0xBD7E9D, 0x810040, 0x81566B, 0x680034, 0x684556, 0x4F0027, 0x4F3542, 0xFF003F, 0xFFAABF, 0xBD002E, 0xBD7E8D, 0x81001F, 0x815660, 0x680019, 0x68454E, 0x4F0013, 0x4F353B, 0x333333, 0x505050, 0x696969, 0x828282, 0xBEBEBE, 0xFFFFFF])
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_textData>
+ <_startedParsing>
+ <_trim expr="~/^[ ]/">
+
+ ~/^[ ]/
+
+ <_v0>
+ <_v1>
+ <_v2>
+ <_v3>
+ <_meshesDic>
+
+
+
+ <_vertices>
+ <_uvs>
+ <_indices>
+ <_subGeometry>
+ <_polyLines>
+ <_polyLinesIndices>
+ <_oldIndex>
+ <_stringLen>
+ <_meshName>
+ <_itemColor>
+ <_lastMeshName expr="""">
+
+ ""
+
+ <_activeMesh>
+ <_blockType>
+ <_segmentSet>
+ <_segCount>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new DXFParser object.
+ * @param uri The url or id of the data or file to be parsed.
+ * @param extra The holder for extra contextual data that the parser might need.
+
+ * DXFParser provides a parser for the dxf 3D renderable data.
+ * supported blocks type: FACEDATA, LINE. Color from dxf color table is set where index is encountered
+ * POLYLINE(64 polyface mesh) and VERTEX.
+
+
+
+
+
+
+ 6
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_clipNodes expr="new Map<String,VertexClipNode>()">
+
+
+
+
+ ()]]>
+
+ <_byteData>
+ <_startedParsing>
+ <_parsedHeader>
+ <_parsedUV>
+ <_parsedFaces>
+ <_parsedFrames>
+ <_ident>
+ <_version>
+ <_skinWidth>
+ <_skinHeight>
+ <_numSkins>
+ <_numVertices>
+ <_numST>
+ <_numTris>
+ <_numFrames>
+ <_offsetSkins>
+ <_offsetST>
+ <_offsetTris>
+ <_offsetFrames>
+ <_offsetEnd>
+ <_uvIndices>
+ <_indices>
+ <_vertIndices>
+ <_indexMap expr="new Map<Int,Map<Int,Int>>()">
+
+
+
+
+
+
+
+ >()]]>
+
+ <_animationSet expr="new VertexAnimationSet()">
+
+ new VertexAnimationSet()
+
+ <_firstSubGeom>
+ <_uvs>
+ <_finalUV>
+ <_materialNames>
+ <_textureType>
+ <_ignoreTexturePath>
+ <_mesh>
+ <_geometry>
+
+
+ false
+
+
+
+ false
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Reads in all that MD2 Header data that is declared as private variables.
+ * I know its a lot, and it looks ugly, but only way to do it in Flash
+
+
+
+ * Parses the file names for the materials.
+
+
+
+ * Parses the uv data for the mesh.
+
+
+
+ * Parses unique indices for the faces.
+
+
+
+
+
+
+
+ * Adds a face index to the list if it doesn't exist yet, based on vertexIndex and uvIndex, and adds the
+ * corresponding vertex and uv data in the correct location.
+ * @param vertexIndex The original index in the vertex list.
+ * @param uvIndex The original index in the uv list.
+
+
+
+
+
+
+
+ * Finds the final index corresponding to the original MD2's vertex and uv indices. Returns -1 if it wasn't added yet.
+ * @param vertexIndex The original index in the vertex list.
+ * @param uvIndex The original index in the uv list.
+ * @return The index of the final mesh corresponding to the original vertex and uv index. -1 if it doesn't exist yet.
+
+
+
+ * Parses all the frame geometries.
+
+
+
+
+
+
+
+
+
+ { ignoreTexturePath : true, textureType : "jpg" }
+ * Creates a new MD2Parser object.
+ * @param textureType The extension of the texture (e.g. jpg/png/...)
+ * @param ignoreTexturePath If true, the path of the texture is ignored
+
+ * MD2Parser provides a parser for the MD2 data type.
+
+
+
+
+
+
+ "MD5Version"
+
+
+
+ "commandline"
+
+
+
+ "numFrames"
+
+
+
+ "numJoints"
+
+
+
+ "frameRate"
+
+
+
+ "numAnimatedComponents"
+
+
+
+ "hierarchy"
+
+
+
+ "bounds"
+
+
+
+ "baseframe"
+
+
+
+ "frame"
+
+
+
+ "//"
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_textData>
+ <_startedParsing>
+ <_parseIndex expr="0">
+
+ 0
+
+ <_reachedEOF>
+ <_line expr="0">
+
+ 0
+
+ <_charLineIndex expr="0">
+
+ 0
+
+ <_version expr="0">
+
+ 0
+
+ <_frameRate expr="0">
+
+ 0
+
+ <_numFrames expr="0">
+
+ 0
+
+ <_numJoints expr="0">
+
+ 0
+
+ <_numAnimatedComponents expr="0">
+
+ 0
+
+ <_hierarchy>
+ <_bounds>
+ <_frameData>
+ <_baseFrameData>
+ <_rotationQuat>
+ <_clip>
+
+
+ * @inheritDoc
+
+
+
+ * Converts all key frame data to an SkinnedAnimationSequence.
+
+
+
+
+
+
+ * Converts a single key frame data to a SkeletonPose.
+ * @param frameData The actual frame data.
+ * @return A SkeletonPose containing the frame data's pose.
+
+
+
+ * Parses the skeleton's hierarchy data.
+
+
+
+ * Parses frame bounds.
+
+
+
+ * Parses the base frame.
+
+
+
+ * Parses a single frame.
+
+
+
+ * Puts back the last read character into the data stream.
+
+
+
+ * Gets the next token in the data stream.
+
+
+
+ * Skips all whitespace in the data stream.
+
+
+
+ * Skips to the next line.
+
+
+
+ * Retrieves the next single character in the data stream.
+
+
+
+ * Retrieves the next integer in the data stream.
+
+
+
+ * Retrieves the next floating point number in the data stream.
+
+
+
+ * Retrieves the next 3d vector in the data stream.
+
+
+
+ * Retrieves the next quaternion in the data stream.
+
+
+
+ * Parses the command line data.
+
+
+
+ * Retrieves the next literal string in the data stream. A literal string is a sequence of characters bounded
+ * by double quotes.
+
+
+
+ * Throws an end-of-file error when a premature end of file was encountered.
+
+
+
+
+
+
+ * Throws an error when an unexpected token was encountered.
+ * @param expected The token type that was actually expected.
+
+
+
+ * Throws an error when an unknown keyword was encountered.
+
+
+
+
+
+
+
+ { additionalRotationRadians : 0, additionalRotationAxis : null }
+ * Creates a new MD5AnimParser object.
+ * @param uri The url or id of the data or file to be parsed.
+ * @param extra The holder for extra contextual data that the parser might need.
+
+ * MD5AnimParser provides a parser for the md5anim data type, providing an animation sequence for the md5 format.
+ *
+ * todo: optimize
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "MD5Version"
+
+
+
+ "commandline"
+
+
+
+ "numJoints"
+
+
+
+ "numMeshes"
+
+
+
+ "//"
+
+
+
+ "joints"
+
+
+
+ "mesh"
+
+
+
+ "shader"
+
+
+
+ "numverts"
+
+
+
+ "vert"
+
+
+
+ "numtris"
+
+
+
+ "tri"
+
+
+
+ "numweights"
+
+
+
+ "weight"
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_textData>
+ <_startedParsing>
+ <_parseIndex expr="0">
+
+ 0
+
+ <_reachedEOF>
+ <_line expr="0">
+
+ 0
+
+ <_charLineIndex expr="0">
+
+ 0
+
+ <_version expr="0">
+
+ 0
+
+ <_numJoints expr="0">
+
+ 0
+
+ <_numMeshes expr="0">
+
+ 0
+
+ <_mesh>
+ <_shaders>
+ <_maxJointCount expr="0">
+
+ 0
+
+ <_meshData>
+ <_bindPoses>
+ <_geometry>
+ <_skeleton>
+ <_animationSet>
+ <_rotationQuat>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Parses the skeleton's joints.
+
+
+
+ * Puts back the last read character into the data stream.
+
+
+
+ * Parses the mesh geometry.
+
+
+
+
+
+
+
+
+ * Converts the mesh data to a SkinnedSub instance.
+ * @param vertexData The mesh's vertices.
+ * @param weights The joint weights per vertex.
+ * @param indices The indices for the faces.
+ * @return A SkinnedSubGeometry instance containing all geometrical data for the current mesh.
+
+
+
+
+
+
+ * Retrieve the next triplet of vertex indices that form a face.
+ * @param indices The index list in which to store the read data.
+
+
+
+
+
+
+ * Reads a new joint data set for a single joint.
+ * @param weights the target list to contain the weight data.
+
+
+
+
+
+
+ * Reads the data for a single vertex.
+ * @param vertexData The list to contain the vertex data.
+
+
+
+
+
+
+ * Reads the next uv coordinate.
+ * @param vertexData The vertexData to contain the UV coordinates.
+
+
+
+ * Gets the next token in the data stream.
+
+
+
+ * Skips all whitespace in the data stream.
+
+
+
+ * Skips to the next line.
+
+
+
+ * Retrieves the next single character in the data stream.
+
+
+
+ * Retrieves the next integer in the data stream.
+
+
+
+ * Retrieves the next floating point number in the data stream.
+
+
+
+ * Retrieves the next 3d vector in the data stream.
+
+
+
+ * Retrieves the next quaternion in the data stream.
+
+
+
+ * Parses the command line data.
+
+
+
+ * Retrieves the next literal string in the data stream. A literal string is a sequence of characters bounded
+ * by double quotes.
+
+
+
+ * Throws an end-of-file error when a premature end of file was encountered.
+
+
+
+
+
+
+ * Throws an error when an unexpected token was encountered.
+ * @param expected The token type that was actually expected.
+
+
+
+ * Throws an error when an unknown keyword was encountered.
+
+
+
+
+
+
+
+ { additionalRotationRadians : 0, additionalRotationAxis : null }
+ * Creates a new MD5MeshParser object.
+
+ * MD5MeshParser provides a parser for the md5mesh data type, providing the geometry of the md5 format.
+ *
+ * todo: optimize
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_byteData>
+ <_textures>
+
+
+
+ <_materials>
+
+
+
+ <_unfinalized_objects>
+
+
+
+ <_cur_obj_end>
+ <_cur_obj>
+ <_cur_mat_end>
+ <_cur_mat>
+ <_useSmoothingGroups>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { pivot : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useSmoothingGroups : false }
+ Max3DSParser object.
+ *
+ * @param useSmoothingGroups Determines whether the parser looks for smoothing groups in the 3ds file or assumes uniform smoothing. Defaults to true.]]>
+
+ * Max3DSParser provides a parser for the 3ds data type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Indicates whether or not a given file extension is supported by the parser.
+ * @param extension The file extension of a potential file to be parsed.
+ * @return Whether or not the given file type is supported.
+
+
+
+
+
+
+ * Tests whether a data block can be parsed by the parser.
+ * @param data The data block to potentially be parsed.
+ * @return Whether or not the given data is supported.
+
+ <_textData>
+ <_startedParsing>
+ <_charIndex>
+ <_oldIndex>
+ <_stringLength>
+ <_currentObject>
+ <_currentGroup>
+ <_currentMaterialGroup>
+ <_objects>
+ <_materialIDs>
+ <_materialLoaded>
+ <_materialSpecularData>
+ <_meshes>
+ <_lastMtlID>
+ <_objectIndex>
+ <_realIndices>
+
+
+
+ <_vertexIndex>
+ <_vertices>
+ <_vertexNormals>
+ <_uvs>
+ <_scale>
+ <_mtlLib>
+ <_mtlLibLoaded expr="true">
+
+ true
+
+ <_activeMaterialID expr="""">
+
+ ""
+
+
+
+ * Scaling factor applied directly to vertices data
+ * @param value The scaling factor.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Parses a single line in the OBJ file.
+
+
+
+ * Converts the parsed data into an Away3D scenegraph structure
+
+
+
+
+
+
+
+ * Translates an obj's material group to a subgeometry.
+ * @param materialGroup The material group data to convert.
+ * @param geometry The Geometry to contain the converted SubGeometry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new object group.
+ * @param trunk The data block containing the object tag and its parameters
+
+
+
+
+
+
+ * Creates a new group.
+ * @param trunk The data block containing the group tag and its parameters
+
+
+
+
+
+
+ * Creates a new material group.
+ * @param trunk The data block containing the material tag and its parameters
+
+
+
+
+
+
+ * Reads the next vertex coordinates.
+ * @param trunk The data block containing the vertex tag and its parameters
+
+
+
+
+
+
+ * Reads the next uv coordinates.
+ * @param trunk The data block containing the uv tag and its parameters
+
+
+
+
+
+
+ * Reads the next vertex normal coordinates.
+ * @param trunk The data block containing the vertex normal tag and its parameters
+
+
+
+
+
+
+ * Reads the next face's indices.
+ * @param trunk The data block containing the face tag and its parameters
+
+
+
+
+
+
+
+ * This is a hack around negative face coords
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scale : 1 }
+ * Creates a new OBJParser object.
+ * @param uri The url or id of the data or file to be parsed.
+ * @param extra The holder for extra contextual data that the parser might need.
+
+ * OBJParser provides a parser for the OBJ data type.
+
+
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+ 0xFFFFFF
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ 0xFFFFFF
+
+
+
+ 1
+
+
+
+
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+ "binary"
+ * Describes the format of a binary file.
+
+
+
+ "plainText"
+ * Describes the format of a plain text file.
+
+ * An enumeration providing values to describe the data format of parsed data.
+
+
+
+
+ [AC3DParser, AWD1Parser, AWD2Parser, AWDParser, Max3DSParser, DXFParser, MD2Parser, MD5AnimParser, MD5MeshParser, OBJParser, DAEParser, Max3DSParser]
+ Asset3DLibrary.enableParsers(Parsers.ALL_BUNDLED);
+ *
+ * Beware however that this requires all parser classes to be included in the
+ * SWF file, which will add 50-100 kb to the file. When only a limited set of
+ * file formats are used, SWF file size can be saved by adding the parsers
+ * individually using Asset3DLibrary.enableParser()
+ *
+ * A third way is to specify a parser for each loaded file, thereby bypassing
+ * the auto-detection mechanisms altogether, while at the same time allowing
+ * any properties that are unique to that parser to be set for that load.
+ *
+ * The bundled parsers are:
+ *
+ *
+ *
AC3D (.ac)
+ *
Away Data version 1 ASCII and version 2 binary (.awd). AWD1 BSP unsupported
+ *
3DMax (.3ds)
+ *
DXF (.dxf)
+ *
Quake 2 MD2 models (.md2)
+ *
Doom 3 MD5 animation clips (.md5anim)
+ *
Doom 3 MD5 meshes (.md5mesh)
+ *
Wavefront OBJ (.obj)
+ *
Collada (.dae)
+ *
Images (.jpg, .png)
+ *
+ *
+ * @see away3d.loading.Asset3DLibrary.enableParser]]>
+
+
+
+ * Short-hand function to enable all bundled parsers for auto-detection. In practice,
+ * this is the same as invoking enableParsers(Parsers.ALL_BUNDLED) on any of the
+ * loader classes SingleFileLoader, AssetLoader, Asset3DLibrary or Loader3D.
+ *
+ * See notes about file size in the documentation for the ALL_BUNDLED constant.
+ *
+ * @see away3d.loaders.parsers.Parsers.ALL_BUNDLED
+
+
+
+
+
+
+
+
+ * Returns a object as ByteArray, if possible.
+ *
+ * @param data The object to return as ByteArray
+ *
+ * @return The ByteArray or null
+ *
+
+
+
+
+
+
+
+ { length : 0 }
+ * Returns a object as String, if possible.
+ *
+ * @param data The object to return as String
+ * @param length The length of the returned String
+ *
+ * @return The String or null
+ *
+
+
+
+
+
+
+
+
+ 0
+ * A counter used to assign unique ids per material, which is used to sort per material while rendering.
+ * This reduces state changes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ * An object to contain any extra data.
+
+ <_classification>
+
+ away3d
+ * A value that can be used by materials that only work with a given type of renderer. The renderer can test the
+ * classification to choose which render path to use. For example, a deferred material could set this value so
+ * that the deferred renderer knows not to take the forward rendering path.
+ *
+ * @private
+
+ <_uniqueId>
+
+ away3d
+ * An id for this material used to sort the renderables by material, which reduces render state changes across
+ * materials using the same Program3D.
+ *
+ * @private
+
+ <_renderOrderId>
+
+ away3d
+ * An id for this material used to sort the renderables by shader program, which reduces Program3D state changes.
+ *
+ * @private
+
+ <_depthPassId>
+
+ away3d
+ * The same as _renderOrderId, but applied to the depth shader passes.
+ *
+ * @private
+
+ <_bothSides>
+ <_animationSet>
+ <_owners>
+
+ * A list of material owners, renderables or custom Entities.
+
+ <_alphaPremultiplied>
+ <_blendMode expr="BlendMode.NORMAL">
+
+ BlendMode.NORMAL
+
+ <_numPasses expr="0">
+
+ 0
+
+ <_passes>
+ <_mipmap expr="true">
+
+ true
+
+ <_smooth expr="true">
+
+ true
+
+ <_repeat>
+ <_anisotropy expr="Anisotropy.ANISOTROPIC2X">
+
+ Anisotropy.ANISOTROPIC2X
+
+ <_depthPass>
+ <_distancePass>
+ <_lightPicker>
+ <_distanceBasedDepthRender>
+ <_depthCompareMode expr="Context3DCompareMode.LESS_EQUAL">
+
+ Context3DCompareMode.LESS_EQUAL
+
+
+
+ * @inheritDoc
+
+
+
+ * The light picker used by the material to provide lights to the material if it supports lighting.
+ *
+ * @see away3d.materials.lightpickers.LightPickerBase
+ * @see away3d.materials.lightpickers.StaticLightPicker
+
+
+
+
+
+
+
+ * Indicates whether or not any used textures should use mipmapping. Defaults to true.
+
+
+
+
+
+
+
+ * Indicates whether or not any used textures should use smoothing.
+
+
+
+
+
+
+
+ * The depth compare mode used to render the renderables using this material.
+ *
+ * @see openfl.display3D.Context3DCompareMode
+
+
+
+
+
+
+
+ * Indicates whether or not any used textures should be tiled. If set to false, texture samples are clamped to
+ * the texture's borders when the uv coordinates are outside the [0, 1] interval.
+
+
+
+
+
+
+
+ * Indicates the number of Anisotropic filtering samples to take for mipmapping
+
+
+
+
+
+
+
+ * Cleans up resources owned by the material, including passes. Textures are not owned by the material since they
+ * could be used by other materials and will not be disposed.
+
+
+
+ * Defines whether or not the material should cull triangles facing away from the camera.
+
+
+
+
+
+
+
+
+ *
BlendMode.NORMAL: No blending, unless the material inherently needs it
+ *
BlendMode.LAYER: Force blending. This will draw the object the same as NORMAL, but without writing depth writes.
+ *
BlendMode.MULTIPLY
+ *
BlendMode.ADD
+ *
BlendMode.ALPHA
+ * ]]>
+
+
+
+
+
+
+
+ * Indicates whether visible textures (or other pixels) used by this material have
+ * already been premultiplied. Toggle this if you are seeing black halos around your
+ * blended alpha edges.
+
+
+
+
+
+
+
+ * Indicates whether or not the material requires alpha blending during rendering.
+
+
+
+ * An id for this material used to sort the renderables by material, which reduces render state changes across
+ * materials using the same Program3D.
+
+
+
+ * The amount of passes used by the material.
+ *
+ * @private
+
+
+
+ away3d
+ * Indicates that the depth pass uses transparency testing to discard pixels.
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+ { distanceBased : false }
+ away3d
+
+ * Sets the render state for the depth pass that is independent of the rendered object. Used when rendering
+ * depth or distances (fe: shadow maps, depth pre-pass).
+ *
+ * @param stage3DProxy The Stage3DProxy used for rendering.
+ * @param camera The camera from which the scene is viewed.
+ * @param distanceBased Whether or not the depth pass or distance pass should be activated. The distance pass
+ * is required for shadow cube maps.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Clears the render state for the depth pass.
+ *
+ * @param stage3DProxy The Stage3DProxy used for rendering.
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+ away3d
+ * Renders a renderable using the depth pass.
+ *
+ * @param renderable The IRenderable instance that needs to be rendered.
+ * @param stage3DProxy The Stage3DProxy used for rendering.
+ * @param camera The camera from which the scene is viewed.
+ * @param viewProjection The view-projection matrix used to project to the screen. This is not the same as
+ * camera.viewProjection as it includes the scaling factors when rendering to textures.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Indicates whether or not the pass with the given index renders to texture or not.
+ * @param index The index of the pass.
+ * @return True if the pass renders to texture, false otherwise.
+ *
+ * @private
+
+
+
+
+
+
+
+
+ away3d
+ * Sets the render state for a pass that is independent of the rendered object. This needs to be called before
+ * calling renderPass. Before activating a pass, the previously used pass needs to be deactivated.
+ * @param index The index of the pass to activate.
+ * @param stage3DProxy The Stage3DProxy object which is currently used for rendering.
+ * @param camera The camera from which the scene is viewed.
+ * @private
+
+
+
+
+
+
+
+ away3d
+ * Clears the render state for a pass. This needs to be called before activating another pass.
+ * @param index The index of the pass to deactivate.
+ * @param stage3DProxy The Stage3DProxy used for rendering
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * Renders the current pass. Before calling renderPass, activatePass needs to be called with the same index.
+ * @param index The index of the pass used to render the renderable.
+ * @param renderable The IRenderable object to draw.
+ * @param stage3DProxy The Stage3DProxy object used for rendering.
+ * @param entityCollector The EntityCollector object that contains the visible scene data.
+ * @param viewProjection The view-projection matrix used to project to the screen. This is not the same as
+ * camera.viewProjection as it includes the scaling factors when rendering to textures.
+
+
+
+
+
+
+ away3d
+ * Mark an IMaterialOwner as owner of this material.
+ * Assures we're not using the same material across renderables with different animations, since the
+ * Program3Ds depend on animation. This method needs to be called when a material is assigned.
+ *
+ * @param owner The IMaterialOwner that had this material assigned
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Removes an IMaterialOwner as owner.
+ * @param owner
+ * @private
+
+
+
+ away3d
+ * A list of the IMaterialOwners that use this material
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Performs any processing that needs to occur before any of its passes are used.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Deactivates the last pass of the material.
+ *
+ * @private
+
+
+
+
+
+
+ away3d
+ * Marks the shader programs for all passes as invalid, so they will be recompiled before the next use.
+ * @param triggerPass The pass triggering the invalidation, if any. This is passed to prevent invalidating the
+ * triggering pass, which would result in an infinite loop.
+ *
+ * @private
+
+
+
+
+
+
+ * Removes a pass from the material.
+ * @param pass The pass to be removed.
+
+
+
+ * Removes all passes from the material
+
+
+
+
+
+
+ * Adds a pass to the material
+ * @param pass
+
+
+
+
+
+
+ * Listener for when a pass's shader code changes. It recalculates the render order id.
+
+
+
+
+
+
+ * Listener for when the distance pass's shader code changes. It recalculates the depth pass id.
+
+
+
+
+
+
+ * Listener for when the depth pass's shader code changes. It recalculates the depth pass id.
+
+
+
+ * Creates a new MaterialBase object.
+
+ * MaterialBase forms an abstract base class for any material.
+ * A material consists of several passes, each of which constitutes at least one render call. Several passes could
+ * be used for special effects (render lighting for many lights in several passes, render an outline in a separate
+ * pass) or to provide additional render-to-texture passes (rendering diffuse light to texture for texture-space
+ * subsurface scattering, or rendering a depth map for specialized self-shadowing).
+ *
+ * Away3D provides default materials trough SinglePassMaterialBase and MultiPassMaterialBase, which use modular
+ * methods to build the shader code. MaterialBase can be extended to build specific and high-performant custom
+ * shaders, or entire new material frameworks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_screenPass>
+ <_alphaBlending>
+
+
+ * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
+ * compatibility for constrained mode.
+
+
+
+
+
+
+
+ * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
+ * invisible or entirely opaque, often used with textures for foliage, etc.
+ * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { distanceBased : false }
+ * @inheritDoc
+
+
+
+ * Define which light source types to use for specular reflections. This allows choosing between regular lights
+ * and/or light probes for specular reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+ * Define which light source types to use for diffuse reflections. This allows choosing between regular lights
+ * and/or light probes for diffuse reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The ColorTransform object to transform the colour of the material with. Defaults to null.
+
+
+
+
+
+
+
+ * The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod.
+
+
+
+
+
+
+
+ * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null.
+
+
+
+
+
+
+
+ * The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod.
+
+
+
+
+
+
+
+ * The method used to generate the per-pixel normals. Defaults to BasicNormalMethod.
+
+
+
+
+
+
+
+ * The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod.
+
+
+
+
+
+
+
+
+
+
+ * Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting
+ * but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the
+ * methods added prior.
+
+
+
+ * The number of "effect" methods added to the material.
+
+
+
+
+
+
+ * Queries whether a given effect method was added to the material.
+ *
+ * @param method The method to be queried.
+ * @return true if the method was added to the material, false otherwise.
+
+
+
+
+
+
+ * Returns the method added at the given index.
+ * @param index The index of the method to retrieve.
+ * @return The method at the given index.
+
+
+
+
+
+
+
+ * Adds an effect method at the specified index amongst the methods already added to the material. Effect
+ * methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines,
+ * etc. The method will be applied to the result of the methods with a lower index.
+
+
+
+
+
+
+ * Removes an effect method from the material.
+ * @param method The method to be removed.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The normal map to modulate the direction of the surface for each texel. The default normal method expects
+ * tangent-space normal maps, but others could expect object-space maps.
+
+
+
+
+
+
+
+ * A specular map that defines the strength of specular reflections for each texel in the red channel,
+ * and the gloss factor in the green channel. You can use SpecularBitmapTexture if you want to easily set
+ * specular and gloss maps from grayscale images, but correctly authored images are preferred.
+
+
+
+
+
+
+
+ * The glossiness of the material (sharpness of the specular highlight).
+
+
+
+
+
+
+
+ * The strength of the ambient reflection.
+
+
+
+
+
+
+
+ * The overall strength of the specular reflection.
+
+
+
+
+
+
+
+ * The colour of the ambient reflection.
+
+
+
+
+
+
+
+ * The colour of the specular reflection.
+
+
+
+
+
+
+
+ * Indicates whether or not the material has transparency. If binary transparency is sufficient, for
+ * example when using textures of foliage, consider using alphaThreshold instead.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new SinglePassMaterialBase object.
+
+ * SinglePassMaterialBase forms an abstract base class for the default single-pass materials provided by Away3D,
+ * using material methods to define their appearance.
+
+
+
+
+
+
+ <_diffuseAlpha expr="1">
+
+ 1
+
+
+
+ * The alpha of the surface.
+
+
+
+
+
+
+
+ * The diffuse reflectivity color of the surface.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { alpha : 1, color : 0xcccccc }
+ * Creates a new ColorMaterial object.
+ * @param color The material's diffuse surface color.
+ * @param alpha The material's surface alpha.
+
+ * ColorMaterial is a single-pass material that uses a flat color as the surface's diffuse reflection value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_casterLightPass>
+ <_nonCasterLightPasses>
+ <_effectsPass>
+ <_alphaThreshold expr="0">
+
+ 0
+
+ <_specularLightSources expr="0x01">
+
+ 0x01
+
+ <_diffuseLightSources expr="0x03">
+
+ 0x03
+
+ <_ambientMethod expr="new BasicAmbientMethod()">
+
+ new BasicAmbientMethod()
+
+ <_shadowMethod>
+ <_diffuseMethod expr="new BasicDiffuseMethod()">
+
+ new BasicDiffuseMethod()
+
+ <_normalMethod expr="new BasicNormalMethod()">
+
+ new BasicNormalMethod()
+
+ <_specularMethod expr="new BasicSpecularMethod()">
+
+ new BasicSpecularMethod()
+
+ <_screenPassesInvalid expr="true">
+
+ true
+
+ <_enableLightFallOff expr="true">
+
+ true
+
+
+
+ * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
+ * compatibility for constrained mode.
+
+
+
+
+
+
+
+ * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
+ * invisible or entirely opaque, often used with textures for foliage, etc.
+ * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { distanceBased : false }
+ * @inheritDoc
+
+
+
+ * Define which light source types to use for specular reflections. This allows choosing between regular lights
+ * and/or light probes for specular reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+ * Define which light source types to use for diffuse reflections. This allows choosing between regular lights
+ * and/or light probes for diffuse reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod.
+
+
+
+
+
+
+
+ * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null.
+
+
+
+
+
+
+
+ * The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod.
+
+
+
+
+
+
+
+ * The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod.
+
+
+
+
+
+
+
+ * The method used to generate the per-pixel normals. Defaults to BasicNormalMethod.
+
+
+
+
+
+
+
+
+
+
+ * Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting
+ * but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the
+ * methods added prior.
+
+
+
+ * The number of "effect" methods added to the material.
+
+
+
+
+
+
+ * Queries whether a given effect method was added to the material.
+ *
+ * @param method The method to be queried.
+ * @return true if the method was added to the material, false otherwise.
+
+
+
+
+
+
+ * Returns the method added at the given index.
+ * @param index The index of the method to retrieve.
+ * @return The method at the given index.
+
+
+
+
+
+
+
+ * Adds an effect method at the specified index amongst the methods already added to the material. Effect
+ * methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines,
+ * etc. The method will be applied to the result of the methods with a lower index.
+
+
+
+
+
+
+ * Removes an effect method from the material.
+ * @param method The method to be removed.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The normal map to modulate the direction of the surface for each texel. The default normal method expects
+ * tangent-space normal maps, but others could expect object-space maps.
+
+
+
+
+
+
+
+ * A specular map that defines the strength of specular reflections for each texel in the red channel,
+ * and the gloss factor in the green channel. You can use SpecularBitmapTexture if you want to easily set
+ * specular and gloss maps from grayscale images, but correctly authored images are preferred.
+
+
+
+
+
+
+
+ * The glossiness of the material (sharpness of the specular highlight).
+
+
+
+
+
+
+
+ * The strength of the ambient reflection.
+
+
+
+
+
+
+
+ * The overall strength of the specular reflection.
+
+
+
+
+
+
+
+ * The colour of the ambient reflection.
+
+
+
+
+
+
+
+ * The colour of the specular reflection.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Adds a compiled pass that renders to the screen.
+ * @param pass The pass to be added.
+
+
+
+ * Tests if any pass that renders to the screen is invalid. This would trigger a new setup of the multiple passes.
+ * @return
+
+
+
+
+
+
+ * Adds any additional passes on which the given pass is dependent.
+ * @param pass The pass that my need additional passes.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Updates screen passes when they were found to be invalid.
+
+
+
+ * Initializes all the passes and their dependent passes.
+
+
+
+ * Sets up the various blending modes for all screen passes, based on whether or not there are previous passes.
+
+
+
+
+
+
+
+
+
+ * The maximum total number of lights provided by the light picker.
+
+
+
+ * The amount of lights that don't cast shadows.
+
+
+
+ * Flags that the screen passes have become invalid.
+
+
+
+
+
+
+ * Called when the light picker's configuration changed.
+
+
+
+ * Creates a new MultiPassMaterialBase object.
+
+ * MultiPassMaterialBase forms an abstract base class for the default multi-pass materials provided by Away3D,
+ * using material methods to define their appearance.
+
+
+
+
+
+
+
+ * The diffuse reflectivity color of the surface.
+
+
+
+
+
+
+
+
+
+
+ { color : 0xcccccc }
+ * Creates a new ColorMultiPassMaterial object.
+ *
+ * @param color The material's diffuse surface color.
+
+ * ColorMultiPassMaterial is a multi-pass material that uses a flat color as the surface's diffuse reflection value.
+
+
+
+
+
+ 0x01
+ * Defines normal lights are to be used as the source for the lighting
+ * component.
+
+
+
+ 0x02
+ * Defines that global lighting probes are to be used as the source for the
+ * lighting component.
+
+
+
+ 0x03
+ * Defines that both normal and global lighting probes are to be used as the
+ * source for the lighting component. This is equivalent to LIGHTS | PROBES.
+
+ * Enumeration class for defining which lighting types affect the specific material
+ * lighting component (diffuse and specular). This can be useful if, for example, you
+ * want to use light probes for diffuse global lighting, but want specular reflections from
+ * traditional light sources without those affecting the diffuse light.
+ *
+ * @see away3d.materials.ColorMaterial.diffuseLightSources
+ * @see away3d.materials.ColorMaterial.specularLightSources
+ * @see away3d.materials.TextureMaterial.diffuseLightSources
+ * @see away3d.materials.TextureMaterial.specularLightSources
+
+
+
+
+ <_occlude expr="true">
+
+ true
+
+
+
+ * Whether or not an object with this material applied hides other objects.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { alpha : 1, color : 0xcccccc, occlude : true }
+ * Creates a new OcclusionMaterial object.
+ * @param occlude Whether or not to occlude other objects.
+ * @param color The material's diffuse surface color.
+ * @param alpha The material's surface alpha.
+
+ * OcclusionMaterial is a ColorMaterial for an object to prevents drawing anything that is placed behind it.
+
+
+
+ <_screenPass>
+
+
+
+
+
+ { thickness : 1.25 }
+ * Creates a new OrthoSegmentMaterial object.
+ *
+ * @param thickness The thickness of the wireframe lines.
+
+ * OrthoSegmentMaterial is a material exclusively used to render wireframe objects
+ *
+ * @see away3d.entities.Lines
+
+
+
+ <_screenPass>
+
+
+
+
+
+ { thickness : 1.25 }
+ * Creates a new SegmentMaterial object.
+ *
+ * @param thickness The thickness of the wireframe lines.
+
+ * SegmentMaterial is a material exclusively used to render wireframe objects
+ *
+ * @see away3d.entities.Lines
+
+
+
+
+
+ <_cubeMap>
+ <_skyboxPass>
+
+
+ * The cube texture to use as the skybox.
+
+
+
+
+
+
+
+
+
+
+ * Creates a new SkyBoxMaterial object.
+ * @param cubeMap The CubeMap to use as the skybox.
+
+ * SkyBoxMaterial is a material exclusively used to render skyboxes
+ *
+ * @see away3d.primitives.SkyBox
+
+
+
+
+
+
+
+
+
+
+
+ * Specifies whether or not the UV coordinates should be animated using IRenderable's uvTransform matrix.
+ *
+ * @see IRenderable.uvTransform
+
+
+
+
+
+
+
+ * Specifies whether or not the UV coordinates should be animated using IRenderable's uvTransform matrix.
+ *
+ * @see IRenderable.uvTransform
+
+
+
+
+
+
+
+ * The alpha of the surface.
+
+
+
+
+
+
+
+ * The texture object to use for the albedo colour.
+
+
+
+
+
+
+
+ * The texture object to use for the ambient colour.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { anisotropy : ANISOTROPIC2X, mipmap : true, repeat : false, smooth : true, texture : null }
+ * Creates a new TextureMaterial.
+ * @param texture The texture used for the material's albedo color.
+ * @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true.
+ * @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true.
+ * @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true.
+ * @param anisotropy Indicates the number of samples to use if Anisotropic mipmap filtering is applied
+
+ * TextureMaterial is a single-pass material that uses a texture to define the surface's diffuse reflection colour (albedo).
+
+
+
+
+ <_diffuses>
+ <_normals>
+ <_speculars>
+ <_TBDiffuse>
+ <_TBNormal>
+ <_TBSpecular>
+ <_currentMapID>
+
+
+
+
+
+
+ { mapID : 0 }
+
+
+
+
+
+
+
+
+
+
+
+ { mipmap : true, repeat : false, smooth : true, speculars : null, normals : null }
+
+
+ * SpriteSheetMaterial is a material required for a SpriteSheetAnimator if you have an animation spreaded over more maps
+ * and/or have animated normalmaps, specularmaps
+
+
+
+
+
+
+
+ <_animateUVs>
+
+
+ * Specifies whether or not the UV coordinates should be animated using a transformation matrix.
+
+
+
+
+
+
+
+ * The texture object to use for the albedo colour.
+
+
+
+
+
+
+
+ * The texture object to use for the ambient colour.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { anisotropy : ANISOTROPIC2X, mipmap : true, repeat : false, smooth : true, texture : null }
+ * Creates a new TextureMultiPassMaterial.
+ * @param texture The texture used for the material's albedo color.
+ * @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true.
+ * @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true.
+ * @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true.
+ * @param anisotropy Indicates the number of samples to use if Anisotropic mipmap filtering is applied
+
+ * TextureMultiPassMaterial is a multi-pass material that uses a texture to define the surface's diffuse reflection colour (albedo).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_sharedRegisters>
+ <_registerCache>
+ <_dependencyCounter>
+ <_methodSetup>
+ <_smooth>
+ <_repeat>
+ <_mipmap>
+ <_anisotropy>
+ <_enableLightFallOff>
+ <_preserveAlpha expr="true">
+
+ true
+
+ <_animateUVs>
+ <_animateUVs2>
+ <_alphaPremultiplied>
+ <_vertexConstantData>
+ <_fragmentConstantData>
+ <_vertexCode>
+ <_fragmentCode>
+ <_fragmentLightCode>
+ <_fragmentPostLightCode>
+ <_commonsDataIndex expr="-1">
+
+ -1
+
+ <_animatableAttributes>
+ <_animationTargetRegisters>
+ <_lightProbeDiffuseIndices>
+ <_lightProbeSpecularIndices>
+ <_uvBufferIndex expr="-1">
+
+ -1
+
+ <_uvTransformIndex expr="-1">
+
+ -1
+
+ <_uvTransformIndex2 expr="-1">
+
+ -1
+
+ <_secondaryUVBufferIndex expr="-1">
+
+ -1
+
+ <_normalBufferIndex expr="-1">
+
+ -1
+
+ <_tangentBufferIndex expr="-1">
+
+ -1
+
+ <_lightFragmentConstantIndex expr="-1">
+
+ -1
+
+ <_sceneMatrixIndex expr="-1">
+
+ -1
+
+ <_sceneNormalMatrixIndex expr="-1">
+
+ -1
+
+ <_cameraPositionIndex expr="-1">
+
+ -1
+
+ <_probeWeightsIndex expr="-1">
+
+ -1
+
+ <_specularLightSources>
+ <_diffuseLightSources>
+ <_numLights>
+ <_numLightProbes>
+ <_numPointLights>
+ <_numDirectionalLights>
+ <_numProbeRegisters>
+ <_combinedLightSources>
+ <_usingSpecularMethod>
+ <_needUVAnimation>
+ <_UVTarget>
+ <_UVSource>
+ <_profile>
+ <_forceSeperateMVP>
+
+
+ * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
+ * compatibility for constrained mode.
+
+
+
+
+
+
+
+ * Indicates whether the compiled code needs UV animation.
+
+
+
+ * The target register to place the animated UV coordinate.
+
+
+
+ * The souce register providing the UV coordinate to animate.
+
+
+
+ * Indicates whether the screen projection should be calculated by forcing a separate scene matrix and
+ * view-projection matrix. This is used to prevent rounding errors when using multiple passes with different
+ * projection code.
+
+
+
+
+
+
+
+
+
+
+ * Initialized the register cache.
+ * @param profile The compatibility profile of the renderer.
+
+
+
+ * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.
+
+
+
+
+
+
+
+ * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.
+
+
+
+
+
+
+
+ * Indicates whether visible textures (or other pixels) used by this material have
+ * already been premultiplied.
+
+
+
+
+
+
+
+ * Indicates whether the output alpha value should remain unchanged compared to the material's original alpha.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Sets the default texture sampling properties.
+ * @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true.
+ * @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true.
+ * @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true.
+
+
+
+
+
+
+
+ * Sets the constant buffers allocated by the material. This allows setting constant data during compilation.
+ * @param vertexConstantData The vertex constant data buffer.
+ * @param fragmentConstantData The fragment constant data buffer.
+
+
+
+ * The shader method setup object containing the method configuration and their value objects for the material being compiled.
+
+
+
+
+
+
+
+ * Compiles the code after all setup on the compiler has finished.
+
+
+
+ * Creates the registers to contain the normal data.
+
+
+
+ * Compile the code for the methods.
+
+
+
+ * Compile the lighting code.
+
+
+
+ * Calculate the view direction.
+
+
+
+ * Calculate the normal.
+
+
+
+ * Calculate the (possibly animated) UV coordinates.
+
+
+
+ * Provide the secondary UV coordinates.
+
+
+
+ * Compile the world-space position.
+
+
+
+ * Get the projection coordinates.
+
+
+
+ * Assign the final output colour the the output register.
+
+
+
+ * Reset all the indices to "unused".
+
+
+
+ * Prepares the setup for the light code.
+
+
+
+ * Create the commonly shared constant register.
+
+
+
+ * Figure out which named registers are required, and how often.
+
+
+
+
+
+
+
+ * Counts the dependencies for a given method.
+ * @param method The method to count the dependencies for.
+ * @param methodVO The method's data for this material.
+
+
+
+
+
+
+
+ * Assigns all prerequisite data for the methods, so we can calculate dependencies for them.
+
+
+
+ * The index for the common data register.
+
+
+
+ * Assigns the shared register data to all methods.
+
+
+
+ * The amount of vertex constants used by the material. Any animation code to be added can append its vertex
+ * constant data after this.
+
+
+
+ * The amount of fragment constants used by the material. Any animation code to be added can append its vertex
+ * constant data after this.
+
+
+
+ * The amount of vertex attribute streams used by the material. Any animation code to be added can add its
+ * streams after this. Also used to automatically disable attribute slots on pass deactivation.
+
+
+
+ * The amount of textures used by the material. Used to automatically disable texture slots on pass deactivation.
+
+
+
+ * Number of used varyings. Any animation code to be added can add its used varyings after this.
+
+
+
+ * Indicates whether lights are used for specular reflections.
+
+
+
+ * Indicates whether lights are used for diffuse reflections.
+
+
+
+ * Disposes all resources used by the compiler.
+
+
+
+ * Clean up method's compilation data after compilation finished.
+
+
+
+ * Define which light source types to use for specular reflections. This allows choosing between regular lights
+ * and/or light probes for specular reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+ * Define which light source types to use for diffuse reflections. This allows choosing between regular lights
+ * and/or light probes for diffuse reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+ * Indicates whether light probes are being used for specular reflections.
+
+
+
+ * Indicates whether light probes are being used for diffuse reflections.
+
+
+
+ * Indicates whether any light probes are used.
+
+
+
+ * The index for the UV vertex attribute stream.
+
+
+
+ * The index for the UV transformation matrix vertex constant.
+
+
+
+ * The index for the UV transformation matrix vertex constant.
+
+
+
+ * The index for the secondary UV vertex attribute stream.
+
+
+
+ * The index for the vertex normal attribute stream.
+
+
+
+ * The index for the vertex tangent attribute stream.
+
+
+
+ * The first index for the fragment constants containing the light data.
+
+
+
+ * The index of the vertex constant containing the camera position.
+
+
+
+ * The index of the vertex constant containing the scene matrix.
+
+
+
+ * The index of the vertex constant containing the uniform scene matrix (the inverse transpose).
+
+
+
+ * The index of the fragment constant containing the weights for the light probes.
+
+
+
+ * The generated vertex code.
+
+
+
+ * The generated fragment code.
+
+
+
+ * The code containing the lighting calculations.
+
+
+
+ * The code containing the post-lighting calculations.
+
+
+
+ * The register name containing the final shaded colour.
+
+
+
+ * The amount of point lights that need to be supported.
+
+
+
+
+
+
+
+ * The amount of directional lights that need to be supported.
+
+
+
+
+
+
+
+ * The amount of light probes that need to be supported.
+
+
+
+
+
+
+
+ * Indicates whether the specular method is used.
+
+
+
+ * The attributes that need to be animated by animators.
+
+
+
+ * The target registers for animated properties, written to by the animators.
+
+
+
+ * Indicates whether the compiled shader uses normals.
+
+
+
+ * Indicates whether the compiled shader uses lights.
+
+
+
+ * Compiles the code for the methods.
+
+
+
+ * Indices for the light probe diffuse textures.
+
+
+
+ * Indices for the light probe specular textures.
+
+
+
+
+
+
+ * Creates a new ShaderCompiler object.
+ * @param profile The compatibility profile of the renderer.
+
+ * ShaderCompiler is an abstract base class for shader compilers that use modular shader methods to assemble a
+ * material. Concrete subclasses are used by the default materials.
+ *
+ * @see away3d.materials.methods.ShadingMethodBase
+
+
+
+
+
+ <_pointLightFragmentConstants public="1">
+ <_pointLightVertexConstants public="1">
+ <_dirLightFragmentConstants public="1">
+ <_dirLightVertexConstants public="1">
+ <_lightVertexConstantIndex>
+ <_shadowRegister>
+
+
+ * The starting index if the vertex constant to which light data needs to be uploaded.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether or not lighting happens in tangent space. This is only the case if no world-space
+ * dependencies exist.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Generates code to retrieve the tangent space normal from the normal map
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Provides the code to provide shadow mapping.
+
+
+
+ * Initializes constant registers to contain light data.
+
+
+
+ * Compiles the shading code for directional lights.
+
+
+
+ * Compiles the shading code for point lights.
+
+
+
+ * Compiles shading code for light probes.
+
+
+
+
+
+
+ * Create a new LightingShaderCompiler object.
+ * @param profile The compatibility profile of the renderer.
+
+ * LightingShaderCompiler is a ShaderCompiler that generates code for passes performing shading only (no effect passes)
+
+
+
+
+
+
+
+
+
+
+
+ <_projectionDependencies>
+ <_normalDependencies>
+ <_viewDirDependencies>
+ <_uvDependencies>
+ <_secondaryUVDependencies>
+ <_globalPosDependencies>
+ <_tangentDependencies>
+ <_usesGlobalPosFragment expr="false">
+
+ false
+
+ <_numPointLights>
+ <_lightSourceMask>
+
+
+ * Clears dependency counts for all registers. Called when recompiling a pass.
+
+
+
+
+
+
+
+ * Sets the amount of lights that have a position associated with them.
+ * @param numPointLights The amount of point lights.
+ * @param lightSourceMask The light source types used by the material.
+
+
+
+
+
+
+ * Increases dependency counters for the named registers listed as required by the given MethodVO.
+ * @param methodVO the MethodVO object for which to include dependencies.
+
+
+
+ * The amount of tangent vector dependencies (fragment shader).
+
+
+
+ * Indicates whether there are any dependencies on the world-space position vector.
+
+
+
+ * The amount of dependencies on the projected position.
+
+
+
+ * The amount of dependencies on the normal vector.
+
+
+
+ * The amount of dependencies on the view direction.
+
+
+
+ * The amount of dependencies on the primary UV coordinates.
+
+
+
+ * The amount of dependencies on the secondary UV coordinates.
+
+
+
+ * The amount of dependencies on the global position. This can be 0 while hasGlobalPosDependencies is true when
+ * the global position is used as a temporary value (fe to calculate the view direction)
+
+
+
+
+
+
+ * Adds any external world space dependencies, used to force world space calculations.
+
+
+
+ * Creates a new MethodDependencyCounter object.
+
+ * MethodDependencyCounter keeps track of the number of dependencies for "named registers" used across methods.
+ * Named registers are that are not necessarily limited to a single method. They are created by the compiler and
+ * passed on to methods. The compiler uses the results to reserve usages through RegisterPool, which can be removed
+ * each time a method has been compiled into the shader.
+ *
+ * @see RegisterPool.addUsage
+
+
+
+ <_regPool expr="new Map<String,Vector<ShaderRegisterElement>>()" line="16" static="1">
+
+
+
+
+ >()]]>
+
+ <_regCompsPool expr="new Map<String,Array<Dynamic>>()" line="17" static="1">
+
+
+
+
+ >()]]>
+
+ <_initPool set="method" line="158" static="1">
+
+
+
+
+ <_vectorRegisters>
+ <_registerComponents>
+ <_regName>
+ <_usedSingleCount>
+ <_usedVectorCount>
+ <_regCount>
+ <_persistent>
+
+
+ * Retrieve an entire vector register that's still available.
+
+
+
+ * Retrieve a single vector component that's still available.
+
+
+
+
+
+
+
+ * Marks a register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage
+ * has been called usageCount times again.
+ * @param register The register to mark as used.
+ * @param usageCount The amount of usages to add.
+
+
+
+
+
+
+ * Removes a usage from a register. When usages reach 0, the register is freed again.
+ * @param register The register for which to remove a usage.
+
+
+
+ * Disposes any resources used by the current RegisterPool object.
+
+
+
+ * Indicates whether or not any registers are in use.
+
+
+
+
+
+
+
+ * Initializes all registers.
+
+
+
+
+
+
+ * Check if the temp register is either used for single or vector use
+
+
+
+
+
+
+
+
+ { persistent : true }
+ * Creates a new RegisterPool object.
+ * @param regName The base name of the register type ("ft" for fragment temporaries, "vc" for vertex constants, etc)
+ * @param regCount The amount of available registers of this type.
+ * @param persistent Whether or not registers, once reserved, can be freed again. For example, temporaries are not persistent, but constants are.
+
+ * RegisterPool is used by the shader compilation process to keep track of which registers of a certain type are
+ * currently used and should not be allowed to be written to. Either entire registers can be requested and locked,
+ * or single components (x, y, z, w) of a single register.
+ * It is used by ShaderRegisterCache to track usages of individual register types.
+ *
+ * @see away3d.materials.compilation.ShaderRegisterCache
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ShaderRegisterData contains the "named" registers, generated by the compiler and to be passed on to the methods.
+
+
+
+
+
+ ["x", "y", "z", "w"]
+
+
+
+ <_regName>
+ <_index>
+ <_toStr>
+ <_component>
+
+ away3d
+
+
+
+ * Converts the register or the components AGAL string representation.
+
+
+
+ * The register's name.
+
+
+
+ * The register's index.
+
+
+
+
+
+
+
+
+ { component : -1 }
+ * Creates a new ShaderRegisterElement object.
+ * @param regName The name of the register.
+ * @param index The index of the register.
+ * @param component The register's component, if not the entire register is represented.
+
+ * A single register element (an entire register or a single register's component) used by the RegisterPool.
+
+
+
+
+ <_pointLightRegisters public="1">
+ <_dirLightRegisters public="1">
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Compiles the vertex shader code for tangent-space normal maps.
+ * @param matrix The register containing the scene transformation matrix for normals.
+
+
+
+ * Compiles the fragment shader code for tangent-space normal maps.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Initializes the registers containing the lighting data.
+
+
+
+
+
+
+
+
+
+ * Creates a new SuperShaderCompiler object.
+ * @param profile The compatibility profile used by the renderer.
+
+ * SuperShaderCompiler is a compiler that generates shaders that perform both lighting and "effects" through methods.
+ * This is used by the single-pass materials.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_numPointLights>
+ <_numDirectionalLights>
+ <_numCastingPointLights>
+ <_numCastingDirectionalLights>
+ <_numLightProbes>
+ <_allPickedLights>
+ <_pointLights>
+ <_castingPointLights>
+ <_directionalLights>
+ <_castingDirectionalLights>
+ <_lightProbes>
+ <_lightProbeWeights>
+
+
+ * Disposes resources used by the light picker.
+
+
+
+ * @inheritDoc
+
+
+
+ * The maximum amount of directional lights that will be provided.
+
+
+
+ * The maximum amount of point lights that will be provided.
+
+
+
+ * The maximum amount of directional lights that cast shadows.
+
+
+
+ * The amount of point lights that cast shadows.
+
+
+
+ * The maximum amount of light probes that will be provided.
+
+
+
+ * The collected point lights to be used for shading.
+
+
+
+ * The collected directional lights to be used for shading.
+
+
+
+ * The collected point lights that cast shadows to be used for shading.
+
+
+
+ * The collected directional lights that cast shadows to be used for shading.
+
+
+
+ * The collected light probes to be used for shading.
+
+
+
+ * The weights for each light probe, defining their influence on the object.
+
+
+
+ * A collection of all the collected lights.
+
+
+
+
+
+
+
+ * Updates set of lights for a given renderable and EntityCollector. Always call super.collectLights() after custom overridden code.
+
+
+
+
+
+
+ * Updates the weights for the light probes, based on the renderable's position relative to them.
+ * @param renderable The renderble for which to calculate the light probes' influence.
+
+
+
+ * Creates a new LightPickerBase object.
+
+ * LightPickerBase provides an abstract base clase for light picker classes. These classes are responsible for
+ * feeding materials with relevant lights. Usually, StaticLightPicker can be used, but LightPickerBase can be
+ * extended to provide more application-specific dynamic selection of lights.
+ *
+ * @see StaticLightPicker
+
+
+
+
+
+ <_lights>
+
+
+ * The lights used for shading.
+
+
+
+
+
+
+
+ * Remove configuration change listeners on the lights.
+
+
+
+
+
+
+ * Notifies the material of a configuration change.
+
+
+
+
+
+
+ * Called when a directional light's shadow casting configuration changes.
+
+
+
+
+
+
+ * Called when a point light's shadow casting configuration changes.
+
+
+
+
+
+
+ * Creates a new StaticLightPicker object.
+ * @param lights The lights to be used for shading.
+
+ * StaticLightPicker is a light picker that provides a static set of lights. The lights can be reassigned, but
+ * if the configuration changes (number of directional lights, point lights, etc), a material recompilation may
+ * occur.
+
+
+
+
+
+
+ <_sharedRegisters>
+ <_passes>
+
+
+
+
+
+ away3d
+ * Initializes the properties for a MethodVO, including register and texture indices.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+
+
+
+
+
+
+ away3d
+ * Initializes unchanging shader constants using the data from a MethodVO.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+
+
+
+ away3d
+ * The shared registers created by the compiler and possibly used by methods.
+
+
+
+
+
+
+ away3d
+
+
+
+ * Any passes required that render to a texture used by this method.
+
+
+
+ * Cleans up any resources used by the current object.
+
+
+
+ away3d
+ * Creates a data container that contains material-dependent data. Provided as a factory method so a custom subtype can be overridden when needed.
+
+
+
+ away3d
+ * Resets the compilation state of the method.
+
+
+
+ away3d
+ * Resets the method's state for compilation.
+ * @private
+
+
+
+
+
+
+
+ away3d
+ * Get the vertex shader code for this method.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param regCache The register cache used during the compilation.
+ * @private
+
+
+
+
+
+
+
+ away3d
+ * Sets the render state for this method.
+ *
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param stage3DProxy The Stage3DProxy object currently used for rendering.
+ * @private
+
+
+
+
+
+
+
+
+
+ away3d
+ * Sets the render state for a single renderable.
+ *
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param renderable The renderable currently being rendered.
+ * @param stage3DProxy The Stage3DProxy object currently used for rendering.
+ * @param camera The camera from which the scene is currently rendered.
+
+
+
+
+
+
+
+ away3d
+ * Clears the render state for this method.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param stage3DProxy The Stage3DProxy object currently used for rendering.
+
+
+
+
+
+
+
+
+
+
+
+ { forceWrap : null, uvReg : null }
+ * A helper method that generates standard code for sampling from a texture using the normal uv coordinates.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param targetReg The register in which to store the sampled colour.
+ * @param inputReg The texture stream register.
+ * @param texture The texture which will be assigned to the given slot.
+ * @param uvReg An optional uv register if coordinates different from the primary uv coordinates are to be used.
+ * @param forceWrap If true, texture wrapping is enabled regardless of the material setting.
+ * @return The fragment code that performs the sampling.
+
+
+
+
+
+
+
+
+
+
+ * A helper method that generates standard code for sampling from a cube texture.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param targetReg The register in which to store the sampled colour.
+ * @param inputReg The texture stream register.
+ * @param texture The cube map which will be assigned to the given slot.
+ * @param uvReg The direction vector with which to sample the cube map.
+
+
+
+
+
+
+ * Generates a texture format string for the sample instruction.
+ * @param texture The texture for which to get the format string.
+ * @return
+
+
+
+ * Marks the shader program as invalid, so it will be recompiled before the next render.
+
+
+
+
+
+
+ * Copies the state from a ShadingMethodBase object into the current object.
+
+
+
+
+
+
+
+
+ * Create a new ShadingMethodBase object.
+ * @param needsNormals Defines whether or not the method requires normals.
+ * @param needsView Defines whether or not the method requires the view direction.
+
+ * ShadingMethodBase provides an abstract base method for shading methods, used by compiled passes to compile
+ * the final shading program.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ away3d
+ * Get the fragment shader code that should be added after all per-light code. Usually composits everything to the target register.
+ * @param vo The MethodVO object containing the method data for the currently compiled material pass.
+ * @param regCache The register cache used during the compilation.
+ * @param targetReg The register that will be containing the method's output.
+ * @private
+
+
+ * EffectMethodBase forms an abstract base class for shader methods that are not dependent on light sources,
+ * and are in essence post-process effects on the materials.
+
+
+
+
+
+
+ <_texture>
+ <_useSecondaryUV>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicated whether or not the secondary uv set for the mask. This allows mapping alpha independently, for
+ * instance to tile the main texture and normal map while providing untiled alpha, for example to define the
+ * transparency over a tiled water surface.
+
+
+
+
+
+
+
+ * The texture to use as the alpha mask.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { useSecondaryUV : false }
+ * Creates a new AlphaMaskMethod object
+ * @param texture The texture to use as the alpha mask.
+ * @param useSecondaryUV Indicated whether or not the secondary uv set for the mask. This allows mapping alpha independently.
+
+ * AlphaMaskMethod allows the use of an additional texture to specify the alpha value of the material. When used
+ * with the secondary uv set, it allows for a tiled main texture with independently varying alpha (useful for water
+ * etc).
+
+
+
+
+ <_modulateMethod>
+
+ away3d
+ * A method that is exposed to wrappers in case the strength needs to be controlled
+
+
+
+
+
+
+
+ away3d
+ * Get the fragment shader code that will be needed before any per-light code is added.
+ * @param vo The MethodVO object containing the method data for the currently compiled material pass.
+ * @param regCache The register cache used during the compilation.
+ * @private
+
+
+
+
+
+
+
+
+
+ away3d
+ * Get the fragment shader code that will generate the code relevant to a single light.
+ *
+ * @param vo The MethodVO object containing the method data for the currently compiled material pass.
+ * @param lightDirReg The register containing the light direction vector.
+ * @param lightColReg The register containing the light colour.
+ * @param regCache The register cache used during the compilation.
+
+
+
+
+
+
+
+
+
+ away3d
+ * Get the fragment shader code that will generate the code relevant to a single light probe object.
+ *
+ * @param vo The MethodVO object containing the method data for the currently compiled material pass.
+ * @param cubeMapReg The register containing the cube map for the current probe
+ * @param weightRegister A string representation of the register + component containing the current weight
+ * @param regCache The register cache providing any necessary registers to the shader
+
+
+
+
+
+
+
+
+ away3d
+ * Get the fragment shader code that should be added after all per-light code. Usually composits everything to the target register.
+ *
+ * @param vo The MethodVO object containing the method data for the currently compiled material pass.
+ * @param regCache The register cache used during the compilation.
+ * @param targetReg The register containing the final shading output.
+ * @private
+
+
+
+ * Creates a new LightingMethodBase.
+
+ * LightingMethodBase provides an abstract base method for shading methods that uses lights.
+ * Used for diffuse and specular shaders only.
+
+
+
+
+
+
+
+
+
+ away3d
+
+ <_useTexture>
+ <_totalLightColorReg>
+ <_specularTextureRegister>
+ <_specularTexData>
+ <_specularDataRegister>
+ <_texture>
+ <_gloss expr="50">
+
+ 50
+
+ <_specular expr="1">
+
+ 1
+
+ <_specularColor expr="0xffffff">
+
+ 0xffffff
+
+ <_specularR expr="1">
+
+
+ 1
+ away3d
+
+
+ <_specularG expr="1">
+
+
+ 1
+ away3d
+
+
+ <_specularB expr="1">
+
+
+ 1
+ away3d
+
+
+ <_shadowRegister>
+ <_isFirstLight>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The sharpness of the specular highlight.
+
+
+
+
+
+
+
+ * The overall strength of the specular highlights.
+
+
+
+
+
+
+
+ * The colour of the specular reflection of the surface.
+
+
+
+
+
+
+
+ * The bitmapData that encodes the specular highlight strength per texel in the red channel, and the sharpness
+ * in the green channel. You can use SpecularBitmapTexture if you want to easily set specular and gloss maps
+ * from grayscale images, but prepared images are preferred.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Updates the specular color data used by the render state.
+
+
+
+
+
+
+ * Set internally by the compiler, so the method knows the register containing the shadow calculation.
+
+
+
+ * Creates a new BasicSpecularMethod object.
+
+ * BasicSpecularMethod provides the default shading method for Blinn-Phong specular highlights (an optimized but approximated
+ * version of Phong specularity).
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new AnisotropicSpecularMethod object.
+
+ * AnisotropicSpecularMethod provides a specular method resulting in anisotropic highlights. These are typical for
+ * surfaces with microfacet details such as tiny grooves. In particular, this uses the Heidrich-Seidel distrubution.
+ * The tangent vectors are used as the surface groove directions.
+
+
+
+
+
+
+
+ <_useTexture>
+ <_texture>
+ <_ambientInputRegister>
+ <_ambientColor expr="0xffffff">
+
+ 0xffffff
+
+ <_ambientR expr="0">
+
+ 0
+
+ <_ambientG expr="0">
+
+ 0
+
+ <_ambientB expr="0">
+
+ 0
+
+ <_ambient expr="1">
+
+ 1
+
+ <_lightAmbientR expr="0">
+
+
+ 0
+ away3d
+
+
+ <_lightAmbientG expr="0">
+
+
+ 0
+ away3d
+
+
+ <_lightAmbientB expr="0">
+
+
+ 0
+ away3d
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+ * The strength of the ambient reflection of the surface.
+
+
+
+
+
+
+
+ * The colour of the ambient reflection of the surface.
+
+
+
+
+
+
+
+ * The bitmapData to use to define the diffuse reflection color per texel.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+ * Updates the ambient color data used by the render state.
+
+
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+ * Creates a new BasicAmbientMethod object.
+
+ * BasicAmbientMethod provides the default shading method for uniform ambient lighting.
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+
+ away3d
+
+ <_useAmbientTexture>
+ <_useTexture>
+ <_totalLightColorReg public="1">
+ <_diffuseInputRegister>
+ <_texture>
+ <_diffuseColor expr="0xffffff">
+
+ 0xffffff
+
+ <_diffuseR expr="1">
+
+ 1
+
+ <_diffuseG expr="1">
+
+ 1
+
+ <_diffuseB expr="1">
+
+ 1
+
+ <_diffuseA expr="1">
+
+ 1
+
+ <_shadowRegister>
+ <_alphaThreshold expr="0">
+
+ 0
+
+ <_isFirstLight>
+
+
+ * Set internally if the ambient method uses a texture.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Forces the creation of the texture.
+ * @param stage3DProxy The Stage3DProxy used by the renderer
+
+
+
+ * The alpha component of the diffuse reflection.
+
+
+
+
+
+
+
+ * The color of the diffuse reflection when not using a texture.
+
+
+
+
+
+
+
+ * The bitmapData to use to define the diffuse reflection color per texel.
+
+
+
+
+
+
+
+ * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
+ * invisible or entirely opaque, often used with textures for foliage, etc.
+ * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Generate the code that applies the calculated shadow to the diffuse light
+ * @param vo The MethodVO object for which the compilation is currently happening.
+ * @param regCache The register cache the compiler is currently using for the register management.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Updates the diffuse color data used by the render state.
+
+
+
+
+
+
+ * Set internally by the compiler, so the method knows the register containing the shadow calculation.
+
+
+
+ * Creates a new BasicDiffuseMethod object.
+
+ * BasicDiffuseMethod provides the default shading method for Lambert (dot3) diffuse lighting.
+
+
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+ <_texture>
+ <_useTexture>
+ <_normalTextureRegister>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether or not this method outputs normals in tangent space. Override for object-space normals.
+
+
+
+ * Indicates if the normal method output is not based on a texture (if not, it will usually always return true)
+ * Override if subclasses are different.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The texture containing the normals per pixel.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+ * Creates a new BasicNormalMethod object.
+
+ * BasicNormalMethod is the default method for standard tangent-space normal mapping.
+
+
+
+
+
+
+
+
+
+ <_castingLight>
+ <_shadowMapper>
+ <_epsilon expr=".02">
+
+ .02
+
+ <_alpha expr="1">
+
+ 1
+
+
+
+ * @inheritDoc
+
+
+
+ * The "transparency" of the shadows. This allows making shadows less strong.
+
+
+
+
+
+
+
+ * The light casting the shadows.
+
+
+
+ * A small value to counter floating point precision errors when comparing values in the shadow map with the
+ * calculated depth value. Increase this if shadow banding occurs, decrease it if the shadow seems to be too detached.
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new ShadowMapMethodBase object.
+ * @param castingLight The light used to cast shadows.
+
+ * ShadowMapMethodBase provides an abstract base method for shadow map methods.
+
+
+
+
+
+ <_baseMethod>
+ <_cascadeShadowMapper>
+ <_depthMapCoordVaryings>
+ <_cascadeProjections>
+
+
+ * The shadow map sampling method used to sample individual cascades. These are typically those used in conjunction
+ * with a DirectionalShadowMapper.
+ *
+ * @see HardShadowMapMethod
+ * @see SoftShadowMapMethod
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates the registers for the cascades' projection coordinates.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Called when the shadow mappers cascade configuration changes.
+
+
+
+
+
+
+ * Called when the base method's shader code is invalidated.
+
+
+
+
+
+
+ * Creates a new CascadeShadowMapMethod object.
+ *
+ * @param shadowMethodBase The shadow map sampling method used to sample individual cascades (fe: HardShadowMapMethod, SoftShadowMapMethod)
+
+ * CascadeShadowMapMethod is a shadow map method to apply cascade shadow mapping on materials.
+ * Must be used with a DirectionalLight with a CascadeShadowMapper assigned to its shadowMapper property.
+ *
+ * @see away3d.lights.shadowmaps.CascadeShadowMapper
+
+
+
+
+
+ <_baseMethod>
+
+
+ * The base diffuse method on which this method's shading is based.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Called when the base method's shader code is invalidated.
+
+
+
+
+
+
+
+ { baseDiffuseMethod : null, modulateMethod : null }
+ * Creates a new WrapDiffuseMethod object.
+ * @param modulateMethod The method which will add the code to alter the base method's strength. It needs to have the signature clampDiffuse(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the diffuse strength.
+ * @param baseDiffuseMethod The base diffuse method on which this method's shading is based.
+
+ * CompositeDiffuseMethod provides a base class for diffuse methods that wrap a diffuse method to alter the
+ * calculated diffuse reflection strength.
+
+
+
+
+
+ <_levels>
+ <_dataReg>
+ <_smoothness expr=".1">
+
+ .1
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The amount of shadow gradations.
+
+
+
+
+
+
+
+ * The smoothness of the edge between 2 shading levels.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Snaps the diffuse shading of the wrapped method to one of the levels.
+ * @param vo The MethodVO used to compile the current shader.
+ * @param t The register containing the diffuse strength in the "w" component.
+ * @param regCache The register cache used for the shader compilation.
+ * @param sharedRegisters The shared register data for this shader.
+ * @return The AGAL fragment code for the method.
+
+
+
+
+
+
+
+ { baseDiffuseMethod : null, levels : 3 }
+ * Creates a new CelDiffuseMethod object.
+ * @param levels The amount of shadow gradations.
+ * @param baseDiffuseMethod An optional diffuse method on which the cartoon shading is based. If omitted, BasicDiffuseMethod is used.
+
+ * CelDiffuseMethod provides a shading method to add diffuse cel (cartoon) shading.
+
+
+
+
+
+ <_baseMethod>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The base specular method on which this method's shading is based.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+ * @return
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Called when the base method's shader code is invalidated.
+
+
+
+
+
+
+
+ { baseSpecularMethod : null }
+ * Creates a new WrapSpecularMethod object.
+ * @param modulateMethod The method which will add the code to alter the base method's strength. It needs to have the signature modSpecular(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the specular strength and t.xyz will contain the half-vector or the reflection vector.
+ * @param baseSpecularMethod The base specular method on which this method's shading is based.
+
+ * CompositeSpecularMethod provides a base class for specular methods that wrap a specular method to alter the
+ * calculated specular reflection strength.
+
+
+
+
+
+ <_dataReg>
+ <_smoothness expr=".1">
+
+ .1
+
+ <_specularCutOff expr=".1">
+
+ .1
+
+
+
+ * The smoothness of the highlight edge.
+
+
+
+
+
+
+
+ * The threshold at which the specular highlight should be shown.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Snaps the specular shading strength of the wrapped method to zero or one, depending on whether or not it exceeds the specularCutOff
+ * @param vo The MethodVO used to compile the current shader.
+ * @param t The register containing the specular strength in the "w" component, and either the half-vector or the reflection vector in "xyz".
+ * @param regCache The register cache used for the shader compilation.
+ * @param sharedRegisters The shared register data for this shader.
+ * @return The AGAL fragment code for the method.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { baseSpecularMethod : null, specularCutOff : .5 }
+ * Creates a new CelSpecularMethod object.
+ * @param specularCutOff The threshold at which the specular highlight should be shown.
+ * @param baseSpecularMethod An optional specular method on which the cartoon shading is based. If ommitted, BasicSpecularMethod is used.
+
+ * CelSpecularMethod provides a shading method to add specular cel (cartoon) shading.
+
+
+
+
+
+ <_matrix>
+
+
+ * The 4 x 5 matrix to transform the color of the material.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new ColorTransformMethod.
+ *
+ * @param matrix An array of 20 items for 4 x 5 color transform.
+
+ * ColorMatrixMethod provides a shading method that changes the colour of a material analogous to a ColorMatrixFilter.
+
+
+
+
+
+ <_colorTransform>
+
+
+ * The ColorTransform object to transform the colour of the material with.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new ColorTransformMethod.
+
+ * ColorTransformMethod provides a shading method that changes the colour of a material analogous to a
+ * ColorTransform object.
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new BasicDiffuseMethod object.
+
+ * DepthDiffuseMethod provides a debug method to visualise depth maps
+
+
+
+
+
+
+ away3d
+
+ <_depthMapCoordReg>
+ <_usePoint>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Wrappers that override the vertex shader need to set this explicitly
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Gets the vertex code for shadow mapping with a point light.
+ *
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param regCache The register cache used during the compilation.
+
+
+
+
+
+
+
+ * Gets the vertex code for shadow mapping with a planar shadow map (fe: directional lights).
+ *
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param regCache The register cache used during the compilation.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * Gets the fragment code for shadow mapping with a planar shadow map.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param regCache The register cache used during the compilation.
+ * @param targetReg The register to contain the shadow coverage
+ * @return
+
+
+
+
+
+
+
+
+ * Gets the fragment code for shadow mapping with a point light.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param regCache The register cache used during the compilation.
+ * @param targetReg The register to contain the shadow coverage
+ * @return
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+ * Gets the fragment code for combining this method with a cascaded shadow map method.
+ * @param vo The MethodVO object linking this method with the pass currently being compiled.
+ * @param regCache The register cache used during the compilation.
+ * @param decodeRegister The register containing the data to decode the shadow map depth value.
+ * @param depthTexture The texture containing the shadow map.
+ * @param depthProjection The projection of the fragment relative to the light.
+ * @param targetRegister The register to contain the shadow coverage
+ * @return
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ away3d
+ * Sets the method state for cascade shadow mapping.
+
+
+
+
+
+
+ * Creates a new SimpleShadowMapMethodBase object.
+ * @param castingLight The light used to cast shadows.
+
+ * SimpleShadowMapMethodBase provides an abstract method for simple (non-wrapping) shadow map methods.
+
+
+
+ <_grainTexture static="1">
+ <_grainUsages static="1">
+ <_grainBitmapData static="1">
+
+
+ <_depthMapSize>
+ <_range expr="1">
+
+ 1
+
+ <_numSamples>
+
+
+ * The amount of samples to take for dithering. Minimum 1, maximum 24. The actual maximum may depend on the
+ * complexity of the shader.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The range in the shadow map in which to distribute the samples.
+
+
+
+
+
+
+
+ * Creates a texture containing the dithering noise texture.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ * Get the actual shader code for shadow mapping
+ * @param regCache The register cache managing the registers.
+ * @param depthMapRegister The texture register containing the depth map.
+ * @param decReg The register containing the depth map decoding data.
+ * @param targetReg The target register to add the shadow coverage.
+
+
+
+
+
+
+
+
+
+
+ * Adds the code for another tap to the shader code.
+ * @param uvReg The uv register for the tap.
+ * @param depthMapRegister The texture register containing the depth map.
+ * @param decReg The register containing the depth map decoding data.
+ * @param targetReg The target register to add the tap comparison result.
+ * @param regCache The register cache managing the registers.
+ * @return
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { numSamples : 4 }
+ * Creates a new DitheredShadowMapMethod object.
+ * @param castingLight The light casting the shadows
+ * @param numSamples The amount of samples to take for dithering. Minimum 1, maximum 24.
+
+ * DitheredShadowMapMethod provides a soft shadowing technique by randomly distributing sample points differently for each fragment.
+
+
+
+
+
+ <_cubeTexture>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * The cube environment map to use for the diffuse lighting.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new EnvMapDiffuseMethod object.
+ * @param envMap The cube environment map to use for the diffuse lighting.
+
+ * EnvMapDiffuseMethod provides a diffuse shading method that uses a diffuse irradiance environment map to
+ * approximate global lighting rather than lights.
+
+
+
+
+
+
+
+ <_cubeTexture>
+ <_alpha>
+ <_mask>
+
+
+ * An optional texture to modulate the reflectivity of the surface.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The cubic environment map containing the reflected scene.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The reflectivity of the surface.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { alpha : 1 }
+ * Creates an EnvMapMethod object.
+ * @param envMap The environment map containing the reflected scene.
+ * @param alpha The reflectivity of the surface.
+
+ * EnvMapMethod provides a material method to perform reflection mapping using cube maps.
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new BasicDiffuseMethod object.
+ *
+ * @param castingLight The light casting the shadow
+
+ * DitheredShadowMapMethod provides a softened shadowing technique by bilinearly interpolating shadow comparison
+ * results of neighbouring pixels.
+
+
+
+
+
+
+
+ <_minDistance expr="0">
+
+ 0
+
+ <_maxDistance expr="1000">
+
+ 1000
+
+ <_fogColor>
+ <_fogR>
+ <_fogG>
+ <_fogB>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The distance from which the fog starts appearing.
+
+
+
+
+
+
+
+ * The distance at which the fog is densest.
+
+
+
+
+
+
+
+ * The colour of the fog.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { fogColor : 0x808080 }
+ * Creates a new FogMethod object.
+ * @param minDistance The distance from which the fog starts appearing.
+ * @param maxDistance The distance at which the fog is densest.
+ * @param fogColor The colour of the fog.
+
+ * FogMethod provides a method to add distance-based fog to a material.
+
+
+
+
+
+
+
+
+
+ <_cubeTexture>
+ <_fresnelPower expr="5">
+
+ 5
+
+ <_normalReflectance expr="0">
+
+ 0
+
+ <_alpha>
+ <_mask>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * An optional texture to modulate the reflectivity of the surface.
+
+
+
+
+
+
+
+ * The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5.
+
+
+
+
+
+
+
+ * The cubic environment map containing the reflected scene.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The reflectivity of the surface.
+
+
+
+
+
+
+
+ * The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { alpha : 1 }
+ * Creates an FresnelEnvMapMethod object.
+ * @param envMap The environment map containing the reflected scene.
+ * @param alpha The reflectivity of the material.
+
+ * FresnelEnvMapMethod provides a method to add fresnel-based reflectivity to an object using cube maps, which gets
+ * stronger as the viewing angle becomes more grazing.
+
+
+
+
+
+
+
+
+
+ <_texture>
+ <_alpha expr="1">
+
+ 1
+
+ <_normalDisplacement expr="0">
+
+ 0
+
+ <_normalReflectance expr="0">
+
+ 0
+
+ <_fresnelPower expr="5">
+
+ 5
+
+
+
+ * The reflectivity of the surface.
+
+
+
+
+
+
+
+ * The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5.
+
+
+
+
+
+
+
+ * The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The PlanarReflectionTexture containing a render of the mirrored scene.
+ *
+ * @see away3d.textures.PlanarReflectionTexture
+
+
+
+
+
+
+
+ * The amount of displacement caused by per-pixel normals.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { alpha : 1 }
+ * Creates a new FresnelPlanarReflectionMethod object.
+ * @param texture The PlanarReflectionTexture containing a render of the mirrored scene.
+ * @param alpha The maximum reflectivity of the surface.
+ *
+ * @see away3d.textures.PlanarReflectionTexture
+
+ * FresnelPlanarReflectionMethod provides a method to add fresnel-based planar reflections from a
+ * PlanarReflectionTexture object.to a surface, which get stronger as the viewing angle becomes more grazing. This
+ * method can be used for (near-)planar objects such as mirrors or water.
+ *
+ * @see away3d.textures.PlanarReflectionTexture
+
+
+
+
+
+
+ <_dataReg>
+ <_incidentLight>
+ <_fresnelPower expr="5">
+
+ 5
+
+ <_normalReflectance expr=".028">
+
+ .028
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Defines whether the fresnel effect should be based on the view angle on the surface (if true), or on the angle between the light and the view.
+
+
+
+
+
+
+
+ * The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Applies the fresnel effect to the specular strength.
+ *
+ * @param vo The MethodVO object containing the method data for the currently compiled material pass.
+ * @param target The register containing the specular strength in the "w" component, and the half-vector/reflection vector in "xyz".
+ * @param regCache The register cache used for the shader compilation.
+ * @param sharedRegisters The shared registers created by the compiler.
+ * @return The AGAL fragment code for the method.
+
+
+
+
+
+
+
+ { baseSpecularMethod : null, basedOnSurface : true }
+ * Creates a new FresnelSpecularMethod object.
+ * @param basedOnSurface Defines whether the fresnel effect should be based on the view angle on the surface (if true), or on the angle between the light and the view.
+ * @param baseSpecularMethod The specular method to which the fresnel equation. Defaults to BasicSpecularMethod.
+
+ * FresnelSpecularMethod provides a specular shading method that causes stronger highlights on grazing view angles.
+
+
+
+
+
+ <_gradientTextureRegister>
+ <_gradient>
+
+
+ * A texture that contains the light colour based on the angle. This can be used to change the light colour
+ * due to subsurface scattering when the surface faces away from the light.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new GradientDiffuseMethod object.
+ * @param gradient A texture that contains the light colour based on the angle. This can be used to change
+ * the light colour due to subsurface scattering when the surface faces away from the light.
+
+ * GradientDiffuseMethod is an alternative to BasicDiffuseMethod in which the shading can be modulated with a gradient
+ * to introduce color-tinted shading as opposed to the single-channel diffuse strength. This can be used as a crude
+ * approximation to subsurface scattering (for instance, the mid-range shading for skin can be tinted red to similate
+ * scattered light within the skin attributing to the final colour)
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new HardShadowMapMethod object.
+
+ * HardShadowMapMethod provides the cheapest shadow map method by using a single tap without any filtering.
+
+
+
+
+ <_worldXYRatio>
+ <_worldXZRatio>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Creates a new HeightMapNormalMethod method.
+ * @param heightMap The texture containing the height data. 0 means low, 1 means high.
+ * @param worldWidth The width of the 'world'. This is used to map uv coordinates' u component to scene dimensions.
+ * @param worldHeight The height of the 'world'. This is used to map the height map values to scene dimensions.
+ * @param worldDepth The depth of the 'world'. This is used to map uv coordinates' v component to scene dimensions.
+
+ * HeightMapNormalMethod provides a normal map method that uses a height map to calculate the normals.
+
+
+
+
+
+ BlendMode.MULTIPLY
+ * Indicates the light map should be multiplied with the calculated shading result.
+ * This can be used to add pre-calculated shadows or occlusion.
+
+
+
+ BlendMode.ADD
+ * Indicates the light map should be added into the calculated shading result.
+ * This can be used to add pre-calculated lighting or global illumination.
+
+
+
+ <_blendMode>
+ <_useSecondaryUV>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The blend mode with which the light map should be applied to the lighting result.
+ *
+ * @see LightMapDiffuseMethod.ADD
+ * @see LightMapDiffuseMethod.MULTIPLY
+
+
+
+
+
+
+
+ * The texture containing the light map data.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { baseMethod : null, useSecondaryUV : false, blendMode : BlendMode.MULTIPLY }
+ * Creates a new LightMapDiffuseMethod method.
+ * @param lightMap The texture containing the light map.
+ * @param blendMode The blend mode with which the light map should be applied to the lighting result.
+ * @param useSecondaryUV Indicates whether the secondary UV set should be used to map the light map.
+ * @param baseMethod The diffuse method used to calculate the regular light-based lighting.
+
+ * LightMapDiffuseMethod provides a diffuse shading method that uses a light map to modulate the calculated diffuse
+ * lighting. It is different from LightMapMethod in that the latter modulates the entire calculated pixel color, rather
+ * than only the diffuse lighting value.
+
+
+
+
+
+
+ BlendMode.MULTIPLY
+ * Indicates the light map should be multiplied with the calculated shading result.
+
+
+
+ BlendMode.ADD
+ * Indicates the light map should be added into the calculated shading result.
+
+
+
+ <_texture>
+ <_blendMode>
+ <_useSecondaryUV>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The blend mode with which the light map should be applied to the lighting result.
+ *
+ * @see LightMapMethod.ADD
+ * @see LightMapMethod.MULTIPLY
+
+
+
+
+
+
+
+ * The texture containing the light map.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ { useSecondaryUV : false, blendMode : MULTIPLY }
+ * Creates a new LightMapMethod object.
+ * @param texture The texture containing the light map.
+ * @param blendMode The blend mode with which the light map should be applied to the lighting result.
+ * @param useSecondaryUV Indicates whether the secondary UV set should be used to map the light map.
+
+ * LightMapMethod provides a method that allows applying a light map texture to the calculated pixel colour.
+ * It is different from LightMapDiffuseMethod in that the latter only modulates the diffuse shading value rather
+ * than the whole pixel colour.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ * Resets the values of the value object to their "unused" state.
+
+
+
+ * Creates a new MethodVO object.
+
+ * MethodVO contains data for a given method for the use within a single material.
+ * This allows methods to be shared across materials while their non-public state differs.
+
+
+
+
+
+ * An instance of a concrete EffectMethodBase subclass.
+
+
+
+ * The MethodVO data for the given method containing the material-specific data for a given material/method combination.
+
+
+
+
+
+
+ * Creates a new MethodVOSet object.
+ * @param method The method for which we need to store a MethodVO object.
+
+ * MethodVOSet provides a EffectMethodBase and MethodVO combination to be used by a material, allowing methods
+ * to be shared across different materials while their internal state changes.
+
+
+
+
+
+
+ <_baseMethod>
+ <_fadeRatio>
+ <_nearShadowMapper>
+
+
+ * The base shadow map method on which this method's shading is based.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * The amount of shadow fading to the outer shadow area. A value of 1 would mean the shadows start fading from the camera's near plane.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Called when the base method's shader code is invalidated.
+
+
+
+
+
+
+
+ { fadeRatio : .1 }
+ * Creates a new NearShadowMapMethod object.
+ * @param baseMethod The shadow map sampling method used to sample individual cascades (fe: HardShadowMapMethod, SoftShadowMapMethod)
+ * @param fadeRatio The amount of shadow fading to the outer shadow area. A value of 1 would mean the shadows start fading from the camera's near plane.
+
+ * NearShadowMapMethod provides a shadow map method that restricts the shadowed area near the camera to optimize
+ * shadow map usage. This method needs to be used in conjunction with a NearDirectionalShadowMapper.
+ *
+ * @see away3d.lights.shadowmaps.NearDirectionalShadowMapper
+
+
+
+
+
+
+
+ <_outlinePass>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether or not strokes should be potentially drawn over the existing model.
+ * Set this to true to draw outlines for geometry overlapping in the view, useful to achieve a cel-shaded drawing outline.
+ * Setting this to false will only cause the outline to appear around the 2D projection of the geometry.
+
+
+
+
+
+
+
+ * The colour of the outline.
+
+
+
+
+
+
+
+ * The size of the outline.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { dedicatedWaterProofMesh : false, showInnerLines : true, outlineSize : 1, outlineColor : 0x000000 }
+ * Creates a new OutlineMethod object.
+ * @param outlineColor The colour of the outline stroke
+ * @param outlineSize The size of the outline stroke
+ * @param showInnerLines Indicates whether or not strokes should be potentially drawn over the existing model.
+ * @param dedicatedWaterProofMesh Used to stitch holes appearing due to mismatching normals for overlapping vertices. Warning: this will create a new mesh that is incompatible with animations!
+
+ * OutlineMethod provides a shading method to add outlines to an object.
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new PhongSpecularMethod object.
+
+ * PhongSpecularMethod provides a specular method that provides Phong highlights.
+
+
+
+
+
+
+
+ <_texture>
+ <_alpha expr="1">
+
+ 1
+
+ <_normalDisplacement expr="0">
+
+ 0
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The reflectivity of the surface.
+
+
+
+
+
+
+
+ * The PlanarReflectionTexture used to render the reflected view.
+
+
+
+
+
+
+
+ * The amount of displacement on the surface, for use with water waves.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { alpha : 1 }
+ * Creates a new PlanarReflectionMethod
+ * @param texture The PlanarReflectionTexture used to render the reflected view.
+ * @param alpha The reflectivity of the surface.
+
+ * PlanarReflectionMethod is a material method that adds reflections from a PlanarReflectionTexture object.
+ *
+ * @see away3d.textures.PlanarReflectionTexture
+
+
+
+
+
+ BlendMode.MULTIPLY
+
+
+
+ BlendMode.ADD
+
+
+
+ BlendMode.DIFFERENCE
+
+
+
+ <_projector>
+ <_uvVarying>
+ <_projMatrix expr="new Matrix3D()">
+
+ new Matrix3D()
+
+ <_mode>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * The blend mode with which the texture is blended unto the object.
+ * ProjectiveTextureMethod.MULTIPLY can be used to project shadows. To prevent clamping, the texture's alpha should be white!
+ * ProjectiveTextureMethod.ADD can be used to project light, such as a slide projector or light coming through stained glass. To prevent clamping, the texture's alpha should be black!
+ * ProjectiveTextureMethod.MIX provides normal alpha blending. To prevent clamping, the texture's alpha should be transparent!
+
+
+
+
+
+
+
+ * The TextureProjector object that defines the projection properties as well as the texture.
+ *
+ * @see away3d.entities.TextureProjector
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { mode : MULTIPLY }
+ * Creates a new ProjectiveTextureMethod object.
+ *
+ * @param projector The TextureProjector object that defines the projection properties as well as the texture.
+ * @param mode The blend mode with which the texture is blended unto the surface.
+ *
+ * @see away3d.entities.TextureProjector
+
+ * ProjectiveTextureMethod is a material method used to project a texture unto the surface of an object.
+ * This can be used for various effects apart from acting like a normal projector, such as projecting fake shadows
+ * unto a surface, the impact of light coming through a stained glass window, ...
+
+
+
+
+
+
+
+
+
+
+ <_envMap>
+ <_dispersionR expr="0">
+
+ 0
+
+ <_dispersionG expr="0">
+
+ 0
+
+ <_dispersionB expr="0">
+
+ 0
+
+ <_useDispersion>
+ <_refractionIndex>
+ <_alpha expr="1">
+
+ 1
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The cube environment map to use for the refraction.
+
+
+
+
+
+
+
+ * The refractive index of the material.
+
+
+
+
+
+
+
+ * The amount of chromatic dispersion of the red channel. Defaults to 0 (none).
+
+
+
+
+
+
+
+ * The amount of chromatic dispersion of the green channel. Defaults to 0 (none).
+
+
+
+
+
+
+
+ * The amount of chromatic dispersion of the blue channel. Defaults to 0 (none).
+
+
+
+
+
+
+
+ * The amount of transparency of the object. Warning: the alpha applies to the refracted color, not the actual
+ * material. A value of 1 will make it appear fully transparent.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { dispersionB : 0, dispersionG : 0, dispersionR : 0, refractionIndex : .1 }
+ * Creates a new RefractionEnvMapMethod object. Example values for dispersion are: dispersionR: -0.03, dispersionG: -0.01, dispersionB: = .0015
+ * @param envMap The environment map containing the refracted scene.
+ * @param refractionIndex The refractive index of the material.
+ * @param dispersionR The amount of chromatic dispersion of the red channel. Defaults to 0 (none).
+ * @param dispersionG The amount of chromatic dispersion of the green channel. Defaults to 0 (none).
+ * @param dispersionB The amount of chromatic dispersion of the blue channel. Defaults to 0 (none).
+
+ * RefractionEnvMapMethod provides a method to add refracted transparency based on cube maps.
+
+
+
+
+
+
+ "add"
+
+
+
+ "multiply"
+
+
+
+ "mix"
+
+
+
+
+
+ <_color>
+ <_blendMode>
+ <_colorR>
+ <_colorG>
+ <_colorB>
+ <_strength>
+ <_power>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The blend mode with which to add the light to the object.
+ *
+ * RimLightMethod.MULTIPLY multiplies the rim light with the material's colour.
+ * RimLightMethod.ADD adds the rim light with the material's colour.
+ * RimLightMethod.MIX provides normal alpha blending.
+
+
+
+
+
+
+
+ * The color of the rim light.
+
+
+
+
+
+
+
+ * The strength of the rim light.
+
+
+
+
+
+
+
+ * The power of the rim light. Higher values will result in a higher edge fall-off.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ { blend : "mix", power : 2, strength : .4, color : 0xffffff }
+ * Creates a new RimLightMethod.
+ * @param color The colour of the rim light.
+ * @param strength The strength of the rim light.
+ * @param power The power of the rim light. Higher values will result in a higher edge fall-off.
+ * @param blend The blend mode with which to add the light to the object.
+
+ * RimLightMethod provides a method to add rim lighting to a material. This adds a glow-like effect to edges of objects.
+
+
+
+
+
+
+
+ away3d
+
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+
+
+ away3d
+
+ <_colorTransformMethod>
+
+ away3d
+
+ <_colorTransformMethodVO>
+
+ away3d
+
+ <_normalMethod>
+
+ away3d
+
+ <_normalMethodVO>
+
+ away3d
+
+ <_ambientMethod>
+
+ away3d
+
+ <_ambientMethodVO>
+
+ away3d
+
+ <_shadowMethod>
+
+ away3d
+
+ <_shadowMethodVO>
+
+ away3d
+
+ <_diffuseMethod>
+
+ away3d
+
+ <_diffuseMethodVO>
+
+ away3d
+
+ <_specularMethod>
+
+ away3d
+
+ <_specularMethodVO>
+
+ away3d
+
+ <_methods>
+
+ away3d
+
+
+
+
+
+
+ * Called when any method's code is invalidated.
+
+
+
+ * Invalidates the material's shader code.
+
+
+
+ * The method used to generate the per-pixel normals.
+
+
+
+
+
+
+
+ * The method that provides the ambient lighting contribution.
+
+
+
+
+
+
+
+ * The method used to render shadows cast on this surface, or null if no shadows are to be rendered.
+
+
+
+
+
+
+
+ * The method that provides the diffuse lighting contribution.
+
+
+
+
+
+
+
+ * The method to perform specular shading.
+
+
+
+
+
+
+
+ * @private
+
+
+
+
+
+
+
+ * Disposes the object.
+
+
+
+
+
+
+ * Removes all listeners from a method.
+
+
+
+
+
+
+ * Adds a method to change the material after all lighting is performed.
+ * @param method The method to be added.
+
+
+
+
+
+
+ * Queries whether a given effect method was added to the material.
+ *
+ * @param method The method to be queried.
+ * @return true if the method was added to the material, false otherwise.
+
+
+
+
+
+
+
+ * Inserts a method to change the material after all lighting is performed at the given index.
+ * @param method The method to be added.
+ * @param index The index of the method's occurrence
+
+
+
+
+
+
+ * Returns the method added at the given index.
+ * @param index The index of the method to retrieve.
+ * @return The method at the given index.
+
+
+
+ * The number of "effect" methods added to the material.
+
+
+
+
+
+
+ * Removes a method from the pass.
+ * @param method The method to be removed.
+
+
+
+
+
+
+
+ * Creates a new ShaderMethodSetup object.
+
+ * ShaderMethodSetup contains the method configuration for an entire material.
+
+
+
+
+
+
+
+
+
+ <_texture2>
+ <_normalTextureRegister2>
+ <_useSecondNormalMap>
+ <_water1OffsetX expr="0">
+
+ 0
+
+ <_water1OffsetY expr="0">
+
+ 0
+
+ <_water2OffsetX expr="0">
+
+ 0
+
+ <_water2OffsetY expr="0">
+
+ 0
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The translation of the first wave layer along the X-axis.
+
+
+
+
+
+
+
+ * The translation of the first wave layer along the Y-axis.
+
+
+
+
+
+
+
+ * The translation of the second wave layer along the X-axis.
+
+
+
+
+
+
+
+ * The translation of the second wave layer along the Y-axis.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * A second normal map that will be combined with the first to create a wave-like animation pattern.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * Creates a new SimpleWaterNormalMethod object.
+ * @param waveMap1 A normal map containing one layer of a wave structure.
+ * @param waveMap2 A normal map containing a second layer of a wave structure.
+
+ * SimpleWaterNormalMethod provides a basic normal map method to create water ripples by translating two wave normal maps.
+
+
+
+
+
+
+ <_range expr="1">
+
+ 1
+
+ <_numSamples>
+ <_offsets>
+
+
+ * The amount of samples to take for dithering. Minimum 1, maximum 32. The actual maximum may depend on the
+ * complexity of the shader.
+
+
+
+
+
+
+
+ * The range in the shadow map in which to distribute the samples.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ * Adds the code for another tap to the shader code.
+ * @param uv The uv register for the tap.
+ * @param texture The texture register containing the depth map.
+ * @param decode The register containing the depth map decoding data.
+ * @param target The target register to add the tap comparison result.
+ * @param regCache The register cache managing the registers.
+ * @return
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ * Get the actual shader code for shadow mapping
+ * @param regCache The register cache managing the registers.
+ * @param depthTexture The texture register containing the depth map.
+ * @param decodeRegister The register containing the depth map decoding data.
+ * @param targetReg The target register to add the shadow coverage.
+ * @param dataReg The register containing additional data.
+
+
+
+
+
+
+
+
+ { range : 1, numSamples : 5 }
+ * Creates a new BasicDiffuseMethod object.
+ *
+ * @param castingLight The light casting the shadows
+ * @param numSamples The amount of samples to take for dithering. Minimum 1, maximum 32.
+
+ * SoftShadowMapMethod provides a soft shadowing technique by randomly distributing sample points.
+
+
+
+
+
+
+
+ <_depthPass>
+ <_lightProjVarying>
+ <_propReg>
+ <_scattering>
+ <_translucency expr="1">
+
+ 1
+
+ <_lightColorReg>
+ <_scatterColor expr="0xffffff">
+
+ 0xffffff
+
+ <_colorReg>
+ <_decReg>
+ <_scatterR expr="1.0">
+
+ 1.0
+
+ <_scatterG expr="1.0">
+
+ 1.0
+
+ <_scatterB expr="1.0">
+
+ 1.0
+
+ <_targetReg>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+ * The amount by which the light scatters. It can be used to set the translucent surface's thickness. Use low
+ * values for skin.
+
+
+
+
+
+
+
+ * The translucency of the object.
+
+
+
+
+
+
+
+ * The colour of the "insides" of the object, ie: the colour the light becomes after leaving the object.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * Generates the code for this method
+
+
+
+
+
+
+
+ { depthMapOffset : 15, depthMapSize : 512 }
+ * Creates a new SubsurfaceScatteringDiffuseMethod object.
+ * @param depthMapSize The size of the depth map used.
+ * @param depthMapOffset The amount by which the rendered object will be inflated, to prevent depth map rounding errors.
+
+ * SubsurfaceScatteringDiffuseMethod provides a depth map-based diffuse shading method that mimics the scattering of
+ * light inside translucent surfaces. It allows light to shine through an object and to soften the diffuse shading.
+ * It can be used for candle wax, ice, skin, ...
+
+
+
+
+ <_blendingTexture>
+ <_splats>
+ <_numSplattingLayers>
+ <_tileData>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { uvReg : null }
+ * Gets the sample code for a single splat.
+
+
+
+
+
+
+
+
+ * Creates a new TerrainDiffuseMethod.
+ * @param splatTextures An array of Texture2DProxyBase containing the detailed textures to be tiled.
+ * @param blendingTexture The texture containing the blending data. The red, green, and blue channels contain the blending values for each of the textures in splatTextures, respectively.
+ * @param tileData The amount of times each splat texture needs to be tiled. The first entry in the array applies to the base texture, the others to the splats. If omitted, the default value of 50 is assumed for each.
+
+ * TerrainDiffuseMethod provides a diffuse method that uses different tiled textures with alpha masks to create a
+ * large surface with high detail and less apparent tiling.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new BasicDiffuseMethod object.
+ *
+ * @param castingLight The light casting the shadow
+
+ "Please consider any of the superior shadow map methods: SoftShadowMapMethod or DitheredShadowMapMethod"
+
+
+
+
+ <_wrapDataRegister>
+ <_wrapFactor>
+
+
+ * @inheritDoc
+
+
+
+ * A factor to indicate the amount by which the light is allowed to wrap.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { wrapFactor : .5 }
+ * Creates a new WrapDiffuseMethod object.
+ * @param wrapFactor A factor to indicate the amount by which the light is allowed to wrap
+
+ * WrapDiffuseMethod is an alternative to BasicDiffuseMethod in which the light is allowed to be "wrapped around" the normally dark area, to some extent.
+ * It can be used as a crude approximation to Oren-Nayar or simple subsurface scattering.
+
+
+
+
+ <_previousUsedStreams expr="Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])" line="89" static="1">
+
+ Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])
+
+ <_previousUsedTexs expr="Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])" line="90" static="1">
+
+ Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ away3d
+
+
+ <_material>
+ <_animationSet>
+ <_program3Ds expr="new Vector<Program3D>(8)">
+
+
+ (8)]]>
+ away3d
+
+
+ <_program3Dids expr="Vector.ofArray([-1, -1, -1, -1, -1, -1, -1, -1])">
+
+
+ Vector.ofArray([-1, -1, -1, -1, -1, -1, -1, -1])
+ away3d
+
+
+ <_context3Ds expr="new Vector<Context3D>(8)">
+
+ (8)]]>
+
+ <_numUsedStreams expr="0">
+
+ 0
+
+ <_numUsedTextures expr="0">
+
+ 0
+
+ <_numUsedVertexConstants expr="0">
+
+ 0
+
+ <_numUsedFragmentConstants expr="0">
+
+ 0
+
+ <_numUsedVaryings expr="0">
+
+ 0
+
+ <_smooth expr="true">
+
+ true
+
+ <_repeat expr="false">
+
+ false
+
+ <_mipmap expr="true">
+
+ true
+
+ <_anisotropy expr="Anisotropy.ANISOTROPIC2X">
+
+ Anisotropy.ANISOTROPIC2X
+
+ <_depthCompareMode expr="Context3DCompareMode.LESS_EQUAL">
+
+ Context3DCompareMode.LESS_EQUAL
+
+ <_blendFactorSource expr="Context3DBlendFactor.ONE">
+
+ Context3DBlendFactor.ONE
+
+ <_blendFactorDest expr="Context3DBlendFactor.ZERO">
+
+ Context3DBlendFactor.ZERO
+
+ <_enableBlending>
+ <_bothSides>
+ <_lightPicker>
+ <_animatableAttributes expr="Vector.ofArray(["va0"])">
+
+ Vector.ofArray(["va0"])
+
+ <_animationTargetRegisters expr="Vector.ofArray(["vt0"])">
+
+ Vector.ofArray(["vt0"])
+
+ <_shadedTarget expr=""ft0"">
+
+ "ft0"
+
+ <_defaultCulling expr="Context3DTriangleFace.BACK">
+
+ Context3DTriangleFace.BACK
+
+ <_renderToTexture>
+ <_oldTarget>
+ <_oldSurface>
+ <_oldDepthStencil>
+ <_oldRect>
+ <_alphaPremultiplied>
+ <_needFragmentAnimation>
+ <_needUVAnimation>
+ <_UVTarget>
+ <_UVSource>
+ <_agalVersion expr="1">
+
+ 1
+
+ <_writeDepth expr="true">
+
+ true
+
+
+
+
+ * The material to which this pass belongs.
+
+
+
+
+
+
+
+ * Indicate whether this pass should write to the depth buffer or not. Ignored when blending is enabled.
+
+
+
+
+
+
+
+ * Defines whether any used textures should use mipmapping.
+
+
+
+
+
+
+
+ * Indicates the number of Anisotropic filtering samples to take for mipmapping
+
+
+
+
+
+
+
+ * Defines whether smoothing should be applied to any used textures.
+
+
+
+
+
+
+
+ * Defines whether textures should be tiled.
+
+
+
+
+
+
+
+ * Defines whether or not the material should perform backface culling.
+
+
+
+
+
+
+
+ * The depth compare mode used to render the renderables using this material.
+ *
+ * @see openfl.display3D.Context3DCompareMode
+
+
+
+
+
+
+
+ * Returns the animation data set adding animations to the material.
+
+
+
+
+
+
+
+ * Specifies whether this pass renders to texture
+
+
+
+ * Cleans up any resources used by the current object.
+ * @param deep Indicates whether other resources should be cleaned up, that could potentially be shared across different instances.
+
+
+
+ * The amount of used vertex streams in the vertex code. Used by the animation code generation to know from which index on streams are available.
+
+
+
+ * The amount of used vertex constants in the vertex code. Used by the animation code generation to know from which index on registers are available.
+
+
+
+
+ * The amount of used fragment constants in the fragment code. Used by the animation code generation to know from which index on registers are available.
+
+
+
+
+ * Indicates whether the pass requires any UV animatin code.
+
+
+
+
+
+
+
+
+ away3d
+ * Sets up the animation state. This needs to be called before render()
+ *
+ * @private
+
+
+
+
+
+
+
+
+
+ away3d
+ * Renders an object to the current render target.
+ *
+ * @private
+
+
+
+ away3d
+ * Returns the vertex AGAL code for the material.
+
+
+
+
+
+
+ away3d
+ * Returns the fragment AGAL code for the material.
+
+
+
+
+
+
+
+ *
BlendMode.NORMAL: No blending, unless the material inherently needs it
+ *
BlendMode.LAYER: Force blending. This will draw the object the same as NORMAL, but without writing depth writes.
+ *
BlendMode.MULTIPLY
+ *
BlendMode.ADD
+ *
BlendMode.ALPHA
+ * ]]>
+
+
+
+
+
+
+
+ away3d
+ * Sets the render state for the pass that is independent of the rendered object. This needs to be called before
+ * calling renderPass. Before activating a pass, the previously used pass needs to be deactivated.
+ * @param stage3DProxy The Stage3DProxy object which is currently used for rendering.
+ * @param camera The camera from which the scene is viewed.
+ * @private
+
+
+
+
+
+
+ away3d
+ * Clears the render state for the pass. This needs to be called before activating another pass.
+ * @param stage3DProxy The Stage3DProxy used for rendering
+ *
+ * @private
+
+
+
+
+
+
+
+ { updateMaterial : true }
+ away3d
+
+ * Marks the shader program as invalid, so it will be recompiled before the next render.
+ *
+ * @param updateMaterial Indicates whether the invalidation should be performed on the entire material. Should always pass "true" unless it's called from the material itself.
+
+
+
+
+
+
+ away3d
+ * Compiles the shader program.
+ * @param polyOffsetReg An optional register that contains an amount by which to inflate the model (used in single object depth map rendering).
+
+
+
+ away3d
+ * The light picker used by the material to provide lights to the material if it supports lighting.
+ *
+ * @see away3d.materials.lightpickers.LightPickerBase
+ * @see away3d.materials.lightpickers.StaticLightPicker
+
+
+
+
+
+
+ away3d
+
+
+
+
+
+
+ * Called when the light picker's configuration changes.
+
+
+
+ * Implemented by subclasses if the pass uses lights to update the shader.
+
+
+
+ * Indicates whether visible textures (or other pixels) used by this material have
+ * already been premultiplied. Toggle this if you are seeing black halos around your
+ * blended alpha edges.
+
+
+
+
+
+
+
+
+
+
+ { renderToTexture : false }
+ * Creates a new MaterialPassBase object.
+ *
+ * @param renderToTexture Indicates whether this pass is a render-to-texture pass.
+
+ * MaterialPassBase provides an abstract base class for material shader passes. A material pass constitutes at least
+ * a render call per required renderable.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_passes public="1">
+ <_passesDirty public="1">
+ <_specularLightSources expr="0x01">
+
+ 0x01
+
+ <_diffuseLightSources expr="0x03">
+
+ 0x03
+
+ <_vertexCode>
+ <_fragmentLightCode>
+ <_framentPostLightCode>
+ <_vertexConstantData expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_fragmentConstantData expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_commonsDataIndex>
+ <_probeWeightsIndex>
+ <_uvBufferIndex>
+ <_secondaryUVBufferIndex>
+ <_normalBufferIndex>
+ <_tangentBufferIndex>
+ <_sceneMatrixIndex>
+ <_sceneNormalMatrixIndex>
+ <_lightFragmentConstantIndex>
+ <_cameraPositionIndex>
+ <_uvTransformIndex>
+ <_uvTransformIndex2>
+ <_lightProbeDiffuseIndices>
+ <_lightProbeSpecularIndices>
+ <_ambientLightR>
+ <_ambientLightG>
+ <_ambientLightB>
+ <_compiler>
+ <_methodSetup>
+ <_usingSpecularMethod>
+ <_usesNormals>
+ <_preserveAlpha expr="true">
+
+ true
+
+ <_animateUVs>
+ <_animateUVs2>
+ <_numPointLights>
+ <_numDirectionalLights>
+ <_numLightProbes>
+ <_enableLightFallOff expr="true">
+
+ true
+
+ <_forceSeparateMVP>
+
+
+ * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
+ * compatibility for constrained mode.
+
+
+
+
+
+
+
+ * Indicates whether the screen projection should be calculated by forcing a separate scene matrix and
+ * view-projection matrix. This is used to prevent rounding errors when using multiple passes with different
+ * projection code.
+
+
+
+
+
+
+
+ * The amount of point lights that need to be supported.
+
+
+
+ * The amount of directional lights that need to be supported.
+
+
+
+ * The amount of light probes that need to be supported.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Resets the compilation state.
+ *
+ * @param profile The compatibility profile used by the renderer.
+
+
+
+ * Updates the amount of used register indices.
+
+
+
+ * Initializes the unchanging constant data for this material.
+
+
+
+
+
+
+ * Initializes the compiler for this pass.
+ * @param profile The compatibility profile used by the renderer.
+
+
+
+
+
+
+ * Factory method to create a concrete compiler object for this pass.
+ * @param profile The compatibility profile used by the renderer.
+
+
+
+ * Copies the shader's properties from the compiler.
+
+
+
+ * Updates the indices for various registers.
+
+
+
+ * Indicates whether the output alpha value should remain unchanged compared to the material's original alpha.
+
+
+
+
+
+
+
+ * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.
+
+
+
+
+
+
+
+ * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The normal map to modulate the direction of the surface for each texel. The default normal method expects
+ * tangent-space normal maps, but others could expect object-space maps.
+
+
+
+
+
+
+
+ * The method used to generate the per-pixel normals. Defaults to BasicNormalMethod.
+
+
+
+
+
+
+
+ * The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod.
+
+
+
+
+
+
+
+ * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null.
+
+
+
+
+
+
+
+ * The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod.
+
+
+
+
+
+
+
+ * The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod.
+
+
+
+
+
+
+
+ * Initializes the pass.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ { updateMaterial : true }
+ * @inheritDoc
+
+
+
+ * Adds any possible passes needed by the used methods.
+
+
+
+
+
+
+ * Adds internal passes to the material.
+ *
+ * @param passes The passes to add.
+
+
+
+ * Initializes the default UV transformation matrix.
+
+
+
+ * Initializes the default UV transformation matrix.
+
+
+
+ * Initializes commonly required constant values.
+
+
+
+ * Cleans up the after compiling.
+
+
+
+ * Updates method constants if they have changed.
+
+
+
+ * Updates constant data render state used by the lights. This method is optional for subclasses to implement.
+
+
+
+
+
+
+ * Updates constant data render state used by the light probes. This method is optional for subclasses to implement.
+
+
+
+
+
+
+ * Called when any method's shader code is invalidated.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether the shader uses any light probes.
+
+
+
+ * Indicates whether the shader uses any lights.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Define which light source types to use for specular reflections. This allows choosing between regular lights
+ * and/or light probes for specular reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+ * Define which light source types to use for diffuse reflections. This allows choosing between regular lights
+ * and/or light probes for diffuse reflections.
+ *
+ * @see away3d.materials.LightSources
+
+
+
+
+
+
+
+
+
+
+ * Creates a new CompiledPass object.
+ * @param material The material to which this pass belongs.
+
+ * CompiledPass forms an abstract base class for the default compiled pass materials provided by Away3D,
+ * using material methods to define their appearance.
+
+
+
+ <_data>
+ <_alphaThreshold expr="0">
+
+ 0
+
+ <_alphaMask>
+
+
+ * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
+ * invisible or entirely opaque, often used with textures for foliage, etc.
+ * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).
+
+
+
+
+
+
+
+
+ * A texture providing alpha data to be able to prevent semi-transparent pixels to write to the alpha mask.
+ * Usually the diffuse texture when alphaThreshold is used.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new DepthMapPass object.
+
+ * DepthMapPass is a pass that writes depth values to a depth map as a 32-bit value exploded over the 4 texture channels.
+ * This is used to render shadow maps, depth maps, etc.
+
+
+
+
+
+
+ <_fragmentData>
+ <_vertexData>
+ <_alphaThreshold>
+ <_alphaMask>
+
+
+ * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
+ * invisible or entirely opaque, often used with textures for foliage, etc.
+ * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).
+
+
+
+
+
+
+
+ * A texture providing alpha data to be able to prevent semi-transparent pixels to write to the alpha mask.
+ * Usually the diffuse texture when alphaThreshold is used.
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+ * Creates a new DistanceMapPass object.
+
+ * DistanceMapPass is a pass that writes distance values to a depth map as a 32-bit value exploded over the 4 texture channels.
+ * This is used to render omnidirectional shadow maps.
+
+
+
+
+ <_includeCasters expr="true">
+
+ true
+
+ <_tangentSpace>
+ <_lightVertexConstantIndex>
+ <_inverseSceneMatrix expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_directionalLightsOffset>
+ <_pointLightsOffset>
+ <_lightProbesOffset>
+ <_maxLights expr="3">
+
+ 3
+
+
+
+ * Indicates the offset in the light picker's directional light vector for which to start including lights.
+ * This needs to be set before the light picker is assigned.
+
+
+
+
+
+
+
+
+ * Indicates the offset in the light picker's point light vector for which to start including lights.
+ * This needs to be set before the light picker is assigned.
+
+
+
+
+
+
+
+
+ * Indicates the offset in the light picker's light probes vector for which to start including lights.
+ * This needs to be set before the light picker is assigned.
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether or not shadow casting lights need to be included.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Calculates the amount of directional lights this material will support.
+ * @param numDirectionalLights The maximum amount of directional lights to support.
+ * @return The amount of directional lights this material will support, bounded by the amount necessary.
+
+
+
+
+
+
+ * Calculates the amount of point lights this material will support.
+ * @param numDirectionalLights The maximum amount of point lights to support.
+ * @return The amount of point lights this material will support, bounded by the amount necessary.
+
+
+
+
+
+
+ * Calculates the amount of light probes this material will support.
+ * @param numDirectionalLights The maximum amount of light probes to support.
+ * @return The amount of light probes this material will support, bounded by the amount necessary.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether any light probes are used to contribute to the specular shading.
+
+
+
+ * Indicates whether any light probes are used to contribute to the diffuse shading.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new LightingPass objects.
+ *
+ * @param material The material to which this pass belongs.
+
+ * LightingPass is a shader pass that uses shader methods to compile a complete program. It only includes the lighting
+ * methods. It's used by multipass materials to accumulate lighting passes.
+ *
+ * @see away3d.materials.MultiPassMaterialBase
+
+
+
+
+
+
+ ([1, 1, 1, 1])]]>
+
+
+
+ ([0, 0, 1, 1])]]>
+
+ <_constants expr="new Vector<Float>(4, true)">
+
+ (4, true)]]>
+
+ <_calcMatrix>
+ <_thickness>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+ * todo: keep maps in dictionary per renderable
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new OrthoSegmentPass object.
+ *
+ * @param thickness the thickness of the segments to be drawn.
+
+ * OrthoSegmentPass is a material pass that draws wireframe segments.
+
+
+
+
+
+
+
+ <_outlineColor>
+ <_colorData>
+ <_offsetData>
+ <_showInnerLines>
+ <_outlineMeshes>
+
+
+
+ <_dedicatedMeshes>
+
+
+
+
+
+ * Clears the dedicated mesh associated with a Mesh object to free up memory.
+
+
+
+
+
+
+ * Disposes a single dedicated sub-mesh.
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether or not strokes should be potentially drawn over the existing model.
+ * Set this to true to draw outlines for geometry overlapping in the view, useful to achieve a cel-shaded drawing outline.
+ * Setting this to false will only cause the outline to appear around the 2D projection of the geometry.
+
+
+
+
+
+
+
+ * The colour of the outline.
+
+
+
+
+
+
+
+ * The size of the outline.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new mesh in which vertices with the same position are collapsed into a single vertex. This
+ * will prevent gaps appearing where vertex normals are different for a seemingly single vertex.
+ *
+ * @param source The ISubGeometry object for which to generate a dedicated mesh.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { dedicatedMeshes : false, showInnerLines : true, outlineSize : 20, outlineColor : 0x000000 }
+ * Creates a new OutlinePass object.
+ * @param outlineColor The colour of the outline stroke
+ * @param outlineSize The size of the outline stroke
+ * @param showInnerLines Indicates whether or not strokes should be potentially drawn over the existing model.
+ * @param dedicatedWaterProofMesh Used to stitch holes appearing due to mismatching normals for overlapping vertices. Warning: this will create a new mesh that is incompatible with animations!
+
+ * OutlinePass is a pass that offsets a mesh and draws it in a single colour. This is a pass provided by OutlineMethod.
+ *
+ * @see away3d.materials.methods.OutlineMethod
+
+
+
+
+
+
+ Vector.ofArray([1.0, 1.0, 1.0, 1.0])
+
+
+
+ Vector.ofArray([0.0, 0.0, -1.0, 0.0])
+
+ <_constants expr="new Vector<Float>(4, true)">
+
+ (4, true)]]>
+
+ <_calcMatrix>
+ <_thickness>
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+ * todo: keep maps in dictionary per renderable
+
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+ away3d
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new SegmentPass object.
+ *
+ * @param thickness the thickness of the segments to be drawn.
+
+ * SegmentPass is a material pass that draws wireframe segments.
+
+
+
+
+ <_tangentSpace>
+ <_lightVertexConstantIndex>
+ <_inverseSceneMatrix expr="new Vector<Float>()">
+
+ ()]]>
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Creates a new ShadowCasterPass objects.
+ *
+ * @param material The material to which this pass belongs.
+
+ * ShadowCasterPass is a shader pass that uses shader methods to compile a complete program. It only draws the lighting
+ * contribution for a single shadow-casting light.
+ *
+ * @see away3d.materials.methods.ShadingMethodBase
+
+
+
+
+ <_textures>
+
+
+
+ <_projections>
+
+
+
+ <_textureSize>
+ <_polyOffset>
+ <_enc>
+ <_projectionTexturesInvalid expr="true">
+
+ true
+
+
+
+ * @inheritDoc
+
+
+
+ * Updates the projection textures used to contain the depth renders.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ away3d
+ * Gets the depth maps rendered for this object from all lights.
+ * @param renderable The renderable for which to retrieve the depth maps.
+ * @param stage3DProxy The Stage3DProxy object currently used for rendering.
+ * @return A list of depth map textures for all supported lights.
+
+
+
+
+
+
+ away3d
+ * Retrieves the depth map projection maps for all lights.
+ * @param renderable The renderable for which to retrieve the projection maps.
+ * @return A list of projection maps for all supported lights.
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { polyOffset : 15, textureSize : 512 }
+ * Creates a new SingleObjectDepthPass object.
+ * @param textureSize The size of the depth map texture to render to.
+ * @param polyOffset The amount by which the rendered object will be inflated, to prevent depth map rounding errors.
+ *
+ * todo: provide custom vertex code to assembler
+
+ * The SingleObjectDepthPass provides a material pass that renders a single object to a depth map from the point
+ * of view from a light.
+
+
+
+
+
+ <_cubeTexture>
+ <_vertexData>
+
+
+ * The cube texture to use as the skybox.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Creates a new SkyBoxPass object.
+
+ * SkyBoxPass provides a material pass exclusively used to render sky boxes from a cube texture.
+
+
+
+
+ <_includeCasters expr="true">
+
+ true
+
+ <_ignoreLights>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether lights that cast shadows should be included in the pass.
+
+
+
+
+
+
+
+
+ * The ColorTransform object to transform the colour of the material with. Defaults to null.
+
+
+
+
+
+
+
+
+ * The ColorTransformMethod object to transform the colour of the material with. Defaults to null.
+
+
+
+
+
+
+
+
+
+
+
+ * Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting
+ * but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the
+ * methods added prior.
+
+
+
+ * The number of "effect" methods added to the material.
+
+
+
+
+
+
+
+ * Queries whether a given effect method was added to the material.
+ *
+ * @param method The method to be queried.
+ * @return true if the method was added to the material, false otherwise.
+
+
+
+
+
+
+ * Returns the method added at the given index.
+ * @param index The index of the method to retrieve.
+ * @return The method at the given index.
+
+
+
+
+
+
+
+ * Adds an effect method at the specified index amongst the methods already added to the material. Effect
+ * methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines,
+ * etc. The method will be applied to the result of the methods with a lower index.
+
+
+
+
+
+
+ * Removes an effect method from the material.
+ * @param method The method to be removed.
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * Indicates whether any light probes are used to contribute to the specular shading.
+
+
+
+ * Indicates whether any light probes are used to contribute to the diffuse shading.
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ away3d
+ * Indicates whether lights should be ignored in this pass. This is used when only effect methods are rendered in
+ * a multipass material.
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new SuperShaderPass objects.
+ *
+ * @param material The material to which this material belongs.
+
+ * SuperShaderPass is a shader pass that uses shader methods to compile a complete program. It includes all methods
+ * associated with a material.
+ *
+ * @see away3d.materials.methods.ShadingMethodBase
+
+
+
+ <_defaultTextureBitmapData static="1">
+ <_defaultMaterial static="1">
+ <_defaultTexture static="1">
+
+
+
+
+
+ { renderable : null }
+
+
+
+
+
+
+ { renderable : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * The source, url, to the video file
+
+
+
+ * Indicates whether the player should loop when video finishes
+
+
+
+ * Master volume/gain
+
+
+
+ * Panning
+
+
+
+ * Mutes/unmutes the video's audio.
+
+
+
+ * Provides access to the SoundTransform of the video stream
+
+
+
+ * Get/Set access to the with of the video object
+
+
+
+ * Get/Set access to the height of the video object
+
+
+
+ * Provides access to the Video Object
+
+
+
+ * Indicates whether the video is playing
+
+
+
+ * Indicates whether the video is paused
+
+
+
+
+ * Start playing (or resume if paused) the video.
+
+
+
+ * Temporarily pause playback. Resume using play().
+
+
+
+
+
+
+ * Seeks to a given time in the video, specified in seconds, with a precision of three decimal places (milliseconds).
+
+
+
+ * Stop playback and reset playhead.
+
+
+
+ * Called if the player is no longer needed
+
+
+
+ <_matrix expr="new Matrix()" line="15" static="1">
+
+ new Matrix()
+
+ <_rect expr="new Rectangle()" line="16" static="1">
+
+ new Rectangle()
+
+
+
+
+
+
+
+
+
+
+ { side : -1, alpha : false, mipmap : null }
+ * Uploads a BitmapData with mip maps to a target Texture object.
+ * @param source The source BitmapData to upload.
+ * @param target The target Texture to upload to.
+ * @param mipmap An optional mip map holder to avoids creating new instances for fe animated materials.
+ * @param alpha Indicate whether or not the uploaded bitmapData is transparent.
+
+ * MipmapGenerator is a helper class that uploads BitmapData to a Texture including mipmap levels.
+
+
+
+
+
+
+
+
+
+ <_left>
+ <_right>
+ <_bottom>
+ <_top>
+ <_front>
+ <_back>
+
+
+ * Defines the material applied to the left side of the cube.
+
+
+
+
+
+
+
+ * Defines the material applied to the right side of the cube.
+
+
+
+
+
+
+
+ * Defines the material applied to the bottom side of the cube.
+
+
+
+
+
+
+
+ * Defines the material applied to the top side of the cube.
+
+
+
+
+
+
+
+ * Defines the material applied to the front side of the cube.
+
+
+
+
+
+
+
+ * Defines the material applied to the back side of the cube.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { top : null, right : null, left : null, back : null, front : null }
+ MultipleMaterials object.
+ * Class can hold up to 6 materials. Class is designed to work as typed object for materials setters in a multitude of classes such as Cube, LatheExtrude (with thickness) etc...
+ *
+ * @param front:MaterialBase [optional] The front material.
+ * @param back:MaterialBase [optional] The back material.
+ * @param left:MaterialBase [optional] The left material.
+ * @param right:MaterialBase [optional] The right material.
+ * @param top:MaterialBase [optional] The top material.
+ * @param down:MaterialBase [optional] The down material.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_src>
+ <_video>
+ <_ns>
+ <_nc>
+ <_nsClient>
+ <_soundTransform>
+ <_loop>
+ <_playing>
+ <_paused>
+ <_lastVolume>
+ <_container>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { oData : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { lineThickness : 2, lineColor : 0xffffff }
+ * Create a wireframe map with a texture fill.
+ * @param mesh The Mesh object for which to create the wireframe texture.
+ * @param bitmapData The BitmapData to use as the fill texture.
+ * @param lineColor The wireframe's line colour.
+ * @param lineThickness The wireframe's line thickness.
+
+
+
+
+
+
+
+
+
+
+
+
+ { height : 512, width : 512, fillAlpha : 0, fillColor : 0, lineThickness : 2, lineColor : 0xffffff }
+ * Create a wireframe map with a solid colour fill.
+ * @param mesh The Mesh object for which to create the wireframe texture.
+ * @param lineColor The wireframe's line colour.
+ * @param lineThickness The wireframe's line thickness.
+ * @param fillColor The colour of the wireframe fill.
+ * @param fillAlpha The alpha of the wireframe fill.
+ * @param width The texture's width.
+ * @param height The texture's height.
+ * @return A BitmapData containing the texture underneath the wireframe.
+
+
+
+
+
+
+
+
+
+ * Draws the actual lines.
+
+ * WireframeMapGenerator is a utility class to generate a wireframe texture for uniquely mapped meshes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CubicPathSegment instances in the path.]]>
+
+
+
+ IPathSegment instances which make up this path.]]>
+
+
+
+
+
+
+ CubicPathSegment at the specified index
+ * @param index The index of the segment
+ * @return A CubicPathSegment instance]]>
+
+
+
+
+
+
+ CubicPathSegment to the end of the path
+ * @param segment]]>
+
+
+
+
+
+
+
+ { join : false }
+ CubicPathSegment to be removed
+ * @param join Determines if the segments on either side of the removed segment should be adjusted so there is no gap.]]>
+
+
+
+ * Disposes the path and all the segments
+
+
+
+
+
+
+ * Discretizes the segment into a set of sample points.
+ *
+ * @param numSegments The amount of segments to split the sampling in. The amount of points returned is numSegments + 1
+
+
+
+
+
+
+
+ { target : null }
+ * Gets a point on the curve
+ * @param t The phase for which to get the point. A number between 0 and 1.
+ * @param target An optional parameter to store the calculation, to avoid creating a new Vector3D object
+ * @return The point on the curve for the given phase
+
+
+
+
+
+
+
+ <_pointsPerSegment>
+ <_segments>
+
+
+
+
+
+
+
+
+
+
+
+ * The number of segments in the Path
+
+
+
+
+
+
+
+
+
+
+ * returns a given PathSegment from the path (PathSegment holds 3 Vector3D's)
+ *
+ * @param indice uint. the indice of a given PathSegment
+ * @return given PathSegment from the path
+
+
+
+
+
+
+
+
+
+
+
+ { join : false }
+ * removes a segment in the path according to id.
+ *
+ * @param index int. The index in path of the to be removed curvesegment
+ * @param join Boolean. If true previous and next segments coordinates are reconnected
+
+
+
+
+
+
+
+
+ * Stitches two segments together based on a segment between them. This is an abstract method used by the template method removeSegment and must be overridden by concrete subclasses!
+ * @param start The section of which the end points must be connected with "end"
+ * @param middle The section that was removed and forms the position hint
+ * @param end The section of which the start points must be connected with "start"
+
+
+
+
+
+
+
+
+ { target : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { data : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { data : null }
+ pointData]]>
+
+ CubicPathSegment which being quadratic, has one control point.
+ * @see away3d.animators.CubicPathAnimator
+ * @see away3d.paths.CubicPathSegment]]>
+
+
+
+
+ * Destroys the segment
+
+
+
+
+
+
+
+ { target : null }
+ * Calculates the position of the curve on this segment.
+ *
+ * @param phase The ratio between the start and end point.
+ * @param target An optional target to store the calculation, to prevent creating a new Vector3D object.
+ * @return
+
+
+
+
+
+
+ * The first anchor point.
+
+
+
+ * The first control point.
+
+
+
+ * The second control point.
+
+
+
+ * The last anchor point.
+
+
+
+
+
+
+
+
+
+ { target : null }
+
+
+
+
+
+
+
+
+
+ *
+ * @param start The first anchor point.
+ * @param control1 The first control point.
+ * @param control2 The second control point.
+ * @param end The last anchor point.
+
+ * Defines a single segment of a cubic path
+ * @see away3d.paths.CubicPath
+
+
+
+
+
+
+
+ * returns true if the smoothPath handler is being used.
+
+
+
+ * returns true if the averagePath handler is being used.
+
+ <_averaged>
+ <_smoothed>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * handler will smooth the path using anchors as control vector of the PathSegments
+ * note that this is not dynamic, the PathSegments values are overwrited
+
+
+
+ * handler will average the path using averages of the PathSegments
+ * note that this is not dynamic, the path values are overwrited
+
+
+
+
+
+
+
+ { closed : false }
+
+
+
+
+
+
+ { data : null }
+ Path object.
+ *
+ * @param aVectors [optional] An array of a series of Vector3D's organized in the following fashion. [a,b,c,a,b,c etc...] a = pEnd, b=pControl (control point), c = v2]]>
+
+ * Holds information about a single Path definition.
+ * DEBUG OPTION OUT AT THIS TIME OF DEV
+
+
+
+
+
+ * Defines the first vector of the PathSegment
+
+
+
+ * Defines the control vector of the PathSegment
+
+
+
+ * Defines the control vector of the PathSegment
+
+
+
+
+ * nulls the 3 vectors
+
+
+
+
+
+
+
+ { target : null }
+
+
+
+
+
+
+
+ * Creates a curved line segment definition required for the Path class.
+
+
+
+
+ <_geomDirty expr="true">
+
+ true
+
+ <_uvDirty expr="true">
+
+ true
+
+ <_subGeometry>
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ { scaleV : 1, scaleU : 1 }
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Builds the primitive's geometry when invalid. This method should not be called directly. The calling should
+ * be triggered by the invalidateGeometry method (and in turn by updateGeometry).
+
+
+
+
+
+
+ * Builds the primitive's uv coordinates when invalid. This method should not be called directly. The calling
+ * should be triggered by the invalidateUVs method (and in turn by updateUVs).
+
+
+
+ * Invalidates the primitive's geometry, causing it to be updated when requested.
+
+
+
+ * Invalidates the primitive's uv coordinates, causing them to be updated when requested.
+
+
+
+ * Updates the geometry when invalid.
+
+
+
+ * Updates the uv coordinates when invalid.
+
+
+
+
+ * Creates a new PrimitiveBase object.
+ * @param material The material with which to render the object
+
+ * PrimitiveBase is an abstract base class for mesh primitives, which are prebuilt simple meshes.
+
+
+
+
+
+
+
+
+ <_radius>
+ <_height>
+ <_segmentsW>
+ <_segmentsH>
+ <_yUp>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The radius of the capsule.
+
+
+
+
+
+
+
+ * The height of the capsule.
+
+
+
+
+
+
+
+ * Defines the number of horizontal segments that make up the capsule. Defaults to 16.
+
+
+
+
+
+
+
+ * Defines the number of vertical segments that make up the capsule. Defaults to 15. Must be uneven.
+
+
+
+
+
+
+
+ * Defines whether the capsule poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { yUp : true, segmentsH : 15, segmentsW : 16, height : 100, radius : 50 }
+ * Creates a new Capsule object.
+ * @param radius The radius of the capsule.
+ * @param height The height of the capsule.
+ * @param segmentsW Defines the number of horizontal segments that make up the capsule. Defaults to 16.
+ * @param segmentsH Defines the number of vertical segments that make up the capsule. Defaults to 15. Must be uneven value.
+ * @param yUp Defines whether the capsule poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+ * A Capsule primitive mesh.
+
+
+
+
+
+
+
+
+
+
+
+
+ <_topRadius>
+ <_bottomRadius>
+ <_height>
+ <_segmentsW>
+ <_segmentsH>
+ <_topClosed>
+ <_bottomClosed>
+ <_surfaceClosed>
+ <_yUp>
+ <_rawData>
+ <_rawIndices>
+ <_nextVertexIndex>
+ <_currentIndex>
+ <_currentTriangleIndex>
+ <_numVertices>
+ <_stride>
+ <_vertexOffset>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The radius of the top end of the cylinder.
+
+
+
+
+
+
+
+ * The radius of the bottom end of the cylinder.
+
+
+
+
+
+
+
+ * The radius of the top end of the cylinder.
+
+
+
+
+
+
+
+ * Defines the number of horizontal segments that make up the cylinder. Defaults to 16.
+
+
+
+
+
+
+
+ * Defines the number of vertical segments that make up the cylinder. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines whether the top end of the cylinder is closed (true) or open.
+
+
+
+
+
+
+
+ * Defines whether the bottom end of the cylinder is closed (true) or open.
+
+
+
+
+
+
+
+ * Defines whether the cylinder poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { yUp : true, surfaceClosed : true, bottomClosed : true, topClosed : true, segmentsH : 1, segmentsW : 16, height : 100, bottomRadius : 50, topRadius : 50 }
+ * Creates a new Cylinder object.
+ * @param topRadius The radius of the top end of the cylinder.
+ * @param bottomRadius The radius of the bottom end of the cylinder
+ * @param height The radius of the bottom end of the cylinder
+ * @param segmentsW Defines the number of horizontal segments that make up the cylinder. Defaults to 16.
+ * @param segmentsH Defines the number of vertical segments that make up the cylinder. Defaults to 1.
+ * @param topClosed Defines whether the top end of the cylinder is closed (true) or open.
+ * @param bottomClosed Defines whether the bottom end of the cylinder is closed (true) or open.
+ * @param yUp Defines whether the cone poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+ * A Cylinder primitive mesh.
+
+
+
+
+
+
+
+ * The radius of the bottom end of the cone.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { yUp : true, closed : true, segmentsH : 1, segmentsW : 16, height : 100, radius : 50 }
+ * Creates a new Cone object.
+ * @param radius The radius of the bottom end of the cone
+ * @param height The height of the cone
+ * @param segmentsW Defines the number of horizontal segments that make up the cone. Defaults to 16.
+ * @param segmentsH Defines the number of vertical segments that make up the cone. Defaults to 1.
+ * @param yUp Defines whether the cone poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+ * A UV Cone primitive mesh.
+
+
+
+
+
+
+
+
+
+
+
+ <_width>
+ <_height>
+ <_depth>
+ <_tile6>
+ <_segmentsW>
+ <_segmentsH>
+ <_segmentsD>
+
+
+ * The size of the cube along its X-axis.
+
+
+
+
+
+
+
+ * The size of the cube along its Y-axis.
+
+
+
+
+
+
+
+ * The size of the cube along its Z-axis.
+
+
+
+
+
+
+
+ * The type of uv mapping to use. When false, the entire image is mapped on each face.
+ * When true, a texture will be subdivided in a 3x2 grid, each used for a single face.
+ * Reading the tiles from left to right, top to bottom they represent the faces of the
+ * cube in the following order: bottom, top, back, left, front, right. This creates
+ * several shared edges (between the top, front, left and right faces) which simplifies
+ * texture painting.
+
+
+
+
+
+
+
+ * The number of segments that make up the cube along the X-axis. Defaults to 1.
+
+
+
+
+
+
+
+ * The number of segments that make up the cube along the Y-axis. Defaults to 1.
+
+
+
+
+
+
+
+ * The number of segments that make up the cube along the Z-axis. Defaults to 1.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ { tile6 : true, segmentsD : 1, segmentsH : 1, segmentsW : 1, depth : 100, height : 100, width : 100 }
+ * Creates a new Cube object.
+ * @param width The size of the cube along its X-axis.
+ * @param height The size of the cube along its Y-axis.
+ * @param depth The size of the cube along its Z-axis.
+ * @param segmentsW The number of segments that make up the cube along the X-axis.
+ * @param segmentsH The number of segments that make up the cube along the Y-axis.
+ * @param segmentsD The number of segments that make up the cube along the Z-axis.
+ * @param tile6 The type of uv mapping to use. When true, a texture will be subdivided in a 2x3 grid, each used for a single face. When false, the entire image is mapped on each face.
+
+ * A Cube primitive mesh.
+
+
+
+
+
+
+
+
+
+
+
+ <_segmentsBase public="1">
+ <_thickness public="1">
+ <_start public="1">
+ <_end public="1">
+ <_startR public="1">
+ <_startG public="1">
+ <_startB public="1">
+ <_endR public="1">
+ <_endG public="1">
+ <_endB public="1">
+ <_index public="1" expr="-1">
+
+ -1
+
+ <_subSetIndex public="1" expr="-1">
+
+ -1
+
+ <_startColor public="1">
+ <_endColor public="1">
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, colorEnd : 0x333333, colorStart : 0x333333 }
+
+
+
+ * Defines the starting vertex.
+
+
+
+
+
+
+
+ * Defines the ending vertex.
+
+
+
+
+
+
+
+ * Defines the ending vertex.
+
+
+
+
+
+
+
+ * Defines the startColor
+
+
+
+
+
+
+
+ * Defines the endColor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, colorEnd : 0x333333, colorStart : 0x333333 }
+
+
+
+
+
+
+ "line"
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, color1 : 0x333333, color0 : 0x333333 }
+ * Create a line segment
+ * @param v0 Start position of the line segment
+ * @param v1 Ending position of the line segment
+ * @param color0 Starting color of the line segment
+ * @param color1 Ending colour of the line segment
+ * @param thickness Thickness of the line
+
+ * A Line Segment primitive.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_controlNet>
+ <_uOrder>
+ <_vOrder>
+ <_numVContolPoints>
+ <_numUContolPoints>
+ <_uSegments>
+ <_vSegments>
+ <_uKnotSequence>
+ <_vKnotSequence>
+ <_mbasis expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_nbasis expr="new Vector<Float>()">
+
+ ()]]>
+
+ <_nplusc>
+ <_mplusc>
+ <_uRange>
+ <_vRange>
+ <_autoGenKnotSeq expr="true">
+
+ true
+
+ <_invert>
+ <_tmpPM expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_tmpP1 expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_tmpP2 expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_tmpN1 expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_tmpN2 expr="new Vector3D()">
+
+ new Vector3D()
+
+ <_rebuildUVs>
+
+
+ * Defines the control point net to describe the NURBS surface
+
+
+
+
+
+
+
+ * Defines the number of control points along the U splines that influence any given point on the curve
+
+
+
+
+
+
+
+ * Defines the number of control points along the V splines that influence any given point on the curve
+
+
+
+
+
+
+
+ * Defines the number of control points along the U splines
+
+
+
+
+
+
+
+ * Defines the number of control points along the V splines
+
+
+
+
+
+
+
+ * Defines the knot sequence in the U direction that determines where and how the control points
+ * affect the NURBS curve.
+
+
+
+
+
+
+
+ * Defines the knot sequence in the V direction that determines where and how the control points
+ * affect the NURBS curve.
+
+
+
+
+
+
+
+ * Defines the number segments (triangle pair) the final curve will be divided into in the U direction
+
+
+
+
+
+
+
+ * Defines the number segments (triangle pair) the final curve will be divided into in the V direction
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { target : null }
+ away3d
+
+ @private
+
+
+
+
+
+
+
+
+
+
+
+ { vTol : 0.01, uTol : 0.01, scale : 1, vecOffset : 0 }
+ * Return a 3d point representing the surface point at the required U(0-1) and V(0-1) across the
+ * NURBS curved surface.
+ *
+ * @param uS U position on the surface
+ * @param vS V position on the surface
+ * @param vecOffset Offset the point on the surface by this vector
+ * @param scale Scale of the surface point - should match the Mesh scaling
+ * @param uTol U tolerance for adjacent surface sample to calculate normal
+ * @param vTol V tolerance for adjacent surface sample to calculate normal
+ * @return The offset surface point being returned
+ *
+
+
+
+ away3d
+ @private
+
+
+
+
+
+
+
+ away3d
+ @private
+
+
+
+
+
+
+
+
+
+ away3d
+ @private
+
+
+
+
+
+
+ * Rebuild the mesh as there is significant change to the structural parameters
+ *
+
+
+
+
+
+
+ * Rebuild the UV coordinates as there is significant change to the structural parameters
+ *
+
+
+
+ * Refresh the mesh without reconstructing all the supporting data. This should be used only
+ * when the control point positions change.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { vKnot : null, uKnot : null, vSegments : 10, uSegments : 10, vOrder : 4, uOrder : 4 }
+ * NURBS primitive generates a segmented mesh that fits the curved surface defined by the specified
+ * control points based on weighting, order influence and knot sequence
+ *
+ * @param cNet Array of control points (WeightedVertex array)
+ * @param uCtrlPnts Number of control points in the U direction
+ * @param vCtrlPnts Number of control points in the V direction
+ * @param init Init object for the mesh
+ *
+
+ * A NURBS primitive geometry.
+
+
+
+
+
+
+
+
+
+ <_segmentsW>
+ <_segmentsH>
+ <_yUp>
+ <_width>
+ <_height>
+ <_doubleSided>
+
+
+ * The number of segments that make up the plane along the X-axis. Defaults to 1.
+
+
+
+
+
+
+
+ * The number of segments that make up the plane along the Y or Z-axis, depending on whether yUp is true or
+ * false, respectively. Defaults to 1.
+
+
+
+
+
+
+
+ * Defines whether the normal vector of the plane should point along the Y-axis (true) or Z-axis (false). Defaults to true.
+
+
+
+
+
+
+
+ * Defines whether the plane will be visible from both sides, with correct vertex normals (as opposed to bothSides on Material). Defaults to false.
+
+
+
+
+
+
+
+ * The width of the plane.
+
+
+
+
+
+
+
+ * The height of the plane.
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ { doubleSided : false, yUp : true, segmentsH : 1, segmentsW : 1, height : 100, width : 100 }
+ * Creates a new Plane object.
+ * @param width The width of the plane.
+ * @param height The height of the plane.
+ * @param segmentsW The number of segments that make up the plane along the X-axis.
+ * @param segmentsH The number of segments that make up the plane along the Y or Z-axis.
+ * @param yUp Defines whether the normal vector of the plane should point along the Y-axis (true) or Z-axis (false).
+ * @param doubleSided Defines whether the plane will be visible from both sides, with correct vertex normals.
+
+ * A Plane primitive mesh.
+
+
+
+
+
+
+
+
+
+ * The radius of the regular polygon.
+
+
+
+
+
+
+
+ * The number of sides of the regular polygon.
+
+
+
+
+
+
+
+ * The number of subdivisions from the edge to the center of the regular polygon.
+
+
+
+
+
+
+
+
+
+
+
+
+ { yUp : true, sides : 16, radius : 100 }
+ * Creates a new RegularPolygon disc object.
+ * @param radius The radius of the regular polygon
+ * @param sides Defines the number of sides of the regular polygon.
+ * @param yUp Defines whether the regular polygon should lay on the Y-axis (true) or on the Z-axis (false).
+
+ * A UV RegularPolygon primitive mesh.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_geometry>
+ <_material>
+ <_uvTransform expr="new Matrix()">
+
+ new Matrix()
+
+ <_uvTransform2 expr="new Matrix()">
+
+ new Matrix()
+
+ <_animator>
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The amount of triangles that comprise the SkyBox geometry.
+
+
+
+ * The entity that that initially provided the IRenderable to the render pipeline.
+
+
+
+ * The material with which to render the object.
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * Builds the geometry that forms the SkyBox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Create a new SkyBox object.
+ * @param cubeMap The CubeMap to use for the sky box's texture.
+
+ * A SkyBox class is used to render a sky in the scene. It's always considered static and 'at infinity', and as
+ * such it's always centered at the camera's position and sized to exactly fit within the camera's frustum, ensuring
+ * the sky box is always as large as possible without being clipped.
+
+
+
+
+
+
+
+
+ <_radius>
+ <_segmentsW>
+ <_segmentsH>
+ <_yUp>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The radius of the sphere.
+
+
+
+
+
+
+
+ * Defines the number of horizontal segments that make up the sphere. Defaults to 16.
+
+
+
+
+
+
+
+ * Defines the number of vertical segments that make up the sphere. Defaults to 12.
+
+
+
+
+
+
+
+ * Defines whether the sphere poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { yUp : true, segmentsH : 12, segmentsW : 16, radius : 50 }
+ * Creates a new Sphere object.
+ * @param radius The radius of the sphere.
+ * @param segmentsW Defines the number of horizontal segments that make up the sphere.
+ * @param segmentsH Defines the number of vertical segments that make up the sphere.
+ * @param yUp Defines whether the sphere poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+ * A UV Sphere primitive mesh.
+
+
+
+
+
+
+
+
+
+ <_radius>
+ <_tubeRadius>
+ <_segmentsR>
+ <_segmentsT>
+ <_yUp>
+ <_rawVertexData>
+ <_rawIndices>
+ <_nextVertexIndex>
+ <_currentIndex>
+ <_currentTriangleIndex>
+ <_numVertices>
+ <_vertexStride>
+ <_vertexOffset>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The radius of the torus.
+
+
+
+
+
+
+
+ * The radius of the inner tube of the torus.
+
+
+
+
+
+
+
+ * Defines the number of horizontal segments that make up the torus. Defaults to 16.
+
+
+
+
+
+
+
+ * Defines the number of vertical segments that make up the torus. Defaults to 8.
+
+
+
+
+
+
+
+ * Defines whether the torus poles should lay on the Y-axis (true) or on the Z-axis (false).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { yUp : true, segmentsT : 8, segmentsR : 16, tubeRadius : 50, radius : 50 }
+ Torus object.
+ * @param radius The radius of the torus.
+ * @param tuebRadius The radius of the inner tube of the torus.
+ * @param segmentsR Defines the number of horizontal segments that make up the torus.
+ * @param segmentsT Defines the number of vertical segments that make up the torus.
+ * @param yUp Defines whether the torus poles should lay on the Y-axis (true) or on the Z-axis (false).]]>
+
+ * A UV Cylinder primitive mesh.
+
+
+
+
+
+
+ <_geomDirty expr="true">
+
+ true
+
+ <_color>
+ <_thickness>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, color : 0xffffff }
+
+
+
+
+
+
+
+ <_width>
+ <_height>
+ <_depth>
+
+
+ * The size of the cube along its X-axis.
+
+
+
+
+
+
+
+ * The size of the cube along its Y-axis.
+
+
+
+
+
+
+
+ * The size of the cube along its Z-axis.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, color : 0xFFFFFF, depth : 100, height : 100, width : 100 }
+ * Creates a new WireframeCube object.
+ * @param width The size of the cube along its X-axis.
+ * @param height The size of the cube along its Y-axis.
+ * @param depth The size of the cube along its Z-axis.
+ * @param color The colour of the wireframe lines
+ * @param thickness The thickness of the wireframe lines
+
+ * A WirefameCube primitive mesh.
+
+
+
+
+
+
+ 2 * Math.PI
+
+
+
+
+ <_topRadius>
+ <_bottomRadius>
+ <_height>
+ <_segmentsW>
+ <_segmentsH>
+
+
+
+ * Top radius of the cylinder
+
+
+
+
+
+
+
+ * Bottom radius of the cylinder
+
+
+
+
+
+
+
+ * The height of the cylinder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, color : 0xFFFFFF, segmentsH : 1, segmentsW : 16, height : 100, bottomRadius : 50, topRadius : 50 }
+ * Creates a new WireframeCylinder instance
+ * @param topRadius Top radius of the cylinder
+ * @param bottomRadius Bottom radius of the cylinder
+ * @param height The height of the cylinder
+ * @param segmentsW Number of radial segments
+ * @param segmentsH Number of vertical segments
+ * @param color The color of the wireframe lines
+ * @param thickness The thickness of the wireframe lines
+
+ * Generates a wireframd cylinder primitive.
+
+
+
+
+
+ "yz"
+
+
+
+ "xy"
+
+
+
+ "xz"
+
+
+
+
+
+
+ <_width>
+ <_height>
+ <_segmentsW>
+ <_segmentsH>
+ <_orientation>
+
+
+ * The orientaion in which the plane lies.
+
+
+
+
+
+
+
+ * The size of the cube along its X-axis.
+
+
+
+
+
+
+
+ * The size of the cube along its Y-axis.
+
+
+
+
+
+
+
+ * The number of segments that make up the plane along the X-axis.
+
+
+
+
+
+
+
+ * The number of segments that make up the plane along the Y-axis.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+ { orientation : "yz", thickness : 1, color : 0xFFFFFF, segmentsH : 10, segmentsW : 10 }
+ * Creates a new WireframePlane object.
+ * @param width The size of the cube along its X-axis.
+ * @param height The size of the cube along its Y-axis.
+ * @param segmentsW The number of segments that make up the cube along the X-axis.
+ * @param segmentsH The number of segments that make up the cube along the Y-axis.
+ * @param color The colour of the wireframe lines
+ * @param thickness The thickness of the wireframe lines
+ * @param orientation The orientaion in which the plane lies.
+
+ * A WireframePlane primitive mesh.
+
+
+
+
+
+ "yz"
+
+
+
+ "xy"
+
+
+
+ "xz"
+
+
+
+
+ <_radius>
+ <_sides>
+ <_orientation>
+
+
+ * The orientaion in which the polygon lies.
+
+
+
+
+
+
+
+ * The radius of the regular polygon.
+
+
+
+
+
+
+
+ * The number of sides to the regular polygon.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { orientation : "yz", thickness : 1, color : 0xFFFFFF }
+ * Creates a new WireframeRegularPolygon object.
+ * @param radius The radius of the polygon.
+ * @param sides The number of sides on the polygon.
+ * @param color The colour of the wireframe lines
+ * @param thickness The thickness of the wireframe lines
+ * @param orientation The orientaion in which the plane lies.
+
+ * A WireframeRegularPolygon primitive mesh.
+
+
+
+ <_segmentsW>
+ <_segmentsH>
+ <_radius>
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { thickness : 1, color : 0xFFFFFF, segmentsH : 12, segmentsW : 16, radius : 50 }
+ * Creates a new WireframeSphere object.
+ * @param radius The radius of the sphere.
+ * @param segmentsW Defines the number of horizontal segments that make up the sphere.
+ * @param segmentsH Defines the number of vertical segments that make up the sphere.
+ * @param color The colour of the wireframe lines
+ * @param thickness The thickness of the wireframe lines
+
+ * A WireframeSphere primitive mesh
+
+
+
+
+
+
+ "yz"
+
+
+
+ "xy"
+
+
+
+ "xz"
+
+
+
+
+ <_width>
+ <_height>
+ <_orientation>
+
+
+ * The orientation in which the plane lies
+
+
+
+
+
+
+
+ * The size of the tetrahedron bottom.
+
+
+
+
+
+
+
+ * The size of the tetrahedron height.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+ { orientation : "yz", thickness : 1, color : 0xffffff }
+ * Creates a new WireframeTetrahedron object.
+ * @param width The size of the tetrahedron buttom size.
+ * @param height The size of the tetranhedron height.
+ * @param color The color of the wireframe lines.
+ * @param thickness The thickness of the wireframe lines.
+
+ * A WireframeTetrahedron primitive mesh
+
+
+
+
+ <_w>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { w : 1, z : 0, y : 0, x : 0 }
+ Vertex object.
+ *
+ * @param x [optional] The local x position of the vertex. Defaults to 0.
+ * @param y [optional] The local y position of the vertex. Defaults to 0.
+ * @param z [optional] The local z position of the vertex. Defaults to 0.
+ * @param w [optional] The local w weight of the vertex. Defaults to 1.]]>
+
+ * A nurbvertex that simply extends vertex with a w weight property.
+ * Properties x, y, z and w represent a 3d point in space with nurb weighting.
+
+
+
+
+
+
+
+ <_leftCam>
+ <_rightCam>
+ <_offset>
+ <_focus>
+ <_focusPoint>
+ <_focusInfinity>
+ <_leftCamDirty expr="true">
+
+ true
+
+ <_rightCamDirty expr="true">
+
+ true
+
+ <_focusPointDirty expr="true">
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { lens : null }
+
+
+
+
+
+ <_leftTexture>
+ <_rightTexture>
+ <_rttManager>
+ <_program3D>
+ <_method>
+ <_program3DInvalid expr="true">
+
+ true
+
+ <_leftTextureInvalid expr="true">
+
+ true
+
+ <_rightTextureInvalid expr="true">
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { renderMethod : null }
+
+
+
+
+
+
+
+ <_stereoCam>
+ <_stereoRenderer>
+ <_stereoEnabled>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { stereoRenderMethod : null, renderer : null, camera : null, scene : null }
+
+
+ openfl.utils._internal.AssetsMacro.initBinding()
+ openfl.utils._internal.AssetsMacro.initBinding()
+
+
+
+ <_textureSizeInvalid expr="true">
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_filterData>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_shaderData>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_sbsData>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds kerning information relative to a specific other character ID.
+
+
+
+
+
+
+ Retrieve kerning information relative to the given character ID.
+
+
+
+ The unicode ID of the char.
+
+
+
+
+ The number of points to move the char in x direction on character arrangement.
+
+
+
+
+ The number of points to move the char in y direction on character arrangement.
+
+
+
+
+ The number of points the cursor has to be moved to the right for the next char.
+
+
+
+
+ The width of the character in points.
+
+
+
+
+ The height of the character in points.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a char with a texture and its properties.
+
+ You don't have to use this class directly in most cases.
+ * The TextField class contains methods that handle bitmap fonts for you.]]>
+
+
+
+
+
+ -1
+ fontSize property of the TextField class to
+ * render the bitmap font in exactly the size it was created.]]>
+
+
+
+ "mini"
+ The font name of the embedded minimal bitmap font. Use this e.g. for debug output.
+
+
+
+ 32
+
+
+
+ 9
+
+
+
+ 10
+
+
+
+ 13
+
+
+
+ >()]]>
+ Helper objects.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disposes the texture of the bitmap font!
+
+
+
+
+
+
+
+
+
+
+ Returns a single bitmap char with a certain character ID.
+
+
+
+
+
+
+
+ Adds a bitmap char with a certain character ID.
+
+
+
+
+
+
+ { result : null }
+ Returns a vector containing all the character IDs that are contained in this font.
+
+
+
+
+
+
+ Checks whether a provided string can be displayed with the font.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { letterSpacing : 0, kerning : true, autoScale : true, vAlign : "center", hAlign : "center", fontSize : -1 }
+ Draws text into a Geometry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { letterSpacing : 0, kerning : true, autoScale : true, vAlign : "center", hAlign : "center", fontSize : -1 }
+ Arranges the characters of a text inside a rectangle, adhering to the given settings.
+ * Returns a Vector of CharLocations.
+
+
+
+ The name of the font as it was parsed from the font file.
+
+
+
+
+ The native size of the font.
+
+
+
+
+ The height of one line in points.
+
+
+
+
+
+
+
+
+ The baseline of the font. This property does not affect text rendering;
+ * it's just an information that may be useful for exact text placement.
+
+
+
+
+
+
+
+
+ An offset that moves any generated text along the x-axis (in points).
+ * Useful to make up for incorrect font data. @default 0.
+
+
+
+
+
+
+
+
+ An offset that moves any generated text along the y-axis (in points).
+ * Useful to make up for incorrect font data. @default 0.
+
+
+
+
+
+
+
+
+ The underlying texture that contains all the chars.
+
+
+
+
+
+
+
+
+ { fontXml : null, texture : null }
+ Creates a bitmap font by parsing an Xml file and uses the specified texture.
+ * If you don't pass any data, the "mini" font will be created.
+
+ AngelCode Bitmap Font Generator or
+ * the Glyph Designer.
+ * This is what the file format looks like:
+ *
+ *
+ *
+ * Pass an instance of this class to the method registerBitmapFont of the
+ * TextField class. Then, set the fontName property of the text field to the
+ * name value of the bitmap font. This will make the text field use the bitmap
+ * font.]]>
+
+
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+ * @author P.J.Shand
+
+
+
+
+
+
+
+
+
+ here.
+ *
+ * @param str String to clean
+ * @return The input string, but with a master string only one character larger than it.
+ * @author Jackson Dunstan, JacksonDunstan.com]]>
+
+
+
+
+
+ "left"
+ Left alignment.
+
+
+
+ "center"
+ Centered alignement.
+
+
+
+ "right"
+ Right alignment.
+
+
+
+
+
+
+ Indicates whether the given alignment string is valid.
+
+
+
+ away3d
+ @private
+
+ A class that provides constant values for horizontal alignment of objects.
+
+
+
+
+
+
+
+
+
+ "haxe.ds.StringMap.*"
+
+
+
+
+
+
+
+
+ See `Map.set`
+
+
+
+
+
+
+
+ See `Map.get`
+
+
+
+
+
+
+
+ See `Map.exists`
+
+
+
+
+
+
+
+ See `Map.remove`
+
+
+
+
+ See `Map.keys`
+
+ (cs, java) Implementation detail: Do not `set()` any new value while
+ iterating, as it may cause a resize, which will break iteration.
+
+
+
+
+ See `Map.iterator`
+
+ (cs, java) Implementation detail: Do not `set()` any new value while
+ iterating, as it may cause a resize, which will break iteration.
+
+
+
+
+
+
+
+ See `Map.keyValueIterator`
+
+
+
+
+ See `Map.toString`
+
+
+
+
+ See `Map.clear`
+
+
+
+ Creates a new StringMap.
+
+ StringMap allows mapping of String keys to arbitrary values.
+
+ See `Map` for documentation details.
+
+ @see https://haxe.org/manual/std-Map.html
+
+
+
+ \r\n inline void set(String key, const ::cpp::Struct &value) {__string_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(String key, const ::cpp::Function &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(String key, const ::cpp::Pointer &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }\r\n\r\n inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }\r\n inline int get_int(String key) { return __string_hash_get_int(h,key); }\r\n inline Float get_float(String key) { return __string_hash_get_float(h,key); }\r\n inline String get_string(String key) { return __string_hash_get_string(h,key); }\r\n"]]>
+
+
+
+
+
+
+ ");
+ h.set("amp", "&");
+ h.set("quot", "\"");
+ h.set("apos", "'");
+ h;
+}]]>
+
+
+
+
+
+
+
+ { strict : false }
+ Parses the String into an XML Document. Set strict parsing to true in order to enable a strict check of XML attributes and entities.
+
+ @throws haxe.xml.XmlParserException
+
+
+
+
+
+
+
+
+
+ { p : 0 }
+
+
+
+
+
+
+
+
+
+ the XML parsing error message
+
+
+
+ the line number at which the XML parsing error occurred
+
+
+
+ the character position in the reported line at which the parsing error occurred
+
+
+
+ the character position in the XML string at which the parsing error occurred
+
+
+
+ the invalid XML string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 128
+
+
+
+ 64
+
+
+
+ [0x78daed5d, 0xcb6edb40, 0xc0c8aa2, 0x871e8a1e, 0xfabffe34, 0xff842ffd, 0x1f0d03, 0xbee56027, 0x150a0182, 0xb04bce0c, 0xb9969290, 0x80a18492, 0x578ab924, 0x872fe7e5, 0xa5a8e83f, 0x7d3b1c0e, 0xcba3ca7f, 0xfb47eb6b, 0xd6b4bc06, 0x3ddf7b0f, 0x732dfb9e, 0xbdadd33b, 0xb7fcdd3a, 0x67c9fefe, 0x783ce6a3, 0xca5fdfcb, 0x3aa7c8b3, 0xb5c69fdb, 0xed96b55f, 0x3ee23aad, 0x6badf7b7, 0x6896d352, 0x5e0a7f0b, 0x42ffc6a2, 0xe7c9c1da, 0x93f3cf33, 0xadd788f2, 0xdf1aa4f0, 0x339f07b5, 0x650a9f79, 0x8f253bf4, 0xb991eb3d, 0x9bf4f37c, 0x3ecfaf11, 0x7cc64e58, 0xfc11cf93, 0x2167cf97, 0x32f2b79e, 0x9b951f2a, 0xff0cfd44, 0xf93dbb80, 0xf047eaad, 0x22ff0826, 0x40747ffd, 0x395a47c6, 0x2eb4d67d, 0xd6e7f799, 0xf47f94fc, 0x113ce9fd, 0x9d110c9f, 0xcddf93ff, 0xcfe46f25, 0x7f16bf79, 0xbca2a2a2, 0xfdc66f88, 0x2de8e9fa, 0x89f67d9, 0x2a261fc2, 0xaee7e52f, 0x33ee91bd, 0x1e9337f4, 0x30309b7b, 0x1cb91f99, 0xb888f191, 0xd67aadfc, 0x65f63d46, 0xad17c5bf, 0x685ec08b, 0x2394fc42, 0x514c6f2c, 0x1bc3c839, 0x12cf2ccf, 0xffbe5eaf, 0xf38bc197, 0xab654f2, 0x846cfc3a, 0xeaf9945c, 0x5a8f87e4, 0xc43cdfc6, 0xea73561e, 0xc58aad55, 0xdeb24e14, 0xe53de399, 0x23f267f4, 0x9f951b6b, 0xbf27fe8f, 0xd3e934bf, 0xb6927fcb, 0xb6a9bcbd, 0xcb5fa993, 0x295823e2, 0xff23759d, 0x2d795e4d, 0x6b6b9fa5, 0xe0ffa28a, 0xfb99b802, 0x39dfaa23, 0x2136818d, 0x7d99b818, 0xd133a606, 0xcada0134, 0xfe433f73, 0x358f82c8, 0x3b12a37b, 0x7cab86a0, 0xc6c3bdd8, 0x25c3f77a, 0xfb7579cd, 0x84157b78, 0x31c31ea3, 0x7e3e438e, 0x5139a3b9, 0xe155b3c, 0x4bfe1e76, 0x56f27196, 0x2f8fea65, 0xc40fcc78, 0x7d642ddc, 0xeb396073, 0x9f887f89, 0x60cdde9e, 0x44f6536f, 0xbde91a24, 0x8660ecff, 0x47d17f34, 0x4e55634e, 0xc51e2238, 0xa85707f7, 0xe4dfb34f, 0x7b957f14, 0x6fa8bd19, 0x688f0eea, 0x5b19fbe9, 0x6138b40e, 0x86e6cc11, 0xfb8fac97, 0xd1fb17c5, 0xd90afe2f, 0x2a2ada5f, 0xcdc8eb93, 0x52e3b1ac, 0x9c328211, 0x3d3bcaac, 0xcbd43a94, 0xda48a427, 0x2da3af62, 0xe2fdba5c, 0x2edf8fc7, 0xe3f4427d, 0x2a8319d0, 0xfe06c48f, 0xcef1756b, 0xee07dd8f, 0x564e1f8d, 0x535a6b21, 0x7218d5ab, 0x8ef86455, 0xf7bd3dc0, 0xe608d7c7, 0xbff7fb9d, 0xc90fb0fa, 0xbde6f762, 0x4e6f4d04, 0xa77af241, 0xeeedadaf, 0xf4b6aab1, 0x5f566d84, 0xd1713637, 0x3452ff23, 0xfa3c5aff, 0xd9789bcd, 0xa928fbdb, 0xc20c6cce, 0x92f5bdd9, 0xfe1fed31, 0x1fe1ff51, 0xac36a21e, 0x50f4b5b0, 0x3fbb7732, 0xe6abacbd, 0x9cb1c747, 0xcd8da03e, 0x1a5d9f8d, 0x3d143e62, 0xef51db1d, 0xc1c44c4f, 0x5a34079d, 0x918f547c, 0x73e65c5a, 0x2bd6b1f8, 0x197359ea, 0xfc5f54ff, 0x47c83f2b, 0xc68af441, 0x8ef87c18, 0xfb98153b, 0x66cc5d47, 0xe2906c3d, 0xcffaee96, 0xe83e63f5, 0xdc5ac7eb, 0xa918edff, 0xd9f59539, 0xc7a8bd60, 0xe31e569f, 0xd9dad668, 0xff5f98bf, 0x88c9ffab, 0xfacc600c, 0x264f9185, 0x93a3bd87, 0x8a3f89fa, 0x22269fc7, 0xe47a959c, 0x398395d0, 0x7c12b35f, 0xd4ef63b0, 0x7a8fd8d9, 0x744f8668, 0x7f29dbe7, 0xa5ec53f4, 0x1e91b911, 0x366f88e0, 0x64063778, 0xcfef7daf, 0xc91a6fa1, 0x98c43ad7, 0xda839ead, 0x633134da, 0x73d8dbff, 0x2cbe6567, 0x933f49f, 0x99475cea, 0x32d27b68, 0xf5692176, 0x7584fc55, 0xf928b9ec, 0x48de68b4, 0xff57f03f, 0xabb36adc, 0xa1f866a4, 0x4616ed79, 0x44fb552b, 0x1e286271, 0x9cda1f88, 0xda39e688, 0xd61691d9, 0x9c68ff65, 0x74263c7b, 0xd657994f, 0x4463bf56, 0xf4e0f47, 0x45f34b6c, 0x8cc89c5f, 0xfafcdeac, 0xb797d38c, 0xce84abba, 0xe3c9d0f3, 0x5756bc13, 0xa9f1a331, 0xbb5a6f60, 0xe21756fe, 0xc8cc504f, 0xfeca4c78, 0xcf0e45e4, 0xcfe015b4, 0x2e14ed1b, 0x607a6b94, 0x9931c6be, 0x7bb1c833, 0x67c2959e, 0x11346657, 0x6d8782d9, 0x23f98c68, 0xbdb1a8a8, 0x281ffb5b, 0xb81ab13d, 0xacad8ac4, 0xbe4bfe34, 0xabfabafa, 0x3f0419d8, 0x42a9ff79, 0xf9462f7f, 0xb965ed07, 0xc57b4abe, 0x8cb9ce8a, 0x2bd6ebcd, 0xb25fee81, 0x8cb8ea2b, 0xf99d489f, 0x10a3ff68, 0x5e8ed923, 0x45f9f267, 0xf22c4545, 0x45454545, 0x45454545, 0x45454545, 0x45454545, 0x45fba577, 0x2eecdb70]
+
+
+
+ \n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t")]]>
+
+
+
+
+
+
+ The font is based on "uni05_53.ttf" from Craig Kroeger (http://www.miniml.com) and was
+ * converted to a Bitmap Font with "GlyphDesigner" from 71squared (http://www.71squared.com).
+ * ]]>
+
+
+
+ hide
+
+
+
+
+
+
+
+
+
+
+ <_format expr="BGRA">
+
+ BGRA
+
+ <_hasMipmaps expr="true">
+
+ true
+
+ <_textures>
+ <_dirty>
+ <_width>
+ <_height>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_bitmapData>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ()]]>
+
+
+
+ ()]]>
+
+
+
+ ""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ true
+
+ <_boundsRect expr="new Rectangle()">
+
+ new Rectangle()
+
+ <_textHeight>
+ <_textWidth>
+ <_subGeometry>
+
+
+
+
+
+
+
+
+
+
+ Indicates whether the text is bold. @default false
+
+
+
+
+
+
+
+
+ Indicates whether the text is italicized. @default false
+
+
+
+
+
+
+
+
+ Indicates whether the text is underlined. @default false
+
+
+
+
+
+
+
+
+ Indicates whether kerning is enabled. @default true
+
+
+
+
+
+
+
+
+ A number representing the amount of space that is uniformly distributed between all characters.
+ * The value specifies the number of pixels that are added to the advance after each character.
+ * The default value is null, which means that 0 pixels of letter spacing is used.
+ * You can use decimal values such as 1.75. @default 0
+
+
+
+
+
+
+
+
+ Indicates whether the font size is scaled down so that the complete text fits
+ * into the text field. @default false
+
+
+
+
+
+
+
+
+ Specifies the type of auto-sizing the TextField will do.
+ * Note that any auto-sizing will make auto-scaling useless. Furthermore, it has
+ * implications on alignment: horizontally auto-sized text will always be left-,
+ * vertically auto-sized text will always be top-aligned. @default "none"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { _hAlign : "left", bold : false, color : 0x0, fontSize : 12 }
+
+
+
+
+
+ "top"
+ Top alignment.
+
+
+
+ "center"
+ Centered alignment.
+
+
+
+ "bottom"
+ Bottom alignment.
+
+
+
+
+
+
+ Indicates whether the given alignment string is valid.
+
+
+
+ away3d
+ @private
+
+ A class that provides constant values for vertical alignment of objects.
+
+
+
+
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+ { mipmap : true, cacheMaterial : false }
+ *
+ * @param type
+ * @param cacheMaterial - When true performance will improve but text using the same font will all use the samer material.
+ * meaning that color transforms will affect all of them.
+ * @return
+
+
+
+
+
+
+
+
+ { mipmap : true, cacheMaterial : false }
+
+
+
+
+
+
+
+
+
+
+
+ { cacheMaterial : false }
+
+
+ * ...
+ * @author P.J.Shand
+ * @author Thomas Byrne
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+ * @author P.J.Shand
+ * @author Thomas Byrne
+
+
+
+
+
+
+
+
+
+
+
+ { searchClass : true }
+
+ * ...
+ * @author P.J.Shand
+ * @author Thomas Byrne
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_atfData>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0x0
+
+
+
+ 0x1
+
+
+
+
+
+
+
+
+
+
+
+
+ Create a new instance by parsing the given byte array.
+
+
+
+
+
+
+ <_atfData>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cast 0
+
+
+
+
+
+
+
+ cast 1
+
+
+
+
+
+
+
+ cast 2
+
+
+
+
+
+
+
+ cast 3
+
+
+
+
+
+
+
+ cast 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cast 0
+
+
+
+
+
+
+
+ cast 1
+
+
+
+
+
+
+
+ cast 2
+
+
+
+
+
+
+
+ cast 3
+
+
+
+
+
+
+
+ cast 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_bitmapDatas>
+
+
+ * The texture on the cube's right face.
+
+
+
+
+
+
+
+ * The texture on the cube's left face.
+
+
+
+
+
+
+
+ * The texture on the cube's top face.
+
+
+
+
+
+
+
+ * The texture on the cube's bottom face.
+
+
+
+
+
+
+
+ * The texture on the cube's far face.
+
+
+
+
+
+
+
+ * The texture on the cube's near face.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_mipMaps expr="[]" line="16" static="1">
+
+ []
+
+ <_mipMapUses expr="[]" line="17" static="1">
+
+ []
+
+ <_bitmapData>
+ <_mipMapHolder>
+ <_generateMipmaps>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { generateMipmaps : true }
+
+
+
+
+ <_instance static="1">
+
+ <_textures>
+
+
+
+ <_usages>
+
+
+
+
+
+
+
+
+
+
+
+
+ * DEPRECRATED along with BitmapMaterial. Will be removed along with BitmapMaterial
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_mockTexture>
+ <_mockBitmapData>
+ <_renderer>
+ <_entityCollector>
+ <_cameras>
+ <_lenses>
+ <_nearPlaneDistance expr=".01">
+
+ .01
+
+ <_farPlaneDistance expr="2000">
+
+ 2000
+
+ <_position>
+ <_isRendering>
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The origin where the environment map will be rendered. This is usually in the centre of the reflective object.
+
+
+
+
+
+
+
+ * The near plane used by the camera lens.
+
+
+
+
+
+
+
+ * The far plane of the camera lens. Can be used to cut off objects that are too far to be of interest in reflections
+
+
+
+
+
+
+
+
+
+
+ * Renders the scene in the given view for reflections.
+ * @param view The view containing the scene to render.
+
+
+
+ * The renderer to use.
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Creates a new CubeReflectionTexture object
+ * @param size The size of the cube texture
+
+ * CubeReflectionTexture provides a cube map texture for real-time reflections, used for any method that uses environment maps,
+ * such as EnvMapMethod.
+ *
+ * @see away3d.materials.methods.EnvMapMethod
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_mockTexture>
+ <_mockBitmapData>
+ <_renderer>
+ <_scale expr="1">
+
+ 1
+
+ <_isRendering>
+ <_entityCollector>
+ <_camera>
+ <_plane>
+ <_matrix>
+ <_vector>
+ <_scissorRect>
+ <_lens>
+ <_viewWidth>
+ <_viewHeight>
+
+
+ * The plane to reflect with.
+
+
+
+
+
+
+
+
+
+
+ * Sets the plane to match a given matrix. This is used to easily match a Mesh using a PlaneGeometry and yUp = false.
+ * @param matrix The transformation matrix to rotate the plane with.
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * The renderer to use.
+
+
+
+
+
+
+
+ * A scale factor to reduce the quality of the reflection. Default value is 1 (same quality as the View)
+
+
+
+
+
+
+
+
+
+
+ * Renders the scene in the given view for reflections.
+ * @param view The view containing the Scene to render.
+
+
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { result : null }
+
+
+
+
+
+
+
+
+
+ * Creates a new PlanarReflectionTexture object.
+
+ * PlanarReflectionTexture is a Texture that can be used for material-based planar reflections, as provided by PlanarReflectionMethod, FresnelPlanarReflectionMethod.
+ *
+ * @see away3d.materials.methods.PlanarReflectionMethod
+
+
+
+
+
+ <_specularMap>
+ <_glossMap>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { glossMap : null, specularMap : null }
+
+ * A convenience texture that encodes a specular map in the red channel, and the gloss map in the green channel, as expected by BasicSpecularMapMethod
+
+
+
+
+
+
+
+
+ <_broadcaster>
+ <_autoPlay>
+ <_autoUpdate>
+ <_materialWidth>
+ <_materialHeight>
+ <_player>
+ <_clippingRect>
+
+
+ * Draws the video and updates the bitmap texture
+ * If autoUpdate is false and this function is not called the bitmap texture will not update!
+
+
+
+
+
+
+
+
+
+
+
+ * Indicates whether the video will start playing on initialisation.
+ * If false, only the first frame is displayed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Indicates whether the material will redraw onEnterFrame
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { player : null, autoPlay : false, loop : true, materialHeight : 256, materialWidth : 256 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "x"
+
+
+
+ "y"
+
+
+
+ "z"
+
+
+
+ "+"
+
+
+
+ "-"
+
+
+
+ "av"
+
+ <_axis static="1">
+ <_condition static="1">
+
+
+
+
+
+
+
+ { condition : POSITIVE }
+ * Aligns a series of meshes to their bounds along a given axis.
+ *
+ * @param meshes A Vector of Mesh objects
+ * @param axis Represent the axis to align on.
+ * @param condition Can be POSITIVE ('+') or NEGATIVE ('-'), Default is POSITIVE ('+')
+
+
+
+
+
+
+ * Place one or more meshes at y 0 using their min bounds
+
+
+
+
+
+
+
+
+ { condition : "" }
+ * Applies to array elements the alignment according to axis, x, y or z and a condition.
+ * each element must have public x,y and z properties. In case elements are meshes only their positions is affected. Method doesn't take in account their respective bounds
+ * String condition:
+ * "+" align to highest value on a given axis
+ * "-" align to lowest value on a given axis
+ * "" align to a given axis on 0; This is the default.
+ * "av" align to average of all values on a given axis
+ *
+ * @param aObjs Array. An array with elements with x,y and z public properties such as Mesh, Object3D, ObjectContainer3D,Vector3D or Vertex
+ * @param axis String. Represent the axis to align on.
+ * @param condition [optional]. String. Can be '+", "-", "av" or "", Default is "", aligns to given axis at 0.
+
+
+
+
+
+
+
+ * Applies to array elements a distributed alignment according to axis, x,y or z. In case elements are meshes only their positions is affected. Method doesn't take in account their respective bounds
+ * each element must have public x,y and z properties
+ * @param aObjs Array. An array with elements with x,y and z public properties such as Mesh, Object3D, ObjectContainer3D,Vector3D or Vertex
+ * @param axis String. Represent the axis to align on.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Align]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_keepNormals>
+
+
+
+
+
+
+ { keepNormals : true }
+ * Apply the explode code to a given ObjectContainer3D.
+ * @param object ObjectContainer3D. The target Object3d object.
+ * @param keepNormals Boolean. If the vertexNormals of the object are preserved. Default is true.
+
+
+
+
+
+
+
+ { keepNormals : true }
+
+
+
+
+
+
+ * recursive parsing of a container.
+
+
+
+
+
+
+
+ Explode]]>
+
+
+
+
+
+ <_objectSpace>
+ <_keepMaterial>
+ <_disposeSources>
+ <_geomVOs>
+ <_toDispose>
+
+
+
+
+
+ * Determines if the mesh and geometry source(s) used for the merging are disposed. Defaults to false.
+
+
+
+
+
+
+
+ * Determines if the material source(s) used for the merging are disposed. Defaults to false.
+
+
+
+
+
+
+
+ * Determines if source mesh(es) is/are merged using objectSpace or worldspace. Defaults to false.
+
+
+
+
+
+
+
+
+ * Merges all the children of a container into a single Mesh. If no Mesh object is found, method returns the receiver without modification.
+ *
+ * @param receiver The Mesh to receive the merged contents of the container.
+ * @param objectContainer The ObjectContainer3D holding the meshes to be mergd.
+ *
+ * @return The merged Mesh instance.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Merges 2 meshes into one. It is recommand to use apply when 2 meshes are to be merged. If more need to be merged, use either applyToMeshes or applyToContainer methods.
+ *
+ * @param receiver The Mesh to receive the merged contents of both meshes.
+ * @param mesh The Mesh to be merged with the receiver mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { objectSpace : false, disposeSources : false, keepMaterial : false }
+ * @param keepMaterial [optional] Determines if the merged object uses the recevier mesh material information or keeps its source material(s). Defaults to false.
+ * If false and receiver object has multiple materials, the last material found in receiver submeshes is applied to the merged submesh(es).
+ * @param disposeSources [optional] Determines if the mesh and geometry source(s) used for the merging are disposed. Defaults to false.
+ * If true, only receiver geometry and resulting mesh are kept in memory.
+ * @param objectSpace [optional] Determines if source mesh(es) is/are merged using objectSpace or worldspace. Defaults to false.
+
+ Merge]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 4
+
+
+
+ "min"
+
+
+
+ "max"
+
+
+
+ "center"
+
+
+
+ <_recenter>
+ <_duplicate>
+ <_axis>
+ <_offset>
+ <_additionalOffset>
+ <_scaleTransform>
+ <_fullTransform>
+ <_centerTransform>
+ <_flipWinding>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { additionalOffset : 0, offset : CENTER }
+ * Clones a Mesh and mirrors the cloned mesh. returns the cloned (and mirrored) mesh.
+ * @param mesh the mesh to clone and mirror.
+ * @param axis the axis to mirror the mesh.
+ * @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
+ * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added.
+
+
+
+
+
+
+
+
+
+ { additionalOffset : 0, offset : CENTER }
+ * Clones a ObjectContainer3D and all its children and mirrors the cloned Objects. returns the cloned (and mirrored) ObjectContainer3D.
+ * @param mesh the ObjectContainer3D to clone and mirror.
+ * @param axis the axis to mirror the ObjectContainer3D.
+ * @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
+ * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this additional offset can be added.
+
+
+
+
+
+
+
+
+
+ { additionalOffset : 0, offset : CENTER }
+ * Mirror a Mesh along a given Axis.
+ * @param mesh the mesh to mirror.
+ * @param axis the axis to mirror the mesh.
+ * @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
+ * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added.
+
+
+
+
+
+
+
+
+
+ { additionalOffset : 0, offset : CENTER }
+ * Mirror a ObjectContainer3d, and all its children along a given Axis.
+ * @param ctr the ObjectContainer3d to mirror.
+ * @param axis the axis to mirror the ObjectContainer3d.
+ * @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
+ * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added.
+
+
+
+
+
+
+
+ { keepOld : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { duplicate : true, recenter : false }
+
+
+
+
+
+ 1
+
+
+
+ 2
+
+ <_weight>
+ <_radius expr="0">
+
+ 0
+
+ <_radiusMode>
+
+
+
+
+
+
+
+
+ { radius : 100, radiusMode : RADIUS, weight : 1 }
+ * Apply the SphereMaker code to a given ObjectContainer3D.
+ * @param container Mesh. The target ObjectContainer3D.
+ * @param weight Number. The Strength of the effect between 0 and 1. Default is 1.
+ * @param radiusMode int. Defines which radius will be used. Can be RADIUS or USE_BOUNDS_MAX. Default is RADIUS
+ * @param radius Number. The Radius to use if radiusMode is RADIUS. Default is 100.
+
+
+
+
+
+
+
+
+
+ { radius : 100, radiusMode : RADIUS, weight : 1 }
+ * Apply the SphereMaker code to a given Mesh.
+ * @param mesh Mesh. The target Mesh object.
+ * @param weight Number. The Strength of the effect between 0 and 1. Default is 1.
+ * @param radiusMode int. Defines which radius will be used. Can be RADIUS or USE_BOUNDS_MAX. Default is RADIUS
+ * @param radius Number. The Radius to use if radiusMode is RADIUS. Default is 100.
+
+
+
+
+
+
+
+
+
+
+ SphereMaker]]>
+
+
+
+
+ "UseVertexNormals"
+
+
+
+ "UseFaceNormals"
+
+
+
+ <_keepUvs>
+ <_normalThreshold>
+ <_useNormalMode>
+ <_smoothNormals>
+ <_vertCnt>
+
+
+
+
+
+
+
+
+
+ { smoothNormals : true, useNormalMode : USE_FACENORMALS, normalAngleDegree : 180, keepUvs : true }
+ * Perfoms a weld operation on a specified mesh geometry.
+ *
+ * @param mesh The mesh to weld
+ * @param keepUVs If the uvs should be kept as defined. Default is true.
+ * @param normalAngleDegree Threshold to compair the normals. Default is 180.
+ * @param useNormalMode If the face normals or vertex normals are used for comparison. VERTEXNORMALS keeps intact the original data. Default uses USE_FACENORMALS.
+ * @param smoothNormals Smooth. Default is true.
+
+
+
+
+
+
+
+
+
+
+ { smoothNormals : true, useNormalMode : USE_FACENORMALS, normalAngleDegree : 180, keepUVs : true }
+ * Perfoms a weld operation on all children Mesh object geometries of the specified ObjectContainer3D.
+ *
+ * @param obj The ObjectContainer3D to weld
+ * @param keepUVs If the uvs should be kept as defined. Default is true.
+ * @param normalAngleDegree Threshold to compair the normals. Default is 180.
+ * @param useNormalMode If the face normals or vertex normals are used for comparison. VERTEXNORMALS keeps intact the original data. Default uses USE_FACENORMALS.
+ * @param smoothNormals Smooth. Default is true.
+
+
+
+ * returns howmany vertices were deleted during the welding operation.
+
+
+
+ * returns howmany vertices were added during the welding operation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Class Weld removes the vertices that can be shared from one or more meshes (smoothes the mesh surface when lighted).
+
+
+
+
+ 196605
+
+
+
+ 2
+
+
+
+ 3
+
+
+
+ 4
+
+ <_n expr="new Vertex()" line="23" static="1">
+
+ new Vertex()
+
+ <_t expr="new Vertex()" line="24" static="1">
+
+ new Vertex()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Remove a face from a mesh
+ * @param mesh Mesh. The mesh to remove a face from
+ * @param index uint. Index of the face in vertices. The value represents the position in indices vector divided by 3.
+ * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 3 in vertice vector is then extracted from vertices[indices[indice]]
+ * @param subGeomIndice uint. Index of vertex 1 of the face
+
+
+
+
+
+
+
+
+ * Remove a series of faces from a mesh. Indices and geomIndices must have the same length.
+ * Meshes with less that 20k faces and single material, will generally only have one single subgeometry.
+ * The geomIndices vector will then contain only zeros.
+ * IMPORTANT: the code considers the indices as location in the mesh subgemeometry indices vector, not the value at the pointer location.
+ *
+ * @param mesh Mesh. The mesh to remove a face from
+ * @param indices A vector with a series of uints indices: the indices of the faces to be removed.
+ * @param subGeomIndices A vector with a series of uints indices representing the subgeometries of the faces to be removed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Adds a series of faces from a mesh. All vectors must have the same length.
+ * @param mesh Mesh. The mesh to remove a face from
+ * @param v0s A vector with a series of Vertex Objects representing the v0 of a face.
+ * @param v1s A vector with a series of Vertex Objects representing the v1 of a face.
+ * @param v2s A vector with a series of Vertex Objects representing the v2 of a face.
+ * @param uv0s A vector with a series of UV Objects representing the uv0 of a face.
+ * @param uv1s A vector with a series of UV Objects representing the uv1 of a face.
+ * @param uv2s A vector with a series of UV Objects representing the uv2 of a face.
+
+
+
+
+
+
+
+
+
+ { side : 0 }
+ * Divides a face into 2 faces.
+ * @param mesh The mesh holding the face to split in 2
+ * @param indice The face index. The value represents the position in indices vector divided by 3.
+ * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]]
+ * @param subGeomIndice The index of the subgeometry holder this face.
+ * @param side [optional] The side of the face to split in two. 0 , 1 or 2. (clockwize).
+
+
+
+
+
+
+
+
+ * Divides a face into 3 faces.
+ * @param mesh The mesh holding the face to split in 3.
+ * @param indice The face index. The value represents the position in indices vector divided by 3.
+ * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]]
+ * @param subGeomIndice The index of the subgeometry holder this face.
+
+
+
+
+
+
+
+
+ * Divides a face into 4 faces.
+ * @param mesh The mesh holding the face to split in 4.
+ * @param indice The face index. The value represents the position in indices vector divided by 3.
+ * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]]
+ * @param subGeomIndice The index of the subgeometry holder this face.
+
+
+
+
+
+
+ * Divides all the faces of a mesh in 2 faces.
+ * @param mesh The mesh holding the faces to split in 2
+ * @param face The face index. The value represents the position in indices vector divided by 3.
+ * @param side The side of the face to split in two. 0 , 1 or 2. (clockwize).
+ * At this time of dev, splitFaces method will abort if a subgeometry reaches max buffer limit of 65k
+
+
+
+
+
+
+ * Divides all the faces of a mesh in 3 faces.
+ * @param mesh The mesh holding the faces to split in 3
+ * At this time of dev, triFaces method will abort if a subgeometry reaches max buffer limit of 65k
+
+
+
+
+
+
+ * Divides all the faces of a mesh in 4 faces.
+ * @param mesh The mesh holding the faces to split in 4
+ * At this time of dev, quarterFaces method will abort if a subgeometry reaches max buffer limit of 65k
+
+
+
+
+
+
+
+
+
+ { out : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { out : null, uvScaleV : 1 }
+
+
+
+
+
+
+
+
+ { value : 0 }
+
+
+
+
+
+
+
+
+
+
+
+ { tangents : null, normals : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FaceHelper]]>
+
+
+ <_lightsArray static="1">
+ <_light static="1">
+ <_state static="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Adds one light to all materials found into an objectcontainer and its children.
+ * The lights eventually set previously on a material are kept unchanged. The new light is added to the lights array of the materials found during parsing.
+ * @param objectContainer3D ObjectContainer3D. The target ObjectContainer3D object to be inspected.
+ * @param light LightBase. The light to add to all materials found during the parsing of the target ObjectContainer3D.
+
+
+
+
+
+
+
+ * Removes a given light from all materials found into an objectcontainer and its children.
+ * @param objectContainer3D ObjectContainer3D. The target ObjectContainer3D object to be inspected.
+ * @param light LightBase. The light to be removed from all materials found during the parsing of the target ObjectContainer3D.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LightsHelper
+ * A series of methods to ease work with LightBase objects]]>
+
+
+
+
+
+
+
+
+ <_meshesData expr="new Vector<MeshDebugData>()">
+
+ ()]]>
+
+ <_colorNormals expr="0xFF3399">
+
+ 0xFF3399
+
+ <_colorVertexNormals expr="0x66CCFF">
+
+ 0x66CCFF
+
+ <_colorTangents expr="0xFFCC00">
+
+ 0xFFCC00
+
+ <_lengthNormals expr="50">
+
+ 50
+
+ <_lengthTangents expr="50">
+
+ 50
+
+ <_lengthVertexNormals expr="50">
+
+ 50
+
+ <_dirty>
+
+
+
+
+
+
+
+
+
+ { displayTangents : false, displayVertexNormals : false, displayNormals : true }
+
+
+
+
+
+
+
+
+
+
+ { displayTangents : false, displayVertexNormals : false, displayNormals : true }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MeshDebugger
+ * Displays the normals, tangents and vertexNormals of a given mesh.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 196605
+
+
+
+
+
+
+ * Returns the boundingRadius of an Entity of a Mesh.
+ * @param mesh Mesh. The mesh to get the boundingRadius from.
+
+
+
+
+
+
+ * Returns the boundingRadius of a ObjectContainer3D
+ * @param container ObjectContainer3D. The ObjectContainer3D and its children to get the boundingRadius from.
+
+
+
+
+
+
+
+ { keepPosition : true }
+ * Recenter geometry
+ * @param mesh Mesh. The Mesh to recenter in its own objectspace
+ * @param keepPosition Boolean. KeepPosition applys the offset to the object position. Object is "visually" at same position.
+
+
+
+
+
+
+
+ { keepPosition : true }
+ * Recenter geometry of all meshes found into container
+ * @param mesh Mesh. The Mesh to recenter in its own objectspace
+ * @param keepPosition Boolean. KeepPosition applys the offset to the object position. Object is "visually" at same position.
+
+
+
+
+
+
+ * Applys the rotation values of a mesh in object space and resets rotations to zero.
+ * @param mesh Mesh. The Mesh to alter
+
+
+
+
+
+
+ * Applys the rotation values of each mesh found into an ObjectContainer3D
+ * @param obj ObjectContainer3D. The ObjectContainer3D to alter
+
+
+
+
+
+
+
+
+
+
+ { parent : null }
+ * Applys the scaleX, scaleY and scaleZ scale factors to the mesh vertices. Resets the mesh scaleX, scaleY and scaleZ properties to 1;
+ * @param mesh Mesh. The Mesh to rescale
+ * @param scaleX Number. The scale factor to apply on all vertices x values.
+ * @param scaleY Number. The scale factor to apply on all vertices y values.
+ * @param scaleZ Number. The scale factor to apply on all vertices z values.
+ * @param parent ObjectContainer3D. If a parent is set, the position of children is also scaled
+
+
+
+
+
+
+
+
+
+
+ { parent : null }
+ * Applys the scale properties values of each mesh found into an ObjectContainer3D
+ * @param obj ObjectContainer3D. The ObjectContainer3D to alter
+ * @param scaleX Number. The scale factor to apply on all vertices x values.
+ * @param scaleY Number. The scale factor to apply on all vertices y values.
+ * @param scaleZ Number. The scale factor to apply on all vertices z values.
+
+
+
+
+
+
+
+
+
+ * Applys an offset to a mesh at vertices level
+ * @param mesh Mesh. The Mesh to offset
+ * @param dx Number. The offset along the x axis
+ * @param dy Number. The offset along the y axis
+ * @param dz Number. The offset along the z axis
+
+
+
+
+
+
+
+ { newName : "" }
+ * Clones a Mesh
+ * @param mesh Mesh. The mesh to clone
+ * @param newname [optional] String. new name for the duplicated mesh. Default = "";
+ *
+ * @ returns Mesh
+
+
+
+
+
+
+ * Inverts the faces of all the Meshes into an ObjectContainer3D
+ * @param obj ObjectContainer3D. The ObjectContainer3D to invert.
+
+
+
+
+
+
+
+ { invertU : false }
+ * Inverts the faces of a Mesh
+ * @param mesh Mesh. The Mesh to invert.
+ * @param invertUV Boolean. If the uvs are inverted too. Default is false;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { useCompactSubGeometry : true, useDefaultMap : true, shareVertices : true, material : null, name : "", uvs : null }
+
+
+
+
+
+
+
+
+ { disposeSource : false }
+
+
+
+
+
+
+
+
+ { disposeSource : false }
+
+ MeshHelper
+ * A series of methods usually usefull for mesh manipulations]]>
+
+
+
+
+
+ 65535
+
+
+
+
+
+
+
+ { transforms : null }
+
+ * ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { backgroundColor : 0, transparent : false }
+
+
+
+
+
+
+
+
+
+
+
+
+ { __to : 0, __from : 0, mapCount : 1 }
+ * Returns a SpriteSheetClipNode to pass to animator from animation id , cols and rows.
+ * @param animID String:The name of the animation
+ * @param cols uint: Howmany cells along the u axis.
+ * @param rows uint: Howmany cells along the v axis.
+ * @param mapCount uint: If the same animation is spread over more bitmapDatas. Howmany bimapDatas. Default is 1.
+ * @param from uint: The offset start if the animation first frame isn't in first cell top left on the map. zero based. Default is 0.
+ * @param to uint: The last cell if the animation last frame cell isn't located down right on the map. zero based. Default is 0.
+ *
+ * @return SpriteSheetClipNode SpriteSheetClipNode: The SpriteSheetClipNode filled with the data
+
+
+ * SpriteSheetHelper, a class to ease sprite sheet animation data generation
+
+
+
+ <_normal expr="new Vector3D()">
+
+ new Vector3D()
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+
+
+
+
+
+
+ { length : 30, color : 0xFF3399 }
+
+
+
+
+
+
+
+
+ { length : 30, color : 0x66CCFF }
+
+
+
+
+
+
+
+
+ { length : 30, color : 0xFFCC00 }
+
+
+
+
+
+
+
+
+
+ { length : 30, color : 0x66CCFF }
+
+
+
+
+
+
+
+
+ * MeshDebug, holds the data for the MeshDebugger class
+
+
+
+
+
+
+ <_defaultVertexTransform>
+ <_defaultInvVertexTransform>
+ <_defaultUVTransform>
+
+
+
+
+
+
+
+
+
+
+
+
+ * ...
+
+
+
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Begin object serialization. Output className and instanceName.
+ * @param className name of class being serialized
+ * @param instanceName name of instance being serialized
+
+
+
+
+
+
+
+ * Serialize int
+ * @param name name of value being serialized
+ * @param value value being serialized
+
+
+
+
+
+
+
+ * Serialize uint
+ * @param name name of value being serialized
+ * @param value value being serialized
+
+
+
+
+
+
+
+ * Serialize Boolean
+ * @param name name of value being serialized
+ * @param value value being serialized
+
+
+
+
+
+
+
+ * Serialize String
+ * @param name name of value being serialized
+ * @param value value being serialized
+
+
+
+
+
+
+
+ * Serialize Vector3D
+ * @param name name of value being serialized
+ * @param value value being serialized
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Serialize Quaternion
+ * @param name name of value being serialized
+ * @param value value being serialized
+
+
+
+ * End object serialization
+
+
+
+ * Creates a new SerializerBase object.
+
+ * SerializerBase is the abstract class for all Serializers. It provides an interface for basic data type writing.
+ * It is not intended for reading.
+ *
+ * @see away3d.tools.serialize.Serialize
+
+
+
+ <_indent expr="0">
+
+ 0
+
+
+
+ ": "
+
+
+
+ 2
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+
+
+
+
+ * @inheritDoc
+
+
+
+ * @inheritDoc
+
+ <_indentString set="method" line="148">
+
+
+ * Creates a new TraceSerializer object.
+
+ * TraceSerializer is a concrete Serializer that will output its results to trace(). It has user settable tabSize and separator vars.
+ *
+ * @see away3d.tools.serialize.Serialize
+
+
+
+
+
+
+
+
+
+
+
+ <_minX static="1">
+ <_minY static="1">
+ <_minZ static="1">
+ <_maxX static="1">
+ <_maxY static="1">
+ <_maxZ static="1">
+ <_defaultPosition expr="new Vector3D(0.0, 0.0, 0.0)" line="33" static="1">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_containers static="1">
+
+
+
+
+
+
+
+
+ * Calculate the bounds of a Mesh object
+ * @param mesh Mesh. The Mesh to get the bounds from.
+ * Use the getters of this class to retrieve the results
+
+
+
+
+
+
+
+ { worldBased : true }
+ * Calculate the bounds of an ObjectContainer3D object
+ * @param container ObjectContainer3D. The ObjectContainer3D to get the bounds from.
+ * Use the getters of this class to retrieve the results
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { outCenter : null }
+ * @param outCenter Vector3D. Optional Vector3D, if provided the same Vector3D is returned with the bounds center.
+ * @return the center of the bound
+
+
+
+ * @return the smalest x value
+
+
+
+ * @return the smalest y value
+
+
+
+ * @return the smalest z value
+
+
+
+ * @return the biggest x value
+
+
+
+ * @return the biggest y value
+
+
+
+ * @return the biggest z value
+
+
+
+ * @return the width value from the bounds
+
+
+
+ * @return the height value from the bounds
+
+
+
+ * @return the depth value from the bounds
+
+
+
+
+
+
+
+
+ { parentTransform : null }
+
+
+
+
+
+
+
+
+
+
+
+
+ { resetBounds : false, parentTransform : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bounds]]>
+
+
+
+
+
+
+
+
+
+ <_colorMap>
+ <_colorObjects>
+ <_scaleX>
+ <_scaleY>
+ <_offsetX>
+ <_offsetY>
+
+
+
+
+
+
+ * If at the given coordinates a color is found that matches a defined color event, the color event will be triggered.
+ *
+ * @param x X coordinate on the source bmd
+ * @param y Y coordinate on the source bmd
+
+
+
+
+
+
+
+ * returns the color at x,y coordinates.
+ * This method is made to test if the color is indeed the expected one, (the one you set for an event), as due to compression
+ * for instance using the Flash IDE library, compression might have altered the color values.
+ *
+ * @param x X coordinate on the source bitmapData
+ * @param y Y coordinate on the source bitmapData
+ *
+ * @return A uint, the color value at coordinates x, y
+ * @see plotAt
+
+
+
+
+
+
+
+
+ { color : 0xFF0000 }
+ * Another method for debug, if you addChild your bitmapdata on screen, this method will colour a pixel at the coordinates
+ * helping you to visualize if your scale factors or entered coordinates are correct.
+ * @param x X coordinate on the source bitmapData
+ * @param y Y coordinate on the source bitmapData
+
+
+
+
+
+
+
+
+
+
+
+ * Defines a color event for this class.
+ * If read method is called, and the target pixel color has the same value as a previously set listener, an event is triggered.
+ *
+ * @param color A color Number
+ * @param eventID A string to identify that event
+ * @param listener The function that must be triggered
+
+
+
+
+
+
+ * removes a color event by its id
+ *
+ * @param eventID The Event id
+
+
+
+
+
+
+ * The offsetX, offsetY
+ * by default offsetX and offsetY represent the center of the map.
+
+
+
+
+
+
+
+
+
+
+
+
+ * defines the scaleX and scaleY. Defines the ratio map to the 3d world
+
+
+
+
+
+
+
+
+
+
+
+
+ * The source bitmapdata uses for colour readings
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scaleY : 1, scaleX : 1 }
+ ColorHitMap
+ *
+ * @param bitmapData The bitmapdata with color regions to act as trigger.
+ * @param scaleX [optional] A factor scale along the X axis. Default is 1.
+ * @param scaleY [optional] A factor scale along the Y axis. Default is 1.
+ *
+ * Note that by default the class is considered as centered, like a plane at 0,0,0.
+ * Also by default coordinates offset are set. If a map of 256x256 is set, and no custom offsets are set.
+ * The read method using the camera position -128 x and -128 z would return the color value found at 0,0 on the map.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "xz"
+
+
+
+ "xy"
+
+
+
+ "zy"
+
+
+
+ 0.000001
+
+
+
+
+
+
+
+
+
+ <_view>
+ <_debug>
+ <_object3d>
+ <_planeXZ>
+ <_planeXY>
+ <_planeZY>
+ <_red>
+ <_green>
+ <_blue>
+ <_planesContainer>
+ <_np expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_intersect expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_rotations>
+ <_baserotations>
+ <_offsetCenter expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_bSetOffset>
+ <_a expr="0">
+
+ 0
+
+ <_b expr="0">
+
+ 0
+
+ <_c expr="0">
+
+ 0
+
+ <_d expr="1">
+
+ 1
+
+ <_planeid>
+ <_useRotations>
+
+
+
+
+
+
+ * Defines if the target object3d plane will be aligned to object rotations or not
+ *
+ * @param b Boolean. Defines if the target object3d planes will be aligned to object rotations or not. Default is false.
+
+
+
+
+
+
+
+ * Defines an offset for the drag from center mesh to mouse position.
+ * object3d must have been set previously for this setter. if not an error is triggered
+ * Since the offset is set from center to mouse projection, its usually a good practice to set it during firt mouse down
+ * prior to drag.
+
+
+
+
+ * getIntersect method returns the 3d point in space (Vector3D) where mouse hits the given plane.
+ *@return Vector3D the difference mouse mouse hit to object center
+
+
+
+
+
+
+ * Displays the planes for debug/visual aid purposes
+ *
+ * @param b Boolean. Display the planes of the dragged object3d. Default is false;
+
+
+
+
+
+
+
+ * Changes the plane the object will be considered on.
+ * If class debug is set to true. It display the selected plane for debug/visual aid purposes with a brighter color.
+ * @param planeid String. Plane to drag the object3d on.
+ * Possible strings are Drag3D.PLANE_XZ ("xz"), Drag3D.PLANE_XY ("xy") or Drag3D.PLANE_ZY ("zy"). Default is Drag3D.PLANE_XZ;
+
+
+
+
+
+
+
+ * Returns the Vector3D where mouse to scene ray hits the plane set for the class.
+ *
+ * @return Vector3D The intersection Vector3D
+ * If both x and y params are NaN, the class will return the hit from mouse coordinates
+ * @param x [optional] Number. x coordinate.
+ * @param y [optional] Number. y coordinate.
+
+
+
+ * if an ObjectContainer3D is set this handler will calculate the mouse intersection on given plane and will update position
+ * and rotations of the ObjectContainer3D set accordingly
+
+
+
+
+
+
+ * Sets the target ObjectContainer3D to the class. The ObjectContainer3D that will be dragged
+ *
+ * @param object3d ObjectContainer3D. The ObjectContainer3D that will be dragged. Default is null. When null planes will be considered at 0,0,0 world
+
+
+
+
+
+
+ * Defines planes as the position of a given ObjectContainer3D
+ *
+ * @param object3d ObjectContainer3D. The object3d that will be used to define the planes
+
+
+
+
+
+
+ * Defines planes position by a postion Vector3D
+ *
+ * @param pos Vector3D. The Vector3D that will be used to define the planes position
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { obj : null }
+
+
+
+
+
+
+
+
+ { plane : PLANE_XZ, object3d : null }
+ Drag3D
+ * @param view View3D. The view3d where the object to drag is or will be addChilded.
+ * @param object3d [optional] ObjectContainer3D. The object3D to drag.
+ * @param plane [optional] String. The plane to drag on.]]>
+
+ * Class Drag3D allows free dragging of an ObjectContainer3D onto a given plane.
+ *
+ * locks on world planes
+ * locks on ObjectContainer3D planes
+ * locks on ObjectContainer3D rotations planes
+
+
+
+
+ 3 * 0xffff
+
+
+
+ 15 * 0xffff
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { triangleOffset : 0 }
+ * Build a list of sub-geometries from raw data vectors, splitting them up in
+ * such a way that they won't exceed buffer length limits.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Build a sub-geometry from data vectors.
+
+
+
+
+
+
+
+
+
+
+
+ { suvs : null, uvs : null, tangents : null, normals : null, vertices : null }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_unit>
+ <_objectSpace>
+
+
+
+
+
+
+ { dovert : false }
+ * Apply the grid code to a given object3D. If type ObjectContainer3D, all children Mesh vertices will be affected.
+ * @param object3d Object3D. The Object3d to snap to grid.
+ * @param dovert [optional]. If the vertices must be handled or not. When false only object position is snapped to grid. Default is false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Apply the grid code to a single mesh
+ * @param mesh Mesh. The mesh to snap to grid. Vertices are affected by default. Mesh position is snapped if grid.objectSpace is true;
+
+
+
+
+
+
+ * Defines if the grid unit.
+
+
+
+
+
+
+
+ * Defines if the grid unit is applied in objectspace or worldspace. In worldspace, objects positions are affected.
+
+
+
+
+
+
+
+
+ { dovert : true }
+
+
+
+
+
+
+
+
+
+
+
+ { objectSpace : false, unit : 1 }
+ * Grid snaps vertexes according to a given grid unit
+ * @param unit [optional] Number. The grid unit. Default is 1.
+ * @param objectSpace [optional] Boolean. Apply only to vertexes in geometry objectspace when Object3D are considered. Default is false.
+
+ Grid]]>
+
+
+
+
+ "front"
+
+
+
+ "back"
+
+
+
+ "top"
+
+
+
+ "bottom"
+
+
+
+ "left"
+
+
+
+ "right"
+
+
+
+ "cylindricalx"
+
+
+
+ "cylindricaly"
+
+
+
+ "cylindricalz"
+
+
+
+ "spherical"
+
+ <_width static="1">
+ <_height static="1">
+ <_depth static="1">
+ <_offsetW static="1">
+ <_offsetH static="1">
+ <_offsetD static="1">
+ <_orientation static="1">
+ <_center static="1">
+ <_vn static="1">
+ <_ve static="1">
+ <_vp static="1">
+ <_dir static="1">
+ <_radius static="1">
+ <_uv static="1">
+
+
+ Math.PI
+
+
+
+ Math.PI * 2
+
+
+
+
+
+
+
+ * Class remaps the uv data of a mesh
+ *
+ * @param orientation String. Defines the projection direction and methods.
+ * Note: As we use triangles, cylindrical and spherical projections might require correction,
+ * as some faces, may have vertices pointing at other side of the map, causing some faces to be rendered as a whole reverted map.
+ *
+ * @param obj ObjectContainer3D. The ObjectContainer3D to remap.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_orig expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_dir expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_tu expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_tv expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_w expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_pn expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_npn expr="new Vector3D(0.0, 0.0, 0.0)">
+
+ new Vector3D(0.0, 0.0, 0.0)
+
+ <_a>
+ <_b>
+ <_c>
+ <_d>
+
+
+
+
+
+ * Defines the origin point of the Ray object
+ * @return Vector3D The origin point of the Ray object
+
+
+
+
+
+
+
+ * Defines the directional vector of the Ray object
+ * @return Vector3D The directional vector
+
+
+
+
+ * Defines the directional normal of the Ray object
+ * @return Vector3D The normal of the plane
+
+
+
+
+
+
+
+
+
+ * Checks if a ray intersects a sphere.
+ *@param pOrig Vector3D. The origin vector of the ray.
+ *@param dir Vector3D. The normalized direction vector of the ray.
+ *@param sPos Vector3D. The position of the sphere.
+ *@param radius Number. The radius of the sphere.
+ *
+ * @return Boolean If the ray intersects the sphere
+
+
+
+
+
+
+
+
+
+
+
+
+ { outVector3D : null, bNormal : false, bNearest : true }
+ * Returns a Vector3D where the ray intersects a sphere. Return null if the ray misses the sphere
+ *
+ *@param pOrig Vector3D. The origin of the ray.
+ *@param dir Vector3D. The direction of the ray.
+ *@param sPos Vector3D. The position of the sphere.
+ *@param radius Number. The radius of the sphere.
+ *@param bNearest [optional] Boolean. If the ray traverses the sphere and if true the returned hit is the nearest to ray origin. Default is true.
+ *@param bNormal [optional] Boolean. If the returned vector is the normal of the hitpoint. Default is false.
+ *
+ * @return Vector3D The intersection vector3D or the normal vector3D of the hitpoint. Default is false.
+ *
+ * example of a ray triggered from mouse
+ var pMouse:Vector3D = _view.unproject(_view.mouseX, _view.mouseY, 1);
+ var cam:Vector3D = _view.camera.position;
+ var dir:Vector3D = new Vector3D( pMouse.x-cam.x, pMouse.y-cam.y, pMouse.z-cam.z);
+ dir.normalize();
+
+ var spherePosition:Vector3D = new Vector3D(200, 200, 200);
+
+ //hittest
+ trace("Ray intersects sphere :"+ _ray.intersectsSphere(pMouse, dir, spherePosition, 500) );
+
+ var sintersect:Vector3D = _ray.getRayToSphereIntersection(pMouse, dir, spherePosition, 500, true, false);
+ if sintersect == null no hit, else sintersect = intersection vector3d or the normal of the intersection
+
+
+
+
+
+
+
+
+
+
+
+ { outVector3D : null }
+ * Returns a Vector3D where the ray intersects a plane inside a triangle
+ * Returns null if no hit is found.
+ *
+ *@param p0 Vector3D. The origin of the ray.
+ *@param p1 Vector3D. The end of the ray.
+ *@param v0 Vector3D. The first scenespace vertex of the face.
+ *@param v1 Vector3D. The second scenespace vertex of the face.
+ *@param v2 Vector3D. The third scenespace vertex of the face.
+ *@param outVector3D Vector3D. Optional user defined Vector3D returned with result values
+ *
+ * example: fire a ray from camera position to 0,0,0 and test if it hits the triangle.
+
+ view.camera.x = 100;
+ view.camera.y = 100;
+ view.camera.z = 500;
+
+ var v0:Vector3D = new Vector3D(-200, 100, 60);
+ var v1:Vector3D = new Vector3D(200, 100, 60);
+ var v2:Vector3D = new Vector3D(0, -200, 60);
+
+ var dest: Vector3D = new Vector3D(0, 0, 0);
+
+ var intersect:Vector3D = _ray.getRayToTriangleIntersection(_view.camera.position, dest, v0, v1, v2 );
+ trace("intersect ray: "+intersect);
+
+ *
+ * @return Vector3D The intersection point
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4096
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_colorNames static="1">
+
+
+
+ <_hexChars expr=""0123456789abcdefABCDEF"" line="19" static="1">
+
+ "0123456789abcdefABCDEF"
+
+ <_notClasses expr="new Map<String,Bool>()" line="21" static="1">
+
+
+
+
+ ()]]>
+
+ <_classes expr="new Map<String,Dynamic>()" line="22" static="1">
+
+
+
+
+ ()]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper class for casting assets to usable objects
+
@@ -18766,9 +66130,9 @@
- <__touch get="inline" set="null" expr=""1.667217963e+012"" line="22" static="1">
+ <__touch get="inline" set="null" expr=""1.670677951e+012"" line="22" static="1">
- "1.667217963e+012"
+ "1.670677951e+012"
@@ -19011,6 +66375,7 @@
+
@@ -19035,10 +66400,7 @@
-
-
-
-
+
@@ -19725,7 +67087,7 @@
* Recycle or create a new FlxRect which will automatically be released
* to the pool when passed into a flixel function.
-
+
@@ -19914,10 +67276,11 @@
-
+
+ * Calculates the globally aligned bounding box of a `FlxRect` with the given angle and origin.
@@ -19929,11 +67292,11 @@
* @return A globally aligned `FlxRect` that fully contains the input rectangle.
* @since 4.11.0
-
+ * Necessary for IFlxDestroyable.
-
+
@@ -19943,7 +67306,7 @@
* @param rect Rectangle to check equality to.
* @return Whether both rectangles are equal.
-
+
@@ -19955,31 +67318,31 @@
* @param rect Rectangle to check intersection against.
* @return The area of intersection of two rectangles.
-
+ * Convert object to readable string name. Useful for debugging, save games, etc.
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
@@ -19996,1096 +67359,6 @@
* Stores a rectangle.
-
- <__identity expr="new Matrix3()" line="56" static="1">
-
- new Matrix3()
-
-
-
- The matrix a component, used in scaling and skewing (default is 1)
-
-
-
- The matrix b component, used in rotation and skewing (default is 0)
-
-
-
- The matrix c component, used in rotation and skewing (default is 0)
-
-
-
- The matrix d component, used in scaling and skewing (default is 1)
-
-
-
- The matrix tx component, used in translation (default is 0)
-
-
-
- The matrix ty component, used in translation (default is 0)
-
-
-
- Creates a duplicate of the current `Matrix3`
- @return A duplicate `Matrix3` instance
-
-
-
-
-
-
- Concatenates the values of a second matrix to the current
- `Matrix3`, combining the effects of both. This is the same
- as matrix multiplication. The second matrix is not modified.
- @param m A second `Matrix3` to concatenate to the current instance
-
-
-
-
-
-
-
- Copies the `x` and `y` components from a `Vector4` instance
- to the `a`/`c`, `b`/`d` or the `tx`/`ty` column of the current
- matrix
- @param column The column to copy into (0, 1 or 2)
- @param vector4 The `Vector4` instance to copy from
-
-
-
-
-
-
-
- Copies a column of the current matrix into a `Vector4`
- instance. The `w` value will not be modified.
- @param column The column to copy from (0, 1 or 2)
- @param vector4 The `Vector4` instance to copy to
-
-
-
-
-
-
- Copies the values of another `Matrix3` and
- applies it to the current instance
- @param sourceMatrix3 The `Matrix3` to copy from
-
-
-
-
-
-
-
- Copies the values of a `Vector4` instance into a row
- of the current matrix
- @param row The row to copy into (0 or 1)
- @param vector4 The `Vector4` instance to copy from
-
-
-
-
-
-
-
- Copies a row of the current matrix into a `Vector4`
- instance. The `w` value will not be modified.
- @param row The row to copy into (0, 1 or 2)
- @param vector4 The `Vector4` instance to copy from
-
-
-
-
-
-
-
-
-
-
- { ty : 0, tx : 0, rotation : 0 }
- Applies a two-dimensional transformation to the current matrix.
-
- This is the same as calling `identity()`, `rotate()`, `scale()`
- then `translate()` with these values.
- @param scaleX An x scale transformation value
- @param scaleY A y scale transformation value
- @param rotation (Optional) A rotation value (default is 0)
- @param tx (Optional) A translate x value (default is 0)
- @param ty (Optional) A translate y value (default is 0)
-
-
-
-
-
-
-
-
-
-
- { ty : 0, tx : 0, rotation : 0 }
- Creates a matrix to use for a linear gradient fill
- @param width The width of the gradient fill
- @param height The height of the gradient fill
- @param rotation (Optional) A rotation for the gradient fill (default is 0)
- @param tx (Optional) An x offset for the gradient fill (default is 0)
- @param ty (Optional) A y offset for the gradient fill (default is 0)
- @return A new `Matrix` instance
-
-
-
-
-
-
- Check if two matrices have the same values
- @return Whether both matrices are equal
-
-
-
-
-
-
-
- { result : null }
- Transforms a `Vector2` instance by the current matrix,
- without considering the `tx` and `ty` values of the matrix
- @param result (Optional) An existing `Vector2` instance to fill with the result
- @return A new `Vector2` instance representing the transformed values
-
-
-
- Resets the matrix to default identity values
-
-
-
- Inverts the values of the current matrix
- @return The current matrix instance
-
-
-
-
-
-
- Applies rotation to the current matrix
- @param theta A rotation value in degrees
-
-
-
-
-
-
-
- Scales the current matrix
- @param sx The x scale to apply
- @param sy The y scale to apply
-
-
-
-
-
-
-
-
- { scale : 1 }
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sets the values of the current matrix
- @param a The new matrix a value
- @param b The new matrix b value
- @param c The new matrix c value
- @param d The new matrix d value
- @param tx The new matrix tx value
- @param ty The new matrix ty value
-
-
-
-
-
-
-
- { roundPixels : false }
- hide
-
-
-
-
-
- hide
-
-
-
-
-
-
-
- { result : null }
- Transforms a `Rectangle` instance by the current matrix
- and returns `Rectangle` with the bounds of the transformed
- rectangle.
- @param transform A `Matrix3` instance to transform by
- @param result (Optional) A `Rectangle` instance to use for the result
- @return A `Rectangle` represented the transformed bounds
-
-
-
-
-
-
-
- { result : null }
- Transforms a `Vector2` instance by the current matrix
- @param result (Optional) An existing `Vector2` instance to fill with the result
- @return A new `Vector2` instance representing the transformed values
-
-
-
-
-
-
-
- Adjusts the `tx` and `ty` of the current matrix
- @param dx The x amount to translate
- @param dy The y amount to translate
-
-
-
-
-
-
-
-
-
-
-
- { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 }
- Creates a new `Matrix` instance
- @param a (Optional) An initial a component value (default is 1)
- @param b (Optional) An initial b component value (default is 0)
- @param c (Optional) An initial c component value (default is 0)
- @param d (Optional) An initial d component value (default is 1)
- @param tx (Optional) An initial tx component value (default is 0)
- @param ty (Optional) An initial ty component value (default is 0)
-
- `Matrix3` is a 3x3 transformation matrix particularly useful for
- two-dimensional transformation. It can be used for rotation, scale
- and skewing of a two-dimensional object.
-
- Although a 3x3 matrix is represented, configurable values can be
- considered as a 3x2 matrix:
-
- ```
- [ a, c, tx ]
- [ c, d, ty ]
- [ 0, 0, 1 ]
- ```
-
-
- "tags=\"haxe,release\""
-
-
-
-
- <__identity expr="new Matrix()" line="76" static="1">
-
-
- new Matrix()
-
-
-
- <__pool expr="new ObjectPool<Matrix>(function() return new Matrix(), function(m) m.identity())" line="77" static="1">
-
-
- (function() return new Matrix(), function(m) m.identity())]]>
-
-
-
- <__matrix3 expr="new Matrix3()" line="79" static="1">
-
-
- new Matrix3()
-
-
-
-
-
- The value that affects the positioning of pixels along the _x_ axis
- when scaling or rotating an image.
-
-
-
- The value that affects the positioning of pixels along the _y_ axis
- when rotating or skewing an image.
-
-
-
- The value that affects the positioning of pixels along the _x_ axis
- when rotating or skewing an image.
-
-
-
- The value that affects the positioning of pixels along the _y_ axis
- when scaling or rotating an image.
-
-
-
- The distance by which to translate each point along the _x_ axis.
-
-
-
- The distance by which to translate each point along the _y_ axis.
-
- <__array>
-
-
-
-
-
- Returns a new Matrix object that is a clone of this matrix, with an exact
- copy of the contained object.
-
- @return A Matrix object.
-
-
-
-
-
-
- Concatenates a matrix with the current matrix, effectively combining the
- geometric effects of the two. In mathematical terms, concatenating two
- matrixes is the same as combining them using matrix multiplication.
-
- For example, if matrix `m1` scales an object by a factor of
- four, and matrix `m2` rotates an object by 1.5707963267949
- radians(`Math.PI/2`), then `m1.concat(m2)`
- transforms `m1` into a matrix that scales an object by a factor
- of four and rotates the object by `Math.PI/2` radians.
-
- This method replaces the source matrix with the concatenated matrix. If
- you want to concatenate two matrixes without altering either of the two
- source matrixes, first copy the source matrix by using the
- `clone()` method, as shown in the Class Examples section.
-
- @param m The matrix to be concatenated to the source matrix.
-
-
-
-
-
-
-
- Copies a Vector3D object into specific column of the calling Matrix3D object.
-
- @param column The column from which to copy the data from.
- @param vector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
-
- Copies specific column of the calling Matrix object into the Vector3D object. The
- `w` element of the Vector3D object will not be changed.
-
- @param column The column from which to copy the data from.
- @param vector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
- Copies all of the matrix data from the source Point object into the calling Matrix
- object.
-
- @param sourceMatrix The Matrix object from which to copy the data.
-
-
-
-
-
-
-
- Copies a Vector3D object into specific row of the calling Matrix object.
-
- @param row The row from which to copy the data from.
- @param vector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
-
- Copies specific row of the calling Matrix object into the Vector3D object. The `w`
- element of the Vector3D object will not be changed.
-
- @param row The row from which to copy the data from.
- @param vector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
-
-
-
-
- { ty : 0, tx : 0, rotation : 0 }
- Includes parameters for scaling, rotation, and translation. When
- applied to a matrix it sets the matrix's values based on those
- parameters.
- Using the `createBox()` method lets you obtain the same matrix as you
- would if you applied the `identity()`, `rotate()`, `scale()`, and
- `translate()` methods in succession. For example,
- `mat1.createBox(2,2,Math.PI/4, 100, 100)` has the same effect as the
- following:
-
- ```haxe
- import openfl.geom.Matrix;
-
- var mat1 = new Matrix();
- mat1.identity();
- mat1.rotate(Math.PI/4);
- mat1.scale(2,2);
- mat1.translate(10,20);
- ```
-
- @param scaleX The factor by which to scale horizontally.
- @param scaleY The factor by which scale vertically.
- @param rotation The amount to rotate, in radians.
- @param tx The number of pixels to translate (move) to the right
- along the _x_ axis.
- @param ty The number of pixels to translate (move) down along
- the _y_ axis.
-
-
-
-
-
-
-
-
-
-
- { ty : 0, tx : 0, rotation : 0 }
- Creates the specific style of matrix expected by the
- `beginGradientFill()` and `lineGradientStyle()` methods of the
- Graphics class. Width and height are scaled to a `scaleX`/`scaleY`
- pair and the `tx`/`ty` values are offset by half the width and height.
-
- For example, consider a gradient with the following characteristics:
-
- * `GradientType.LINEAR`
- * Two colors, green and blue, with the ratios array set to `[0, 255]`
- * `SpreadMethod.PAD`
- * `InterpolationMethod.LINEAR_RGB`
-
- The following illustrations show gradients in which the matrix was
- defined using the `createGradientBox()` method with different
- parameter settings:
-
- | `createGradientBox()` settings | Resulting gradient |
- | --- | --- |
- | `width = 25; height = 25; rotation = 0; tx = 0; ty = 0;` |  |
- | `width = 25; height = 25; rotation = 0; tx = 25; ty = 0;` |  |
- | `width = 50; height = 50; rotation = 0; tx = 0; ty = 0;` |  |
- | `width = 50; height = 50; rotation = Math.PI / 4; // 45 degrees tx = 0; ty = 0;` |  |
-
- @param width The width of the gradient box.
- @param height The height of the gradient box.
- @param rotation The amount to rotate, in radians.
- @param tx The distance, in pixels, to translate to the right
- along the _x_ axis. This value is offset by half of
- the `width` parameter.
- @param ty The distance, in pixels, to translate down along the
- _y_ axis. This value is offset by half of the `height`
- parameter.
-
-
-
-
-
-
- Given a point in the pretransform coordinate space, returns the
- coordinates of that point after the transformation occurs. Unlike the
- standard transformation applied using the `transformPoint()`
- method, the `deltaTransformPoint()` method's transformation
- does not consider the translation parameters `tx` and
- `ty`.
-
- @param point The point for which you want to get the result of the matrix
- transformation.
- @return The point resulting from applying the matrix transformation.
-
-
-
-
-
-
-
- hide
-
- "checkstyle:FieldDocComment"
-
-
-
-
- Sets each matrix property to a value that causes a null
- transformation. An object transformed by applying an identity matrix
- will be identical to the original.
- After calling the `identity()` method, the resulting matrix has the
- following properties: `a`=1, `b`=0, `c`=0, `d`=1, `tx`=0, `ty`=0.
-
- In matrix notation, the identity matrix looks like this:
-
- 
-
-
-
- Performs the opposite transformation of the original matrix. You can apply
- an inverted matrix to an object to undo the transformation performed when
- applying the original matrix.
-
-
-
-
-
-
- Applies a rotation transformation to the Matrix object.
- The `rotate()` method alters the `a`, `b`, `c`, and `d` properties of
- the Matrix object. In matrix notation, this is the same as
- concatenating the current matrix with the following:
-
- 
-
- @param angle The rotation angle in radians.
-
-
-
-
-
-
-
- Applies a scaling transformation to the matrix. The _x_ axis is
- multiplied by `sx`, and the _y_ axis it is multiplied by `sy`.
- The `scale()` method alters the `a` and `d` properties of the Matrix
- object. In matrix notation, this is the same as concatenating the
- current matrix with the following matrix:
-
- 
-
- @param sx A multiplier used to scale the object along the _x_ axis.
- @param sy A multiplier used to scale the object along the _y_ axis.
-
-
-
-
-
-
-
-
- { scale : 1 }
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sets the members of Matrix to the specified values
-
- @param aa the values to set the matrix to.
- @param ba
- @param ca
- @param da
- @param txa
- @param tya
-
-
-
-
-
-
-
- { roundPixels : false }
- "checkstyle:FieldDocComment"
- hide
-
-
-
-
-
-
- "checkstyle:FieldDocComment"
- hide
-
-
-
-
-
- Returns a text value listing the properties of the Matrix object.
-
- @return A string containing the values of the properties of the Matrix
- object: `a`, `b`, `c`,
- `d`, `tx`, and `ty`.
-
-
-
-
-
-
- Returns the result of applying the geometric transformation represented by
- the Matrix object to the specified point.
-
- @param point The point for which you want to get the result of the Matrix
- transformation.
- @return The point resulting from applying the Matrix transformation.
-
-
-
-
-
-
-
- Translates the matrix along the _x_ and _y_ axes, as specified
- by the `dx` and `dy` parameters.
-
- @param dx The amount of movement along the _x_ axis to the right, in
- pixels.
- @param dy The amount of movement down along the _y_ axis, in pixels.
-
-
-
-
-
-
-
- { transpose : false }
-
-
-
- <__cleanValues get="inline" set="null" line="740">
-
-
-
- <__toMatrix3 set="method" line="751">
-
-
-
- <__transformInversePoint get="inline" set="null" line="758">
-
-
-
-
-
-
- <__transformInverseX get="inline" set="null" line="775">
-
-
-
-
-
-
-
- <__transformInverseY get="inline" set="null" line="789">
-
-
-
-
-
-
-
- <__transformPoint get="inline" set="null" line="803">
-
-
-
-
-
-
- <__transformX get="inline" set="null" line="812">
-
-
-
-
-
-
-
- <__transformY get="inline" set="null" line="817">
-
-
-
-
-
-
-
- <__translateTransformed get="inline" set="null" line="822">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 }
- Creates a new Matrix object with the specified parameters. In matrix
- notation, the properties are organized like this:
-
- 
-
- If you do not provide any parameters to the `new Matrix()`
- constructor, it creates an _identity matrix_ with the following
- values:
-
- | `a = 1` | `b = 0` |
- | `c = 0` | `d = 1` |
- | `tx = 0` | `ty = 0` |
-
- In matrix notation, the identity matrix looks like this:
-
- 
-
- @param a The value that affects the positioning of pixels along the
- _x_ axis when scaling or rotating an image.
- @param b The value that affects the positioning of pixels along the
- _y_ axis when rotating or skewing an image.
- @param c The value that affects the positioning of pixels along the
- _x_ axis when rotating or skewing an image.
- @param d The value that affects the positioning of pixels along the
- _y_ axis when scaling or rotating an image..
- @param tx The distance by which to translate each point along the _x_
- axis.
- @param ty The distance by which to translate each point along the _y_
- axis.
-
- The Matrix class represents a transformation matrix that determines how to
- map points from one coordinate space to another. You can perform various
- graphical transformations on a display object by setting the properties of
- a Matrix object, applying that Matrix object to the `matrix` property of a
- Transform object, and then applying that Transform object as the
- `transform` property of the display object. These transformation functions
- include translation (_x_ and _y_ repositioning), rotation, scaling, and
- skewing.
- Together these types of transformations are known as _affine
- transformations_. Affine transformations preserve the straightness of
- lines while transforming, so that parallel lines stay parallel.
-
- To apply a transformation matrix to a display object, you create a
- Transform object, set its `matrix` property to the transformation matrix,
- and then set the `transform` property of the display object to the
- Transform object. Matrix objects are also used as parameters of some
- methods, such as the following:
-
- * The `draw()` method of a BitmapData object
- * The `beginBitmapFill()` method, `beginGradientFill()` method, or
- `lineGradientStyle()` method of a Graphics object
-
- A transformation matrix object is a 3 x 3 matrix with the following
- contents:
-
- 
-
- In traditional transformation matrixes, the `u`, `v`, and `w` properties
- provide extra capabilities. The Matrix class can only operate in
- two-dimensional space, so it always assumes that the property values `u`
- and `v` are 0.0, and that the property value `w` is 1.0. The effective
- values of the matrix are as follows:
-
- 
-
- You can get and set the values of all six of the other properties in a
- Matrix object: `a`, `b`, `c`, `d`, `tx`, and `ty`.
-
- The Matrix class supports the four major types of transformations:
- translation, scaling, rotation, and skewing. You can set three of these
- transformations by using specialized methods, as described in the
- following table:
-
- | Transformation | Method | Matrix values | Display result | Description |
- | --- | --- | --- | --- | --- |
- | Translation (displacement) | `translate(tx, ty)` |  |  | Moves the image `tx` pixels to the right and `ty` pixels down. |
- | Scaling | `scale(sx, sy)` |  |  | Resizes the image, multiplying the location of each pixel by `sx` on the _x_ axis and `sy` on the _y_ axis. |
- | Rotation | `rotate(q)` |  |  | Rotates the image by an angle `q`, which is measured in radians. |
- | Skewing or shearing | None; must set the properties `b` and `c` |  |  | Progressively slides the image in a direction parallel to the _x_ or _y_ axis. The `b` property of the Matrix object represents the tangent of the skew angle along the _y_ axis; the `c` property of the Matrix object represents the tangent of the skew angle along the _x_ axis. |
-
- Each transformation function alters the current matrix properties so that
- you can effectively combine multiple transformations. To do this, you call
- more than one transformation function before applying the matrix to its
- display object target (by using the `transform` property of that display
- object).
-
- Use the `new Matrix()` constructor to create a Matrix object before you
- can call the methods of the Matrix object.
-
-
- "tags=\"haxe,release\""
-
-
-
-
- <__limeColorMatrix static="1">
-
-
-
- <__pool expr="new ObjectPool<ColorTransform>(function() return new ColorTransform(), function(ct) ct.__identity())" line="59" static="1">
-
-
- (function() return new ColorTransform(), function(ct) ct.__identity())]]>
-
-
-
-
-
- A decimal value that is multiplied with the alpha transparency channel
- value.
-
- If you set the alpha transparency value of a display object directly by
- using the `alpha` property of the DisplayObject instance, it
- affects the value of the `alphaMultiplier` property of that
- display object's `transform.colorTransform` property.
-
-
-
- A number from -255 to 255 that is added to the alpha transparency channel
- value after it has been multiplied by the `alphaMultiplier`
- value.
-
-
-
- A decimal value that is multiplied with the blue channel value.
-
-
-
- A number from -255 to 255 that is added to the blue channel value after it
- has been multiplied by the `blueMultiplier` value.
-
-
-
- The RGB color value for a ColorTransform object.
-
- When you set this property, it changes the three color offset values
- (`redOffset`, `greenOffset`, and
- `blueOffset`) accordingly, and it sets the three color
- multiplier values(`redMultiplier`,
- `greenMultiplier`, and `blueMultiplier`) to 0. The
- alpha transparency multiplier and offset values do not change.
-
- When you pass a value for this property, use the format
- 0x_RRGGBB_. _RR_, _GG_, and _BB_ each consist of two
- hexadecimal digits that specify the offset of each color component. The 0x
- tells the ActionScript compiler that the number is a hexadecimal
- value.
-
-
-
- A decimal value that is multiplied with the green channel value.
-
-
-
- A number from -255 to 255 that is added to the green channel value after
- it has been multiplied by the `greenMultiplier` value.
-
-
-
- A decimal value that is multiplied with the red channel value.
-
-
-
- A number from -255 to 255 that is added to the red channel value after it
- has been multiplied by the `redMultiplier` value.
-
-
-
-
-
-
- Concatenates the ColorTranform object specified by the `second`
- parameter with the current ColorTransform object and sets the current
- object as the result, which is an additive combination of the two color
- transformations. When you apply the concatenated ColorTransform object,
- the effect is the same as applying the `second` color
- transformation after the _original_ color transformation.
-
- @param second The ColorTransform object to be combined with the current
- ColorTransform object.
-
-
-
- Formats and returns a string that describes all of the properties of
- the ColorTransform object.
-
- @return A string that lists all of the properties of the
- ColorTransform object.
-
- <__clone set="method" line="213">
-
-
-
- <__copyFrom set="method" line="218">
-
-
-
-
-
-
- <__combine set="method" line="231">
-
-
-
-
-
-
- <__identity set="method" line="244">
-
-
-
- <__invert set="method" line="256">
-
-
-
- <__equals set="method" line="268">
-
-
-
-
-
-
-
- <__isDefault set="method" line="281">
-
-
-
-
-
-
- <__setArrays set="method" line="300">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <__toLimeColorMatrix set="method" line="332">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1, blueMultiplier : 1, greenMultiplier : 1, redMultiplier : 1 }
- Creates a ColorTransform object for a display object with the specified
- color channel values and alpha values.
-
- @param redMultiplier The value for the red multiplier, in the range from
- 0 to 1.
- @param greenMultiplier The value for the green multiplier, in the range
- from 0 to 1.
- @param blueMultiplier The value for the blue multiplier, in the range
- from 0 to 1.
- @param alphaMultiplier The value for the alpha transparency multiplier, in
- the range from 0 to 1.
- @param redOffset The offset value for the red color channel, in the
- range from -255 to 255.
- @param greenOffset The offset value for the green color channel, in
- the range from -255 to 255.
- @param blueOffset The offset for the blue color channel value, in the
- range from -255 to 255.
- @param alphaOffset The offset for alpha transparency channel value, in
- the range from -255 to 255.
-
- The ColorTransform class lets you adjust the color values in a display
- object. The color adjustment or _color transformation_ can be applied
- to all four channels: red, green, blue, and alpha transparency.
-
- When a ColorTransform object is applied to a display object, a new value
- for each color channel is calculated like this:
-
-
- * New red value = (old red value * `redMultiplier`) +
- `redOffset`
- * New green value = (old green value * `greenMultiplier`) +
- `greenOffset`
- * New blue value = (old blue value * `blueMultiplier`) +
- `blueOffset`
- * New alpha value = (old alpha value * `alphaMultiplier`) +
- `alphaOffset`
-
-
- If any of the color channel values is greater than 255 after the
- calculation, it is set to 255. If it is less than 0, it is set to 0.
-
- You can use ColorTransform objects in the following ways:
-
-
- * In the `colorTransform` parameter of the
- `colorTransform()` method of the BitmapData class
- * As the `colorTransform` property of a Transform object
- (which can be used as the `transform` property of a display
- object)
-
-
- You must use the `new ColorTransform()` constructor to create
- a ColorTransform object before you can call the methods of the
- ColorTransform object.
-
- Color transformations do not apply to the background color of a movie
- clip(such as a loaded SWF object). They apply only to graphics and symbols
- that are attached to the movie clip.
-
-
- "tags=\"haxe,release\""
-
-
-
@@ -21126,31 +67399,31 @@
* Draw triangles stack items that can be reused
-
+ ()]]>* Internal variable, used for visibility checks to minimize `drawTriangles()` calls.
-
+ new Sprite()* Internal variable, used in blit render mode to render triangles (`drawTriangles()`) on camera's buffer.
-
+ FlxPoint.get()* Internal variables, used in blit render mode to draw trianglesSprite on camera's buffer.
* Added for less garbage creation.
-
+ FlxRect.get()
-
+ "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead"
-
+
@@ -21187,6 +67460,11 @@
true* Whenever the camera follow is active. Used for pause.
+
+
+ true
+ * Whenever the fix for black bars when the camera rotates should be enabled. Defaults to `true`.
+ 0
@@ -21585,7 +67863,7 @@
* Scroll Rect (non affected by widescreen)
-
+
@@ -21600,7 +67878,7 @@
-
+
@@ -21613,7 +67891,7 @@
-
+
@@ -21626,18 +67904,18 @@
-
+ flixel.system.frontEnds.CameraFrontEnd
-
+ flixel.system.frontEnds.CameraFrontEnd
-
+
-
+
@@ -21655,10 +67933,10 @@
false
-
+
-
+
@@ -21669,7 +67947,7 @@
{ smoothing : false }
-
+
@@ -21684,7 +67962,7 @@
{ smoothing : false, repeat : false }
-
+
@@ -21693,7 +67971,7 @@
* @param rect rectangle to prepare for rendering
* @return transformed rectangle with respect to camera's zoom factor
-
+
@@ -21702,7 +67980,7 @@
* @param point point to prepare for rendering
* @return transformed point with respect to camera's zoom factor
-
+
@@ -21711,7 +67989,7 @@
* @param vector relative position to prepare for rendering
* @return transformed vector with respect to camera's zoom factor
-
+
@@ -21722,23 +68000,23 @@
* @param object display object to apply transformations to.
* @return transformed object.
-
+ * Clean up memory.
-
+ * Updates the camera scroll as well as special effects like screen-shake or fades.
-
+ * Updates (bounds) the camera scroll.
* Called every frame by camera's `update()` method.
-
+
@@ -21746,30 +68024,30 @@
* Updates camera's scroll.
* Called every frame by camera's `update()` method (if camera's `target` isn't `null`).
-
+
-
+
-
-
+
+
-
+ * Recalculates `flashSprite` position.
* Called every frame by camera's `update()` method and every time you change camera's position.
-
+ * Recalculates `_flashOffset` point, which is used for positioning flashSprite in the game.
* It's called every time you resize the camera or the game.
-
+ * Updates `_scrollRect` sprite to crop graphics of the camera:
* 1) `scrollRect` property of this sprite
@@ -21778,15 +68056,15 @@
* It takes camera's size and game's scale into account.
* It's called every time you resize the camera or the game.
-
-
+
+ * Modifies position of `_flashBitmap` in blit render mode and `canvas` and `debugSprite`
* in tile render mode (these objects are children of `_scrollRect` sprite).
* It takes camera's size and game's scale into account.
* It's called every time you resize the camera or the game.
-
+
@@ -21801,12 +68079,12 @@
* manually specify the deadzone after calling `follow()`.
* @param Lerp How much lag the camera should have (can help smooth out the camera movement).
-
+ * Snaps the camera to the current `target`. Useful to move the camera without
* any easing when the `target` position changes and there is a `followLerp`.
-
+
@@ -21815,7 +68093,7 @@
*
* @param Point Where you want the camera to focus.
-
+
@@ -21831,7 +68109,7 @@
* @param OnComplete A function you want to run when the flash finishes.
* @param Force Force the effect to reset.
-
+
@@ -21849,7 +68127,7 @@
* @param OnComplete A function you want to run when the fade finishes.
* @param Force Force the effect to reset.
-
+
@@ -21868,18 +68146,18 @@
* @param Force Force the effect to reset (default = `true`, unlike `flash()` and `fade()`!).
* @param Axes On what axes to shake. Default value is `FlxAxes.XY` / both.
-
+ * Just turns off all the camera effects instantly.
-
+ * Sets the filter array to be applied to the camera.
-
+
@@ -21889,7 +68167,7 @@
* @param Camera The camera you want to copy from.
* @return A reference to this `FlxCamera` object.
-
+
@@ -21903,17 +68181,17 @@
* @param Color The color to fill with in `0xAARRGGBB` hex format.
* @param BlendAlpha Whether to blend the alpha value or just wipe the previous contents. Default is `true`.
-
+ flixel.system.frontEnds.CameraFrontEnd* Internal helper function, handles the actual drawing of all the special effects.
-
+ flixel.system.frontEnds.CameraFrontEnd
-
-
+
+
@@ -21924,7 +68202,7 @@
* @param Width The new camera width.
* @param Height The new camera height.
-
+
@@ -21937,7 +68215,7 @@
* @param X The new x position.
* @param Y The new y position.
-
+
@@ -21955,7 +68233,7 @@
* @param Height The largest Y value of your level (usually the level height).
* @param UpdateWorld Whether the global quad-tree's dimensions should be updated to match (default: `false`).
-
+
@@ -21971,7 +68249,7 @@
* @param MinY The minimum Y value the camera can scroll to
* @param MaxY The maximum Y value the camera can scroll to
-
+
@@ -21983,12 +68261,12 @@
* @param X The new scale on x axis
* @param Y The new scale of y axis
-
+ * Called by camera front end every time you resize the game.
* It triggers reposition of camera's internal display objects.
-
+
@@ -21996,7 +68274,7 @@
* The size and position of this camera's screen
* @since 4.11.0
-
+
@@ -22008,7 +68286,7 @@
* screen coordinates.
* @since 4.3.0
-
+
@@ -22016,53 +68294,53 @@
* Checks whether this camera contains a given rectangle, in screen coordinates.
* @since 4.11.0
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
@@ -22327,25 +68605,25 @@
* Clears image cache (and destroys those images).
* Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0.
-
+ * Maps the entire cache as destroyable, aka must be cleared.
-
+
-
+ * Completely resets bitmap cache, which means destroying ALL of the cached FlxGraphic objects.
-
+ * Removes all unused graphics from cache,
* but skips graphics which should persist in cache and shouldn't be destroyed on no use.
-
-
+
+ * Internal storage system to prevent graphics from being used repeatedly in memory.
*
@@ -25188,11 +71466,11 @@
* Maps `FlxDirectionFlags` values to axis flips
-
+
-
+ * **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
@@ -25203,8 +71481,8 @@
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!
-
-
+
+
@@ -25215,7 +71493,7 @@
* @param Sprite The `FlxSprite` from which you want to load graphic data.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
-
+
@@ -25245,7 +71523,7 @@
* @param Key Set this parameter if you're loading `BitmapData`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
-
+
@@ -25271,7 +71549,7 @@
* @param Key Optional, set this parameter if you're loading `BitmapData`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
-
+
@@ -25290,7 +71568,7 @@
* Will create frames that are 150% larger on each axis than the original frame or graphic.
* @return this FlxSprite with loaded rotated graphic in it.
-
+
@@ -25319,30 +71597,30 @@
* it is used as a prefix to find a new unique name like `"Key3"`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
-
+ * Called whenever a new graphic is loaded for this sprite (after `loadGraphic()`, `makeGraphic()` etc).
-
+ * Resets some internal variables used for frame `BitmapData` calculation.
-
+ * Resets frame size to frame dimensions.
-
+ * Resets sprite's size back to frame size.
-
+ * Helper method just for convenience, so you don't need to type
* `sprite.frame = sprite.frame;`
* You may need this method in tile render mode,
* when you want sprite to use its original graphic, not the graphic generated from its `framePixels`.
-
+
@@ -25355,36 +71633,36 @@
* @param Width How wide the graphic should be. If `<= 0`, and `Height` is set, the aspect ratio will be kept.
* @param Height How high the graphic should be. If `<= 0`, and `Width` is set, the aspect ratio will be kept.]]>
-
+ * Updates the sprite's hitbox (`width`, `height`, `offset`) according to the current `scale`.
* Also calls `centerOrigin()`.
-
+ * Resets some important variables for sprite optimization and rendering.
-
+
-
+ * This is separated out so it can be easily overridden.
-
+
-
+ * Called by game loop, updates then blits or renders current frame of animation to the screen.
-
+
@@ -25399,14 +71677,22 @@
false
-
+
-
+
+
+
+
+
+
+ * Made in case developer wanna finalize stuff with the matrix.
+
+
@@ -25421,7 +71707,7 @@
* @param X The X coordinate of the brush's top left corner on this sprite.
* @param Y They Y coordinate of the brush's top left corner on this sprite.
-
+
@@ -25432,7 +71718,7 @@
*
* @param Force Force the frame to redraw, even if its not flagged as necessary.
-
+
@@ -25442,12 +71728,12 @@
*
* @param AdjustPosition Adjusts the actual X and Y position just once to match the offset change.
-
+ * Sets the sprite's origin to its center - useful after adjusting
* `scale` to make sure rotations work as expected.
-
+
@@ -25463,7 +71749,7 @@
* @param FetchPositions Whether we need to store positions of pixels which colors were replaced.
* @return `Array` with replaced pixels positions
-
+
@@ -25488,8 +71774,8 @@
* @param blueOffset The offset for the blue color channel value, in the range from `-255` to `255`.
* @param alphaOffset The offset for alpha transparency channel value, in the range from `-255` to `255`.
-
-
+
+
@@ -25505,7 +71791,7 @@
* @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether or not the point overlaps this object.
-
+
@@ -25518,11 +71804,11 @@
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target
-
+ * Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`.
-
+
@@ -25533,7 +71819,7 @@
* Otherwise a new one is created.
* @return A `FlxPoint` containing the midpoint of this sprite's graphic in world coordinates.
-
+
@@ -25544,7 +71830,7 @@
* @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether the object is on screen or not.
-
+
@@ -25552,7 +71838,7 @@
* Returns the result of `isSimpleRenderBlit()` if `FlxG.renderBlit` is
* `true`, or `false` if `FlxG.renderTile` is `true`.
-
+
@@ -25564,7 +71850,7 @@
*
* @param camera If a camera is passed its `pixelPerfectRender` flag is taken into account
-
+
@@ -25577,7 +71863,7 @@
* @return A globally aligned `FlxRect` that fully contains the input object's width and height.
* @since 4.11.0
-
+
@@ -25590,7 +71876,7 @@
* @return A globally aligned `FlxRect` that fully contains the input sprite.
* @since 4.11.0
-
+
@@ -25606,7 +71892,7 @@
* @param FlipX Whether to flip the sprite on the X axis.
* @param FlipY Whether to flip the sprite on the Y axis.
-
+
@@ -25622,64 +71908,64 @@
* @param saveAnimations Whether to save animations in animation controller or not.
* @return This sprite with loaded frames
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -25688,14 +71974,14 @@
* Internal function for setting graphic property for this object.
* It changes graphics' `useCount` also for better memory tracking.
-
+
-
+
@@ -25707,43 +71993,43 @@
* @param Frames frames to load into this sprite.
* @return loaded frames.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -26383,29 +72669,29 @@
-
+ * This function is called after the game engine successfully switches states.
* Override this function, NOT the constructor, to initialize or set up your game state.
* We do NOT recommend initializing any flixel objects or utilizing flixel features in
* the constructor, unless you want some crazy unpredictable things to happen!
-
-
-
+
+
+
-
+ * Closes the substate of this state, if one exists.
-
+ * Load substate for this state
-
-
+
+
@@ -26415,17 +72701,17 @@
*
* Useful for customizing state switches, e.g. for transition effects.
-
+ * This method is called after the game loses focus.
* Can be useful for third party libraries, such as tweening engines.
-
+ * This method is called after the game receives focus.
* Can be useful for third party libraries, such as tweening engines.
-
+
@@ -26436,32 +72722,32 @@
* @param Width The new window width
* @param Height The new window Height
-
+ flixel.FlxGame
-
+
-
+
-
+
-
+
@@ -26550,32 +72836,24 @@
- <_created expr="false">
-
-
- false
-
- flixel.FlxState.resetSubState
-
-
-
-
-
+
+
+ * Closes this substate.
-
+
-
+
-
+
@@ -39181,531 +85459,6 @@
* @author Lars Doucet
-
- <__limeRectangle static="1">
-
-
-
- <__pool expr="new ObjectPool<Rectangle>(function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))" line="62" static="1">
-
-
- (function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))]]>
-
-
-
-
-
- The sum of the `y` and `height` properties.
-
- 
-
-
-
- The location of the Rectangle object's bottom-right corner, determined
- by the values of the `right` and `bottom` properties.
-
- 
-
-
-
- The height of the rectangle, in pixels. Changing the `height` value of
- a Rectangle object has no effect on the `x`, `y`, and `width`
- properties.
-
- 
-
-
-
- The _x_ coordinate of the top-left corner of the rectangle. Changing
- the `left` property of a Rectangle object has no effect on the `y` and
- `height` properties. However it does affect the `width` property,
- whereas changing the `x` value does _not_ affect the `width` property.
-
- The value of the `left` property is equal to the value of the `x`
- property.
-
- 
-
-
-
- The sum of the `x` and `width` properties.
-
- 
-
-
-
- The size of the Rectangle object, expressed as a Point object with the
- values of the `width` and `height` properties.
-
-
-
- The _y_ coordinate of the top-left corner of the rectangle. Changing
- the `top` property of a Rectangle object has no effect on the `x` and
- `width` properties. However it does affect the `height` property,
- whereas changing the `y` value does _not_ affect the `height`
- property.
- The value of the `top` property is equal to the value of the `y`
- property.
-
- 
-
-
-
- The location of the Rectangle object's top-left corner, determined by
- the _x_ and _y_ coordinates of the point.
-
- 
-
-
-
- The width of the rectangle, in pixels. Changing the `width` value of a
- Rectangle object has no effect on the `x`, `y`, and `height`
- properties.
-
- 
-
-
-
- The _x_ coordinate of the top-left corner of the rectangle. Changing
- the value of the `x` property of a Rectangle object has no
- effect on the `y`, `width`, and `height`
- properties.
-
- The value of the `x` property is equal to the value of the
- `left` property.
-
-
-
- The _y_ coordinate of the top-left corner of the rectangle. Changing
- the value of the `y` property of a Rectangle object has no
- effect on the `x`, `width`, and `height`
- properties.
-
- The value of the `y` property is equal to the value of the
- `top` property.
-
-
-
- Returns a new Rectangle object with the same values for the
- `x`, `y`, `width`, and
- `height` properties as the original Rectangle object.
-
- @return A new Rectangle object with the same values for the
- `x`, `y`, `width`, and
- `height` properties as the original Rectangle object.
-
-
-
-
-
-
-
- Determines whether the specified point is contained within the rectangular
- region defined by this Rectangle object.
-
- @param x The _x_ coordinate(horizontal position) of the point.
- @param y The _y_ coordinate(vertical position) of the point.
- @return A value of `true` if the Rectangle object contains the
- specified point; otherwise `false`.
-
-
-
-
-
-
- Determines whether the specified point is contained within the rectangular
- region defined by this Rectangle object. This method is similar to the
- `Rectangle.contains()` method, except that it takes a Point
- object as a parameter.
-
- @param point The point, as represented by its _x_ and _y_
- coordinates.
- @return A value of `true` if the Rectangle object contains the
- specified point; otherwise `false`.
-
-
-
-
-
-
- Determines whether the Rectangle object specified by the `rect`
- parameter is contained within this Rectangle object. A Rectangle object is
- said to contain another if the second Rectangle object falls entirely
- within the boundaries of the first.
-
- @param rect The Rectangle object being checked.
- @return A value of `true` if the Rectangle object that you
- specify is contained by this Rectangle object; otherwise
- `false`.
-
-
-
-
-
-
- Copies all of rectangle data from the source Rectangle object into the calling
- Rectangle object.
-
- @param sourceRect The Rectangle object from which to copy the data.
-
-
-
-
-
-
- Determines whether the object specified in the `toCompare`
- parameter is equal to this Rectangle object. This method compares the
- `x`, `y`, `width`, and
- `height` properties of an object against the same properties of
- this Rectangle object.
-
- @param toCompare The rectangle to compare to this Rectangle object.
- @return A value of `true` if the object has exactly the same
- values for the `x`, `y`, `width`,
- and `height` properties as this Rectangle object;
- otherwise `false`.
-
-
-
-
-
-
-
- Increases the size of the Rectangle object by the specified amounts,
- in pixels. The center point of the Rectangle object stays the same,
- and its size increases to the left and right by the `dx` value, and to
- the top and the bottom by the `dy` value.
-
- @param dx The value to be added to the left and the right of the
- Rectangle object. The following equation is used to
- calculate the new width and position of the rectangle:
-
- ```as3
- x -= dx;
- width += 2 * dx;
- ```
- @param dy The value to be added to the top and the bottom of the
- Rectangle. The following equation is used to calculate the
- new height and position of the rectangle:
-
- ```
- y -= dy;
- height += 2 * dy;
- ```
-
-
-
-
-
-
- Increases the size of the Rectangle object. This method is similar to
- the `Rectangle.inflate()` method except it takes a Point object as a
- parameter.
- The following two code examples give the same result:
-
- ```haxe
- var rect1 = new Rectangle(0,0,2,5);
- rect1.inflate(2,2);
- ```
- ```haxe
- var rect1 = new Rectangle(0,0,2,5);
- var pt1 = new Point(2,2);
- rect1.inflatePoint(pt1);
- ```
-
- @param point The `x` property of this Point object is used to increase
- the horizontal dimension of the Rectangle object. The `y`
- property is used to increase the vertical dimension of
- the Rectangle object.
-
-
-
-
-
-
- If the Rectangle object specified in the `toIntersect` parameter
- intersects with this Rectangle object, returns the area of
- intersection as a Rectangle object. If the rectangles do not
- intersect, this method returns an empty Rectangle object with its
- properties set to 0.
-
- 
-
- @param toIntersect The Rectangle object to compare against to see if
- it intersects with this Rectangle object.
- @return A Rectangle object that equals the area of intersection. If
- the rectangles do not intersect, this method returns an empty
- Rectangle object; that is, a rectangle with its `x`, `y`,
- `width`, and `height` properties set to 0.
-
-
-
-
-
-
- Determines whether the object specified in the `toIntersect`
- parameter intersects with this Rectangle object. This method checks the
- `x`, `y`, `width`, and
- `height` properties of the specified Rectangle object to see if
- it intersects with this Rectangle object.
-
- @param toIntersect The Rectangle object to compare against this Rectangle
- object.
- @return A value of `true` if the specified object intersects
- with this Rectangle object; otherwise `false`.
-
-
-
- Determines whether or not this Rectangle object is empty.
-
- @return A value of `true` if the Rectangle object's width or
- height is less than or equal to 0; otherwise `false`.
-
-
-
-
-
-
-
- Adjusts the location of the Rectangle object, as determined by its
- top-left corner, by the specified amounts.
-
- @param dx Moves the _x_ value of the Rectangle object by this amount.
- @param dy Moves the _y_ value of the Rectangle object by this amount.
-
-
-
-
-
-
- Adjusts the location of the Rectangle object using a Point object as a
- parameter. This method is similar to the `Rectangle.offset()`
- method, except that it takes a Point object as a parameter.
-
- @param point A Point object to use to offset this Rectangle object.
-
-
-
- Sets all of the Rectangle object's properties to 0. A Rectangle object is
- empty if its width or height is less than or equal to 0.
-
- This method sets the values of the `x`, `y`,
- `width`, and `height` properties to 0.
-
-
-
-
-
-
-
-
-
- Sets the members of Rectangle to the specified values
-
- @param xa the values to set the rectangle to.
- @param ya
- @param widtha
- @param heighta
-
-
-
-
-
-
-
- Adds two rectangles together to create a new Rectangle object, by
- filling in the horizontal and vertical space between the two
- rectangles.
-
- 
-
- **Note:** The `union()` method ignores rectangles with `0` as the
- height or width value, such as: `var rect2:Rectangle = new Rectangle(300,300,50,0);`
-
- @param toUnion A Rectangle object to add to this Rectangle object.
- @return A new Rectangle object that is the union of the two
- rectangles.
-
- <__contract set="method" line="554">
-
-
-
-
-
-
-
-
-
- <__expand set="method" line="577">
-
-
-
-
-
-
-
-
-
- <__toLimeRectangle set="method" line="606">
-
-
-
- <__transform set="method" line="618">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { height : 0, width : 0, y : 0, x : 0 }
- Creates a new Rectangle object with the top-left corner specified by the
- `x` and `y` parameters and with the specified
- `width` and `height` parameters. If you call this
- function without parameters, a rectangle with `x`,
- `y`, `width`, and `height` properties set
- to 0 is created.
-
- @param x The _x_ coordinate of the top-left corner of the
- rectangle.
- @param y The _y_ coordinate of the top-left corner of the
- rectangle.
- @param width The width of the rectangle, in pixels.
- @param height The height of the rectangle, in pixels.
-
- A Rectangle object is an area defined by its position, as indicated by its
- top-left corner point(_x_, _y_) and by its width and its height.
-
-
- The `x`, `y`, `width`, and
- `height` properties of the Rectangle class are independent of
- each other; changing the value of one property has no effect on the others.
- However, the `right` and `bottom` properties are
- integrally related to those four properties. For example, if you change the
- value of the `right` property, the value of the
- `width` property changes; if you change the `bottom`
- property, the value of the `height` property changes.
-
- The following methods and properties use Rectangle objects:
-
-
- * The `applyFilter()`, `colorTransform()`,
- `copyChannel()`, `copyPixels()`, `draw()`,
- `fillRect()`, `generateFilterRect()`,
- `getColorBoundsRect()`, `getPixels()`,
- `merge()`, `paletteMap()`,
- `pixelDisolve()`, `setPixels()`, and
- `threshold()` methods, and the `rect` property of the
- BitmapData class
- * The `getBounds()` and `getRect()` methods, and
- the `scrollRect` and `scale9Grid` properties of the
- DisplayObject class
- * The `getCharBoundaries()` method of the TextField
- class
- * The `pixelBounds` property of the Transform class
- * The `bounds` parameter for the `startDrag()`
- method of the Sprite class
- * The `printArea` parameter of the `addPage()`
- method of the PrintJob class
-
-
- You can use the `new Rectangle()` constructor to create a
- Rectangle object.
-
- **Note:** The Rectangle class does not define a rectangular Shape
- display object. To draw a rectangular Shape object onscreen, use the
- `drawRect()` method of the Graphics class.
-
-
- "tags=\"haxe,release\""
-
-
-
@@ -48704,171 +94457,6 @@
* which can be loaded in sprites and in tilemaps.
-
-
-
-
- * Array with all frames of this collection.
-
-
-
- * Number of frames in this collection.
-
-
-
-
-
-
- * Hash of frames for this frame collection.
- * Used only in `FlxAtlasFrames` and `FlxBitmapFont` (not implemented yet),
- * but you can try to use it for other types of collections
- * (give names to your frames).
-
-
-
- * Graphic object this frames belongs to.
-
-
-
- * Type of this frame collection.
- * Used for faster type detection (less casting).
-
-
-
- * How much space was trimmed around the original frames.
- * Use `addBorder()` to add borders.
-
-
-
-
-
-
- * Finds a frame in `framesHash` by its name.
- *
- * @param name The name of the frame to find.
- * @return Frame with specified name (if there is one).
-
-
-
-
-
-
- * Finds frame in frames array by its index.
- *
- * @param index Index of the frame in the frames array.
- * @return Frame with specified index in this frames collection (if there is one).
-
-
-
-
-
-
- * Finds frame index by its name.
- *
- * @param name Name of the frame.
- * @return Index of the frame with specified name.
-
-
-
-
-
-
- * Finds the index of the specified frame in the frames array.
- *
- * @param frame Frame to find.
- * @return Index of the specified frame.
-
-
-
-
-
-
-
- * Adds empty frame into this frame collection.
- * An empty frame is doing almost nothing for all the time.
- *
- * @param size Dimensions of the frame to add.
- * @return Newly added empty frame.
-
-
-
-
-
-
- * Adds new regular (not rotated) `FlxFrame` to this frame collection.
- *
- * @param region Region of image which new frame will display.
- * @return Newly created `FlxFrame` object for specified region of image.
-
-
-
-
-
-
-
-
-
-
-
-
- { flipY : false, flipX : false, angle : 0 }
- * Adds new frame to this frame collection.
- * This method runs additional check, and can add rotated frames (from texture atlases).
- *
- * @param frame Region of image.
- * @param sourceSize Original size of packed image
- * (if image had been cropped, then original size will be bigger than frame size).
- * @param offset How frame region is located on original frame image
- * (offset from top left corner of original image).
- * @param name Name for this frame (name of packed image file).
- * @param angle Rotation of packed image (can be `0`, `90` or `-90`).
- * @param flipX If packed image should be horizontally flipped.
- * @param flipY If packed image should be vertically flipped.
- * @return Newly created and added frame object.
-
-
-
-
-
-
-
- * Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds.
- *
- * @param frame Frame area to check.
- * @param name Optional frame name for debugging info.
- * @return Checked and trimmed frame rectangle.
-
-
-
-
-
-
- * Helper method for a adding frame to the collection.
- *
- * @param frameObj Frame to add.
- * @return Added frame.
-
-
-
-
-
-
- * Generates new frames collection from this collection but trims frames by specified borders.
- *
- * @param border How much space trim around the frames.
- * @return Generated frames collection.
-
-
-
-
-
-
-
-
-
- * Base class for all frame collections.
-
-
@@ -48941,7 +94529,7 @@
* @param useCache Will specify whenever the cache should be used.
* @return Newly created `FlxAtlasFrames` collection.
-
+
@@ -48955,7 +94543,7 @@
* Or you can just pass a path to the XML file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.
-
+
@@ -48969,7 +94557,7 @@
* Or you can just pass a path to the description file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.
-
+
@@ -48981,7 +94569,7 @@
* @return `FlxAtlasFrames` collection for the specified `FlxGraphic` object
* Could be `null` if `FlxGraphic` doesn't have it yet.
-
+
@@ -50810,7 +96398,7 @@
-
+
@@ -50841,11 +96429,11 @@
-
+ "\r\n\t\t#pragma header\r\n\t\t\r\n\t\tattribute float alpha;\r\n\t\tattribute vec4 colorMultiplier;\r\n\t\tattribute vec4 colorOffset;\r\n\t\tuniform bool hasColorTransform;\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\t#pragma body\r\n\t\t\t\r\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\r\n\t\t\t\r\n\t\t\tif (hasColorTransform)\r\n\t\t\t{\r\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t\t\t}\r\n\t\t}"
- 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t\t\t}\r\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t}\r\n\r\n\t\tuniform vec4 _camSize;\r\n\r\n\t\tvec2 getCamPos(vec2 pos) {\r\n\t\t\treturn (pos * openfl_TextureSize / vec2(_camSize.z, _camSize.w)) + vec2(_camSize.x / _camSize.z, _camSize.y / _camSize.z);\r\n\t\t}\r\n\t\tvec2 camToOg(vec2 pos) {\r\n\t\t\treturn ((pos - vec2(_camSize.x / _camSize.z, _camSize.y / _camSize.z)) * vec2(_camSize.z, _camSize.w) / openfl_TextureSize);\r\n\t\t}\r\n\t\tvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\t\t\treturn texture2D(bitmap, camToOg(pos));\r\n\t\t}\r\n\t"]]>
+ 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t\t\t}\r\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t}\r\n\r\n\t\tuniform vec4 _camSize;\r\n\t\t\r\n\t\tfloat map(float value, float min1, float max1, float min2, float max2) {\r\n\t\t return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n\t\t}\r\n\t\t\r\n\t\tvec2 getCamPos(vec2 pos) {\r\n\t\t\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\t\t\treturn vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n\t\t}\r\n\t\tvec2 camToOg(vec2 pos) {\r\n\t\t\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\t\t\treturn vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n\t\t}\r\n\t\tvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\t\t\treturn flixel_texture2D(bitmap, camToOg(pos));\r\n\t\t}\r\n\t"]]>"\r\n\t\t#pragma header\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n\t\t}"
@@ -64340,7 +109928,7 @@
-
+
@@ -64351,7 +109939,7 @@
[]
-
+
@@ -64364,7 +109952,7 @@
[]
-
+
@@ -64376,6 +109964,14 @@
+
+
+
+
+
+
+
+
@@ -64391,7 +109987,10 @@
-
+
+
+ 0
+
@@ -64406,6 +110005,14 @@
true
+
+
+ false
+
+
+
+ false
+ []
@@ -64415,20 +110022,20 @@
[]
-
-
-
-
+
+
+
+
-
+
-
+
@@ -64437,7 +110044,7 @@
-
+
@@ -64448,21 +110055,21 @@
-
+
-
+
-
+
-
+
@@ -64472,11 +110079,11 @@
-
+
-
+
@@ -64484,11 +110091,11 @@
{ rethrow : false }
-
+
-
+
@@ -64496,74 +110103,74 @@
{ doException : true }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -67892,6 +113499,16 @@
+
+
+ "flixel/sounds/beep"
+ The sound that'll play when you change volume.
+
+
+
+ new TextField()
+ * "VOLUME" text.
+ * Because reading any data from DisplayObject is insanely expensive in hxcpp, keep track of whether we need to update it or not.
@@ -67913,14 +113530,14 @@
2.0
-
+ * This function just updates the soundtray object.
-
+
@@ -67930,8 +113547,8 @@
*
* @param Silent Whether or not it should beep.
-
-
+
+ * Sets up the "sound tray", the little volume meter that pops down sometimes.
@@ -68534,7 +114151,10 @@
* @param Italic Whether the text should be in italics (must be supported by the font). Only works on Flash. `false` by default.
* @param BorderColor Border color, in `0xAARRGGBB` format. By default, no border (`null` / transparent).
- flixel.text.FlxText.applyFormats
+
+
+ flixel.text.FlxText.applyFormats
+
@@ -77165,49 +122785,307 @@
-
-
-
-
- false
-
-
-
+
+
+ <__sprite static="1">
+
+ <__bitmap>
+ <__loader expr="new Loader3D()">
+
+ new Loader3D()
+
+
+
+ []
-
- <_addJSONSongs set="method" line="16">
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { height : 0, width : 0 }
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ 0
+
+
+
+ * Current step
+
+
+
+ * Current beat
+
+
+
+ * Current step, as a `Float` (ex: 4.94, instead of 4)
+
+
+
+ * Current beat, as a `Float` (ex: 1.24, instead of 1)
+
+
+
+ * Current song position (in milliseconds).
+
+
+
+
+
+
+
+
+ * Current injected script attached to the state. To add one, create a file at path "data/states/stateName" (ex: "data/states/PauseMenuSubstate.hx")
+
+
+
+ true
+
+
- ""
-
-
-
- FreeplayState.defaultColor
-
-
-
- ""
-
-
+ null
+
+
+
+ * Game Controls.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hide
+
+
+
+
+
+
+ hide
+
+
+
+
+
+
+
+
+
+ { fpsSensitive : false }
+ * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive`
+ * @param v1 Value 1
+ * @param v2 Value 2
+ * @param ratio Ratio
+ * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independant of framerate.
+
+
+
+
+
+
+ * SCRIPTING STUFF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scriptsAllowed : true }
+
+
+
+
+ <__callback>
+
+
+ PlayState.instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ null
+
+
+
+ null
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+ { midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false }
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -77237,15 +123115,15 @@
-
+ { pushList : true }
-
-
+
+
@@ -77257,10 +123135,10 @@
{ daAnim : "spooky" }*DEBUG MODE
-
+ 0
@@ -77269,47 +123147,90 @@
0
-
+
+
+ false
+ * Whenever the Conductor auto update should be enabled or not.
+
+
- 0* Current step
-
+
- 0* Current beat
-
+
- 0* Current step, as a `Float` (ex: 4.94, instead of 4)
-
+
- 0* Current beat, as a `Float` (ex: 1.24, instead of 1)
+
+
+ * Current song position (in milliseconds).
+
+
+
+
+
+ * Game Controls.
-
-
-
+
+
+ * Current injected script attached to the state. To add one, create a file at path "scripts/stateName" (ex: "scripts/")
+
+
+
+ true
+
+
+
+ null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+ hide
-
-
+
+
+
+
+ hide
-
+
@@ -77324,11 +123245,34 @@
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independant of framerate.
-
-
-
+
+
+
+
+
+ * SCRIPTING STUFF
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { scriptsAllowed : true }
+
+
@@ -77361,9 +123305,9 @@
-
-
-
+
+
+
@@ -77788,11 +123732,11 @@
-
+
-
+
@@ -77904,8 +123848,8 @@
FlxPoint.get(5, 5)
-
-
+
+
@@ -78085,6 +124029,25 @@
+
+
+
+
+
+
+
+
+
+ null
+
+
+
+
+
+
+
+
+
@@ -78134,21 +124097,21 @@
-
+
-
+
-
-
+
+
-
-
+
+
@@ -78159,24 +124122,23 @@
false
-
-
+
+
-
+
-
-
+ { songBeginning : false }
-
+
@@ -78184,40 +124146,40 @@
{ updateMusic : true, sec : 0 }
-
+ { sectionNum : 1 }
-
-
-
-
-
+
+
+
+
+ { lengthInSteps : 16 }
-
+
-
+
-
-
-
-
+
+
+
+
-
+
@@ -78225,36 +124187,36 @@
0.3
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+ * Called when the save file dialog is cancelled.
-
+ * Called if there is an error while saving the gameplay recording.
-
-
-
+
+
+
@@ -78271,17 +124233,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -78334,6 +124285,10 @@
null
+
+
+ "bf-dead"
+ new FlxPoint(0, 0)
@@ -78344,8 +124299,8 @@
-
-
+
+
@@ -78355,16 +124310,20 @@
{ Frame : 0, Reversed : false, suffix : "" }
+ <__baseFlipped expr="false">
+
+ false
+
false
-
+
-
+
@@ -78372,7 +124331,7 @@
false
-
+ * FOR GF DANCING SHIT
@@ -78381,11 +124340,11 @@
true* Whenever the character should dance on beat or not. Set to false for `gf`, since the dance animation is automatically handled by PlayState.
-
+
-
+
@@ -78393,26 +124352,30 @@
false
-
+
-
-
-
+
+
+
+ DANCE
+
+
+
+
-
- { Context : NONE, Frame : 0, Reversed : false, Force : false }
+ { Frame : 0, Reversed : false, Context : NONE, Force : false }
-
-
-
+
+
+
@@ -78421,7 +124384,7 @@
{ y : 0, x : 0 }
-
+
@@ -78433,79 +124396,14 @@
-
-
-
-
- 0
-
-
-
- 0
-
-
-
- 0
- * Current step
-
-
-
- 0
- * Current beat
-
-
-
- 0
- * Current step, as a `Float` (ex: 4.94, instead of 4)
-
-
-
- 0
- * Current beat, as a `Float` (ex: 1.24, instead of 1)
-
-
-
- * Game Controls.
-
-
-
-
-
-
-
-
-
- hide
-
-
-
- hide
-
-
-
-
-
-
-
-
-
- { fpsSensitive : false }
- * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive`
- * @param v1 Value 1
- * @param v2 Value 2
- * @param ratio Ratio
- * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independant of framerate.
-
-
-
-
+
+
+
+
+
-
-
- ""
- 0
@@ -78514,22 +124412,33 @@
0
-
-
+
+
+
-
+
+
+
+false
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ { retrySFX : "gameOverEnd", lossSFX : "gameOverSFX", gameOverSong : "gameOver", character : "bf-dead" }
+
@@ -78570,57 +124479,92 @@
-
+
-
+ new Map()
-
-
+
+
+
+
+
+ new Map()
+
+
+
+
+
-
-
- { diff : 0, score : 0 }
+ { diff : "normal" }
-
-
-
-
-
-
-
- { diff : 0, score : 0, week : 1 }
-
-
-
+
+
+
+
-
- * YOU SHOULD FORMAT SONG WITH formatSong() BEFORE TOSSING IN SONG VARIABLE
-
-
+ { diff : "normal" }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -78634,7 +124578,7 @@
-
+
@@ -78656,7 +124600,7 @@
-
+ 160 * 0.7
@@ -78684,17 +124628,41 @@
false
-
+
+
+ false
+ * Whenever that note should be avoided by Botplay.
+
+
+
+ * The note that comes before this one (sustain and not)
+
+
+
+ * The note that comes after this one (sustain and not)
+
+
+
+ * The next sustain after this one
+
-
+ 0
+
+
+ 0
+ false
+
+
+ true
+ 0
@@ -78708,12 +124676,34 @@
null
-
+ <__strumCameras public="1" expr="null">
+
+
+ null
+ hide
+
+
+ <__noteAngle public="1" expr="0">
+
+
+ 0
+ hide
+
+
+
+
+
+ ""
+
+
+
+ null
+ true
-
+ 0.5
@@ -78722,29 +124712,30 @@
1
-
+
-
+
-
-
+
+
-
-
+
+
+
- { sustainNote : false, mustPress : true, noteType : 0 }
+ { animSuffix : "", sustainNote : false, mustPress : true, noteType : 0 }
@@ -78755,17 +124746,21 @@
0
-
+ <__currentlyLooping expr="false">
+
+ false
+
+
-
-
+
+
-
-
+
+
@@ -78776,7 +124771,7 @@
{ recursive : false }
-
+
@@ -78787,6 +124782,14 @@
{ recursive : false }
+
+
+
+
+
+
+ { Splice : false }
+
@@ -78795,7 +124798,7 @@
-
+ null
@@ -78803,32 +124806,32 @@
* SONG METADATA
-
+ false
-
-
- 0
+
+
+ null
-
+ []
-
-
- 1
-
-
+
+
+ "normal"
+
+ false
-
+ 0
-
+ 6
@@ -78837,33 +124840,50 @@
false
+
+
+ "gameOver"
+
+
+
+ "gameOverSFX"
+
+
+
+ "gameOverEnd"
+
+
+
+ true
+ 0
-
+ hide
-
+ hide
+
-
-
+
+ 0
-
+
@@ -78872,6 +124892,10 @@
true
+
+
+ true
+ false
@@ -78926,9 +124950,23 @@
0
-
-
-
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ 0
+
+
+
+ 1.05
@@ -78937,10 +124975,14 @@
false
-
+
+
+ [new ComboRating(0, "F", 0xFFFF4444), new ComboRating(0.1, "E", 0xFFFF8844), new ComboRating(0.2, "D", 0xFFFFAA44), new ComboRating(0.4, "C", 0xFFFFFF44), new ComboRating(0.6, "B", 0xFFAAFF44), new ComboRating(0.8, "A", 0xFF88FF44), new ComboRating(0.9, "S", 0xFF44FFFF), new ComboRating(1, "S++", 0xFF44FFFF)]
+
+ ""
-
+
""
@@ -78957,8 +124999,24 @@
""
-
-
+
+
+
+
+
+ isStoryMode
+
+
+
+ null
+
+
+
+ null
+
+
+
+
@@ -78968,7 +125026,22 @@
5
-
+
+
+ [null, "game/ready", "game/set", "game/go"]
+
+
+
+ ["intro3", "intro2", "intro1", "introGo"]
+
+
+
+
+
+
+
+ * Creates a fake countdown.
+ 0
@@ -78981,39 +125054,53 @@
0
-
-
+
+ 0
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+ { addAsDefaultIfUnknown : false }
+
+
-
+
-
-
+
-
-
-
-
+
+ <__songPlaying expr="false">
+
+ false
+
+ <__wasAutoPause expr="false">
+
+ false
+
+
+
+ false
@@ -79026,27 +125113,38 @@
true
-
-
-
+
+
+
+
+ <__vocalOffsetViolation expr="0">
+
+ 0
+
+
+
+ new FlxTextFormat(0xFF888888, false, false, 0)
+
+
-
+
+
+
+
+
+
+
+
+ false
-
-
-
-
-
-
- { score : 350 }
-
-
-
+
+
+
@@ -79054,27 +125152,48 @@
[null]
-
+
-
+
-
+
-
-
+
+
+
+
+
+
+
+0
-
-
-
+
+
+
+
+
+
+
+ flixel.text.FlxText.FlxTextFormatRange
+
+
+
+
+
+
+
+
+
+
@@ -79082,7 +125201,7 @@
-
+
@@ -79097,47 +125216,21 @@
[]
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
- []
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -79160,42 +125253,42 @@
null
-
-
- false
-
-
+
+
+ []
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -79203,8 +125296,8 @@
{ force : true }
-
-
+
+
@@ -79215,18 +125308,18 @@
-
+ 0xFF9271FD* Default background colors for songs without bg color
-
+ 1* How much time a song stays selected until it autoplays.
-
+ []
@@ -79248,7 +125341,7 @@
0
-
+
@@ -79260,7 +125353,7 @@
[]
-
+ 0
@@ -79273,32 +125366,95 @@
null
-
+
-
-
+
+
+
- { change : 0 }
+ { force : false, change : 0 }
-
-
+
+
+
- { change : 0 }
+ { force : false, change : 0 }
-
-
-
-
+
+
+
+
+
+
+
+
+ false
+
+
+
+ []
+
+ <_addJSONSongs set="method" line="243">
+
+
+
+
+
+ { source : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ""
+
+
+
+ FreeplayState.defaultColor
+
+
+
+ ""
+
+
+
+ ["EASY", "NORMAL", "HARD"]
+
+
+
+
+
+
+
+
+
+
+ { fromSource : false }
+
+
+
@@ -79329,35 +125485,70 @@
-
+ false
-
+
-
+
-
+ { huh : 0 }
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ []
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ { force : false }
+
+
+
+
+
@@ -79368,19 +125559,29 @@
0
-
+
+
+
+ PlayState.instance
+
+ <__cancelDefault expr="false">
+
+ false
+
+
-
-
+
+
+ { change : 0 }
-
+
@@ -79389,139 +125590,166 @@
-
-
- [true, true, true, true, true, true, true]
-
-
-
-
- [["Tutorial"], ["Bopeebo", "Fresh", "Dadbattle"], ["Spookeez", "South", "Monster"], ["Pico", "Philly", "Blammed"], ["Satin-Panties", "High", "Milf"], ["Cocoa", "Eggnog", "Winter-Horrorland"], ["Senpai", "Roses", "Thorns"]]
-
-
+
+
+
+
+
+ []
+
+
+
+ []
+
+
+
+
+
- 1
+ 0
-
-
- [["dad", "bf", "gf"], ["dad", "bf", "gf"], ["spooky", "bf", "gf"], ["pico", "bf", "gf"], ["mom", "bf", "gf"], ["parents-christmas", "bf", "gf"], ["senpai", "bf", "gf"]]
-
-
-
- ["", "Daddy Dearest", "Spooky Month", "PICO", "MOMMY MUST MURDER", "RED SNOW", "hating simulator ft. moawling"]
-
-
-
+ 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
- false
-
-
-
- false
-
-
-
-
-
-
-
- { change : 0 }
-
-
-
+
+
+
+
+
+ []
+
+
+
+
+
+
+ 0
-
+ 0
-
-
+
+
+ true
+
+
+
+
+
+
+
+
+ []
+
+
+ <__lastDifficultyTween>
+
+
+
+
+
+
+
+
- { change : 0 }
+ { force : false }
-
-
-
-
+ <__oldDiffName expr="null">
+
+ null
+
+
+
+
+
+
+
+ { force : false }
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- { character : "bf" }
-
+
+
+
+ null
+
+
+
+
+
+
+
+
+
-
+ 0
-
-
-
- 0
- false
-
-
-
- Math.round((1 / FlxG.elapsed) / 10)
-
-
+
+
+
-
-
-
-
-
-
-
- { weekNum : 0 }
-
+
+
+
+
+
+
-
+ false
@@ -79533,7 +125761,7 @@
-
+
@@ -79541,26 +125769,30 @@
false
-
-
+
+
+ false
-
+
-
+
-
+
-
-
+
+
+
+
+
@@ -79573,18 +125805,21 @@
new IntroText(["ninjamuffin99", "phantomArcade", "kawaisprite", "evilsk8er"]), 3 => new IntroText(["ninjamuffin99", "phantomArcade", "kawaisprite", "evilsk8er", "present"]), 4 => new IntroText(), 5 => new IntroText(["In association", "with"]), 7 => new IntroText(["In association", "with", "newgrounds", { name : "newgroundsLogo", path : "titlescreen/newgrounds_logo", scale : 0.8 }]), 8 => new IntroText(), 9 => new IntroText(["{introText1}"]), 11 => new IntroText(["{introText1}", "{introText2}"]), 12 => new IntroText(), 13 => new IntroText(["Friday"]), 14 => new IntroText(["Friday", "Night"]), 15 => new IntroText(["Friday", "Night", "Funkin'"])]]]>
-
+ false
-
-
-
-
+
+
+
+
-
+
+
+ funkin.mods.ModsFolder
+
@@ -79594,8 +125829,8 @@
[]
-
-
+
+
@@ -79638,6 +125873,127 @@
* COPIED DIRECTLY FROM LIME SOURCE CAUSE LIME IS SO FUCKING DUMB!!
+
+
+
+ <_parsedAsset public="1">
+
+ <__isCacheValid set="method">
+
+
+
+
+
+
+
+
+
+ { isLocal : false }
+
+ <__parseAsset set="method">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ()]]>
+ hide
+
+ * INTERNAL - Only use when editing source mods!!
+
+
+
+ null
+ * Current mod folder. Will affect `Paths`.
+
+
+
+
+
+
+ []
+ * Map all loaded mods' folder libraries.
+
+
+
+ "./mods/"
+ * Path to the `mods` folder.
+
+
+
+ * Initialises `mods` folder by adding callbacks and such.
+
+
+
+
+
+
+
+ { force : false }
+ * Loads a mod with the specified name.
+ * @param modName Name of the mod
+ * @param force Whenever the mod should be reloaded if it has already been loaded
+
+
+
+
+
+
+ * Switches mod - unloads all the other mods, then load this one.
+ * @param libName
+
+
+
+
+
+
+
+
+
+
+
+ { force : false }
+
+
+
+
+
+
+
+
+ { force : false }
+
+
+
+
+
+
+
+
+ { force : false }
+
+
+
+
+
+
+
+
+ { force : false }
+
+
+
@@ -80011,14 +126367,19 @@
lime.utils.Assets
-
+
+
-
+
- false
+ true
+
+
+ "assets/"
+
@@ -80026,131 +126387,140 @@
[]
- <_parsedAsset expr="null">
+ <_parsedAsset public="1" expr="null">
null
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
- <__isCacheValid set="method" line="140">
-
-
-
-
-
-
-
- <__parseAsset set="method" line="148">
+
+ <__isCacheValid set="method" line="126">
+
+
+
+
+
+
+
+
+
+ { isLocalCache : false }
+
+ <__parseAsset set="method" line="137">
-
+
-
-
-
- null
- * Last time the folder was modified.
-
-
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
- null
- * Current mod folder. Will affect `Paths`.
-
-
-
+ "assets/"
+
+
+
+
+
+
+ []
- * Array of all loaded mods' folder names.
-
-
-
- "./mods/"
- * Path to the `mods` folder.
-
-
-
- * Initialises `mods` folder by adding callbacks and such.
-
-
-
+
+ <_parsedAsset public="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <__parseAsset public="1" set="method" line="128">
+
+
+
+ <__isCacheValid public="1" set="method" line="134">
+
+
+
+
+
-
-
- { force : false }
- * Loads a mod with the specified name.
- * @param modName Name of the mod
- * @param force Whenever the mod should be reloaded if it has already been loaded
-
-
-
-
-
-
- { force : false }
-
-
-
-
-
-
-
-
-
-
-
- { addRoot : false, prefix : "" }
- * Gets all assets in folders and put them in the `assets` array.
- * @param assets Array of assets
- * @param rootPath Root path
- * @param path Path inside of the rootPath (ex: `root path/path/path2/`)
- * @param libraryName Name of the library (ex: `mods/my mod/`)
- * @param prefix Prefix for the asset names (ex: `assets/mods/my mod/`)
- * @param addRoot Whenever the root should be added to the paths. Defaults to false
-
-
-
+ { isLocal : false }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -80158,133 +126528,141 @@
hide
- <__eventAdded expr="false" line="11" static="1">
+ <__eventAdded expr="false" line="12" static="1">
falsehide
-
+ true
- * GAMEPLAY SETTINGS
+ * SETTINGS
-
+ false
-
+ true
-
+ true
-
+ true
-
+ true
-
+
+
+ true
+
+
+
+ 1
+
+ [A]* PLAYER 1 CONTROLS
-
+ [S]
-
+ [W]
-
+ [D]
-
+ [A]
-
+ [S]
-
+ [W]
-
+ [D]
-
+ [ENTER]
-
+ [BACKSPACE]
-
+ [ENTER]
-
+ [R]
-
+ [LEFT]* PLAYER 2 CONTROLS (ALT)
-
+ [DOWN]
-
+ [UP]
-
+ [RIGHT]
-
+ [LEFT]
-
+ [DOWN]
-
+ [UP]
-
+ [RIGHT]
-
+ [SPACE]
-
+ [ESCAPE]
-
+ [ESCAPE]
-
+ []
@@ -80303,35 +126681,40 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ false
-
-
-
-
-
-
- [{ name : "Controls", desc : "Change Controls for Player 1 and Player 2!", state : funkin.options.keybinds.KeybindsOptions }, { name : "Visuals", desc : "Change Gameplay options such as Downscroll, Scroll Speed...", state : null }]
+
+
+ [{ name : "Controls", desc : "Change Controls for Player 1 and Player 2!", state : funkin.options.keybinds.KeybindsOptions }, { name : "Gameplay", desc : "Change Gameplay options such as Downscroll, Scroll Speed...", state : GameplayOptions }, { name : "Behaviour", desc : "Change Behaviour options such as Naughtyness, Flashing lights...", state : BehaviourOptions }, { name : "Save Data", desc : "Use this menu to reset save data or engine settings.", state : SaveDataOptions }, { name : "Debug Options", desc : "Use this menu to change debug options.", state : DebugOptions }]
@@ -80342,21 +126725,71 @@
true
-
-
+
+
-
+
-
+
+
+
+
+
+ 0xFFFDE871
+
+
+
+
+ 120
+
+
+
+
+
+
+
+ -1
+
+
+
+ []
+
+
+
+ 0
+
+
+
+ 35
+
+
+
+
+ FlxPoint.get(0, 0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Direct replica from Week 7 lol
+
@@ -80397,6 +126830,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -80404,11 +126861,15 @@
-
+
+
+ true
+
+
-
+
@@ -80448,7 +126909,7 @@
{ p2 : false }
-
+
@@ -80501,41 +126962,130 @@
false
-
-
+
+ true
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <__text>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FlxPoint.get(1, -1), "unchecked" => FlxPoint.get(-12, -72), "checking" => FlxPoint.get(12, 30)]]]>
+
+
+
+ FlxPoint.get()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+ []
+ * Use "static var thing = true;" in hscript to use those!!
+ * are reset every mod switch so once youre done with them make sure to make them null!!
+
+
-
+
+
+
+
+
- ["hx", "hscript", "hsc"]
+ ["hx", "hscript", "hsc", "hxs", "lua"]* All available script extensions
-
+ null* Currently executing script.
-
+
@@ -80552,11 +127102,33 @@
null* Path to the script.
-
+ * Loads the script
-
+
+
+
+
+
+
+
+
+ * HSCRIPT ONLY FOR NOW
+ * Sets the "public" variables map for ScriptPack
+
+
+
+ * Hot-reloads the script, if possible
+
+
+
+
+
+
+ * Traces something as this script.
+
+
@@ -80567,7 +127139,7 @@
* @param parameters (Optional) Parameters of the function.
* @return Result (if void, then null)
-
+
@@ -80575,7 +127147,7 @@
* Sets a script's parent object so that its properties can be accessed easily. Ex: Passing `PlayState.instace` will allow `boyfriend` to be typed instead of `PlayState.instance.boyfriend`.
* @param variable Parent variable.
-
+
@@ -80584,7 +127156,7 @@
* @param variable Name of the variable.
* @return Variable (or null if it doesn't exists)
-
+
@@ -80594,7 +127166,7 @@
* @param variable Name of the variable.
* @return Variable (or null if it doesn't exists)
-
+
@@ -80604,7 +127176,7 @@
* @param text Text of the error (ex: Null Object Reference).
* @param additionalInfo Additional information you could provide.
-
+
@@ -80612,14 +127184,14 @@
* PRIVATE HANDLERS - DO NOT TOUCH
-
+
-
-
-
-
+
+
+
+
@@ -80660,6 +127232,29 @@
* Simple class for empty scripts or scripts whose language isn't imported yet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Class for THE Global Script, aka script that runs in the background at all times.
+
+
@@ -80668,32 +127263,60 @@
- <_errorHandler set="method" line="27">
+ <_errorHandler set="method" line="34">
-
+
-
-
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -80710,17 +127333,40 @@
[]
+
+
+
+
+
+ []
+ null
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -80731,42 +127377,43 @@
* @param event Event (will be the first parameter of the function)
* @return (modified by scripts)
-
+
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
- <__configureNewScript set="method" line="75">
+ <__configureNewScript set="method" line="115">
-
+
@@ -80796,11 +127443,11 @@
* Additional data if used in scripts
-
+
- { c : true }
+ { c : false }* Prevents default action from occuring.
* @param c Whenever the scripts following this one should be called or not. (Defaults to `true`)
@@ -80826,7 +127473,46 @@
* Creates a new cancellable event.
* This allows scripts to call `cancel()` to cancel the event.
- ScriptPack
+
+
+ ScriptPack
+
+
+
+
+
+
+ * Final camera position.
+
+
+
+ * Boyfriend's camera position.
+
+
+
+ * Dad's camera position.
+
+
+
+ 0
+ * Ratio for lerping between Dad and BF.
+ * 0 = Camera focuses dad
+ * 0.5 = Duet Camera
+ * 1 = Camera focuses BF
+
+
+
+ false
+ * Whenever the camera focuses BF more than dad.
+
+
+
+
+
+
+
+
+
@@ -80856,18 +127542,19 @@
- * Created sprite, only available in `onCountdownPost`
+ * Created sprite, only available in `onPostCountdown`
- * Created tween for the sprite, only available in `onCountdownPost`
+ * Created tween for the sprite, only available in `onPostCountdown`
- * Created sound, only available in `onCountdownPost`
+ * Created sound, only available in `onPostCountdown`
-
+
+
@@ -80952,6 +127639,45 @@
+
+
+
+
+
+
+
+ * Value after the change
+
+
+
+ * Value before the change
+
+
+
+ * Amount of change
+
+
+
+ true
+ * Whenever the menu SFX should be played.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * Name
+
+
+
+
@@ -80985,8 +127711,12 @@
* Note scale, if you only want to replace the scale.
-
-
+
+
+ * Sing animation suffix. "-alt" for alt anim or "" for normal notes.
+
+
+
@@ -80994,6 +127724,7 @@
+ * [Description] Creates a new NoteCreationEvent
@@ -81014,6 +127745,13 @@
hide
+
+
+
+ false
+ hide
+
+
@@ -81035,11 +127773,28 @@
hide
+
+
+
+ true
+ hide
+
+ trueWhenever a miss should be added.
+
+
+ true
+ Whenever a miss should be added.
+
+
+
+ null
+ Whenever ratings should be shown or not.
+ * Note that has been pressed
@@ -81050,12 +127805,24 @@
- * Whenever the Character is the player
+ * Whenever the Character is a player* Note Type name (null if default note)
+
+
+ * Suffix of the animation. "-alt" for alt notes, "" for normal ones.
+
+
+
+ * Prefix of the rating sprite path. Defaults to "game/score/"
+
+
+
+ * Suffix of the rating sprite path.
+ * Direction of the press (0 = Left, 1 = Down, 2 = Up, 3 = Right)
@@ -81064,52 +127831,97 @@
* Score gained after note press.
+
+
+ * Accuracy gained from pressing this note. From 0 to 1. null means no accuracy is gained.
+
- * The amount of health that'll be gained from pressing that note. If called from `onNoteMiss`, the value will be negative.
+ * The amount of health that'll be gained from pressing that note. If called from `onPlayerMiss`, the value will be negative.
-
+
+
+ "sick"
+ * Rating name. Defaults to "sick", "good", "bad" and "shit". Customisable.
+
+
+
+ 0.7
+ * Scale of ratings.
+
+
+
+ true
+ * Whenever antialiasing should be enabled on ratings.
+
+
+
+ 0.5
+ * Scale of combo numbers.
+
+
+
+ true
+ * Whenever antialiasing should be enabled on combo number.
+
+ * Prevents the default sing animation from being played.
-
+ hide
-
+ * Prevents the note from being deleted.
-
+ hide
-
+ * Prevents the vocals volume from being set to 1 after pressing the note.
-
+ hide
-
+
- * Prevents the vocals volume from being muted in case its a parameter of `onNoteMiss`
+ * Prevents the vocals volume from being muted in case its a parameter of `onPlayerMiss`
-
+ hide
-
+ * Prevents the camera zoom every 4 beats from enabling.
-
+ hide
-
-
+
+
+ * Prevents the sustain tail (the last one) from being automatically hit when the sustain before it is hit.
+
+
+
+ hide
+
+
+
+ * Prevents the strum from glowing after this note has been pressed.
+
+
+
+ hide
+
+
+
@@ -81118,9 +127930,14 @@
+
+
+
+
+
- { score : 350, unmuteVocals : true }
+ { ratingSuffix : "", ratingPrefix : "", rating : "sick", animSuffix : "", score : 350, unmuteVocals : true }* Creates a new NoteHitEvent.
@@ -81192,6 +128009,24 @@
+
+
+
+
+ * Music that is going to be played
+
+
+
+ * All option names
+
+
+
+
+
+
+ * CANCEL this event to prevent default behaviour!
+
+
@@ -81215,11 +128050,12 @@
Context of the animation
-
+
+
@@ -81229,7 +128065,7 @@
Contains all contexts possible for `PlayAnimEvent`.
-
+ cast null
@@ -81238,7 +128074,7 @@
No context was given for the animation
-
+ cast "SING"
@@ -81247,7 +128083,16 @@
Whenever a note is hit and a sing animation will be played.
-
+
+
+
+ cast "DANCE"
+
+
+
+ Whenever a dance animation is played.
+
+ cast "MISS"
@@ -81260,7 +128105,7 @@
-
+ cast null
@@ -81269,7 +128114,7 @@
No context was given for the animation
-
+ cast "SING"
@@ -81278,7 +128123,16 @@
Whenever a note is hit and a sing animation will be played.
-
+
+
+
+ cast "DANCE"
+
+
+
+ Whenever a dance animation is played.
+
+ cast "MISS"
@@ -81303,6 +128157,50 @@
+
+
+
+
+
+
+
+ New combo
+
+
+
+ Old combo (may be null)
+
+
+
+
+
+
+
+
+
+
+
+
+ * New width
+
+
+
+ * New height
+
+
+
+ * Old width (may be null)
+
+
+
+ * Old height (may be null)
+
+
+
+
+
+
+
@@ -81315,6 +128213,18 @@
+
+
+
+
+
+
+
+ * Substate that is about to be opened/closed
+
+
+
+
@@ -81339,15 +128249,20 @@
* Strum ID, for the sprite.
-
+
+
+ "game/NOTE_assets"
+ * Sprite path, in case you only want to change the sprite.
+
+ * Cancels the animation that makes the strum "land" in the strumline.
-
+ hide
-
+
@@ -81355,14 +128270,159 @@
-
+
-
-
- * Substate that is about to be opened/closed
-
-
-
+
+
+ * Week that is going to be selected
+
+
+
+ * The difficulty that has been selected
+
+
+
+ * At which emplacement the week is. Goes from 0 to the number of weeks - 1.
+
+
+
+ * At which emplacement the difficulty is. Goes from 0 to the number of weeks - 1.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <__instanceFields expr="Type.getInstanceFields(FunkinShader)" line="22" static="1">
+
+ Type.getInstanceFields(FunkinShader)
+
+
+
+ "120"
+
+ <__initGL set="method" line="44" override="1">
+
+
+
+ <__processGLData set="method" line="160" override="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { glslVer : "120" }
+ * Creates a new shader from the specified fragment and vertex source.
+ * Accepts `#pragma header`.
+ * @param frag Fragment source (pass `null` to use default)
+ * @param vert Vertex source (pass `null` to use default)
+ * @param glslVer Version of GLSL to use (defaults to 120)
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+
+
+
+
+
+
+
+
+
+
+ { glslVersion : "120" }
+ * Creates a new custom shader
+ * @param name Name of the frag and vert files.
+ * @param glslVersion GLSL version to use. Defaults to `120`.
+
+ * Class for custom shaders.
+ *
+ * To create one, create a `shaders` folder in your assets/mod folder, then add a file named `my-shader.frag` or/and `my-shader.vert`.
+ *
+ * Non-existent shaders will only load the default one, and throw a warning in the console.
+ *
+ * To access the shader's uniform variables, use `shader.variable`
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+
+
+
+
+
+ 0.0)\r\n {\r\n return vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n }\r\n return vec4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n uniform vec4 _camSize;\r\n \r\n float map(float value, float min1, float max1, float min2, float max2) {\r\n return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n }\r\n \r\n vec2 getCamPos(vec2 pos) {\r\n vec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n return vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n }\r\n vec2 camToOg(vec2 pos) {\r\n vec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n return vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n }\r\n vec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n return flixel_texture2D(bitmap, camToOg(pos));\r\n }"]]>
+
+
+
+ 0.0) {\r\n\r\n gl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n } else {\r\n\r\n gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n }\r\n\r\n } else {\r\n\r\n gl_FragColor = color * openfl_Alphav;\r\n\r\n }"]]>
+
+
+
+ "attribute float openfl_Alpha;\r\n attribute vec4 openfl_ColorMultiplier;\r\n attribute vec4 openfl_ColorOffset;\r\n attribute vec4 openfl_Position;\r\n attribute vec2 openfl_TextureCoord;\r\n\r\n varying float openfl_Alphav;\r\n varying vec4 openfl_ColorMultiplierv;\r\n varying vec4 openfl_ColorOffsetv;\r\n varying vec2 openfl_TextureCoordv;\r\n\r\n uniform mat4 openfl_Matrix;\r\n uniform bool openfl_HasColorTransform;\r\n uniform vec2 openfl_TextureSize;"
+
+
+
+ "openfl_Alphav = openfl_Alpha;\r\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\tif (openfl_HasColorTransform) {\r\n\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n\t\t}\r\n\r\n\t\tgl_Position = openfl_Matrix * openfl_Position;"
+
+
+
+ "#pragma header\r\n\t\t\r\n attribute float alpha;\r\n attribute vec4 colorMultiplier;\r\n attribute vec4 colorOffset;\r\n uniform bool hasColorTransform;\r\n \r\n void main(void)\r\n {\r\n #pragma body\r\n \r\n openfl_Alphav = openfl_Alpha * alpha;\r\n \r\n if (hasColorTransform)\r\n {\r\n openfl_ColorOffsetv = colorOffset / 255.0;\r\n openfl_ColorMultiplierv = colorMultiplier;\r\n }\r\n }"
+
+
+
+ "#pragma header\r\n\t\t\r\n void main(void)\r\n {\r\n gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n }"
+
+
+
+
+
+
+
+
+
+
+
+
@@ -81457,6 +128517,46 @@
openfl.utils._internal.ShaderMacro.build()
+
+
+
+
+ []
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -81488,17 +128588,39 @@
* @author
-
+
+
+
+
+
+ new FlxTypedSignal()
+ * FlxSignals
+
+
+
+
+
+
+ new FlxTypedSignal()
+
+
+
+
+
+
+ new FlxTypedSignal()
+
+ 100* Current BPM
-
+ ((60 / bpm) * 1000)* Current Crochet (time per beat), in milliseconds.
-
+ crochet / 4* Current StepCrochet (time per step), in milliseconds.
@@ -81507,31 +128629,55 @@
* Current position of the song, in milliseconds.
+
+
+ 0
+ * Current step
+
+
+
+ 0
+ * Current beat
+
+
+
+ 0
+ * Current step, as a `Float` (ex: 4.94, instead of 4)
+
+
+
+ 0
+ * Current beat, as a `Float` (ex: 1.24, instead of 1)
+ hide
-
+ 0hide
-
+ 175hide
-
+ []* Array of all BPM changes that have been mapped.
-
-
+
+
+
+
+
+
@@ -81539,11 +128685,17 @@
* Maps BPM changes from a song.
* @param song Song to map BPM changes from.
-
+
+
+
+
+
+
+
-
+ hide
@@ -82434,32 +129586,45 @@
-
-
- ["EASY", "NORMAL", "HARD"]
-
-
-
-
-
-
-
- * Returns `v` if not null, `defaultValue` otherwise.
- * @param v The value
- * @param defaultValue The default value
- * @return The return value
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -82474,7 +129639,7 @@
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should be case sentivive (adapted when game is running at 120 instead of 60)
-
+
@@ -82483,7 +129648,7 @@
* @param ratio Ratio
* @return FPS-Modified Ratio
-
+
@@ -82492,7 +129657,25 @@
* @param c `Dynamic` color.
* @return The result color, or `null` if invalid.
-
+
+
+
+
+
+ { fadeIn : false }
+
+
+
+
+
+
+
+
+
+
+ { Looped : true, Volume : 1, DefaultBPM : 102 }
+
+
@@ -82503,12 +129686,11 @@
* @param menuSFX Menu SFX to play
* @param volume At which volume it should play
-
-
+
-
+
@@ -82516,26 +129698,27 @@
{ min : 0 }
-
+
-
-
+
+
+
- { fill : true }
+ { maxScale : 0, fill : true }
-
+
-
+
@@ -82544,19 +129727,59 @@
{ axes : XY }
-
+
+
+
+
+
+
+ { difficulty : "normal" }
+
+
+
+
+
+
+
+ { difficulty : "normal" }
+
+ <__loadSong public="1" set="method" line="263" static="1">
+
+
+
+
+
-
+
+
+
+
+
+ * Returns last member of array
+
+
+
+
+
+
+
+ { Key : null, Unique : false }
+
+
+
+
+
+
@@ -82717,11 +129940,11 @@
0
- <__enterFrame public="1" set="method" line="54" override="1">
+ <__enterFrame public="1" set="method" line="55" override="1">
-
+
@@ -82732,18 +129955,215 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * DOESNT SUPPORT CATEGORIES YET!!
+
+
+
+ <__showing expr="false" line="10" static="1">
+
+ false
+
+
+
+
+
+
+
+ Log.trace
+
+
+
+
+
+
+
+
+ { level : INFO }
+
+
+
+
+
+
+
+ { color : LIGHTGRAY }
+
+ <__showInConsole public="1" set="method" line="70" static="1">
+
+
+
+
+
+
+
+
+
+ { level : INFO }
+
+
+
+
+
+
+
+
+ { color : LIGHTGRAY, level : INFO }
+
+
+
+
+
+
+
+
+
+
+ cast 0
+
+
+
+
+
+
+
+ cast 1
+
+
+
+
+
+
+
+ cast 2
+
+
+
+
+
+
+
+ cast 3
+
+
+
+
+
+
+
+ cast 4
+
+
+
+
+
+
+
+
+
+
+
+ cast 0
+
+
+
+
+
+
+
+ cast 1
+
+
+
+
+
+
+
+ cast 2
+
+
+
+
+
+
+
+ cast 3
+
+
+
+
+
+
+
+ cast 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ "ogg"* Preferred sound extension for the game's audio files.
* Currently is set to `mp3` for web targets, and `ogg` for other targets.
- <__useSourceAssets expr="false" line="20" static="1">
-
- false
-
-
+
+
+
+
+
+
+ []
+
+
+
@@ -82753,24 +130173,28 @@
{ skipModsVerification : false }
-
-
+
+
+
- { library : "preload" }
+ { library : "default" }
-
+
-
+
-
-
+
+
@@ -82779,52 +130203,79 @@
{ type : TEXT }
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -82841,21 +130292,38 @@
{ difficulty : "normal" }
-
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
@@ -82873,11 +130341,15 @@
+
+
+
+
-
+ 0* Copies the first section into the second section!
@@ -82898,7 +130370,7 @@
true
-
+
@@ -82914,12 +130386,13 @@
+
-
+
@@ -82927,14 +130400,80 @@
{ difficulty : "normal" }
-
+
+
+
+
+
+
+ []
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <__shouldDoScaleProcedure get="inline" set="null" line="72">
+ <__oldScale>
+ <__skipZoomProcedure expr="false">
+
+ false
+
+ <__doPreZoomScaleProcedure set="method" line="77">
+
+
+
+ <__doPostZoomScaleProcedure set="method" line="86">
+
+
+
+
+
+
+
+
-
+
@@ -82944,12 +130483,24 @@
* @param object Object to which the xml property will be applied
* @param property `property` node.
-
-
+
+
+
+
+
+
+
+ { parentFolder : "" }
+ * Creates a new sprite based on a XML node.
+
+
+
+
+ { loop : false }* Adds an XML animation to `sprite`.
* @param sprite Destination sprite
* @param anim Animation (Must be a `anim` XML node)
@@ -83009,10 +130560,6 @@
false
-
-
- false
- []
@@ -83021,26 +130568,26 @@
false
-
+
-
+
-
-
+
+ "gf"
-
-
+
+
-
+
@@ -83056,7 +130603,7 @@
- <__alphaPath public="1" expr="null" line="290" static="1">
+ <__alphaPath public="1" expr="null" line="221" static="1">
null
@@ -83064,14 +130611,16 @@
-
+
+
+ []
-
+
@@ -83082,40 +130631,341 @@
0
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { Border : true, Size : 16, FieldWidth : 0, Y : 0, X : 0 }
+
+
+
-
+
+
+ hide
+
+
+
+ * Allocates a new console. The console will automatically be opened
+
+
+
+
+
+
+ * Sets the window titlebar to dark mode (Windows 10 only)
+
+
+
+
+
+
+
+ { backgroundColor : BLACK, foregroundColor : LIGHTGRAY }
+ * Sets the console colors
+
+
+
+
+* Class for Windows-only functions, such as transparent windows, message boxes, and more.
* Does not have any effect on other platforms.
+
+
+
+
+
+
+
+ cast 0
+
+
+
+
+
+
+
+ cast 1
+
+
+
+
+
+
+
+ cast 2
+
+
+
+
+
+
+
+ cast 3
+
+
+
+
+
+
+
+ cast 4
+
+
+
+
+
+
+
+ cast 5
+
+
+
+
+
+
+
+ cast 6
+
+
+
+
+
+
+
+ cast 7
+
+
+
+
+
+
+
+ cast 8
+
+
+
+
+
+
+
+ cast 9
+
+
+
+
+
+
+
+ cast 10
+
+
+
+
+
+
+
+ cast 11
+
+
+
+
+
+
+
+ cast 12
+
+
+
+
+
+
+
+ cast 13
+
+
+
+
+
+
+
+ cast 14
+
+
+
+
+
+
+
+ cast 15
+
+
+
+
+
+
+
+
+
+
+
+ cast 0
+
+
+
+
+
+
+
+ cast 1
+
+
+
+
+
+
+
+ cast 2
+
+
+
+
+
+
+
+ cast 3
+
+
+
+
+
+
+
+ cast 4
+
+
+
+
+
+
+
+ cast 5
+
+
+
+
+
+
+
+ cast 6
+
+
+
+
+
+
+
+ cast 7
+
+
+
+
+
+
+
+ cast 8
+
+
+
+
+
+
+
+ cast 9
+
+
+
+
+
+
+
+ cast 10
+
+
+
+
+
+
+
+ cast 11
+
+
+
+
+
+
+
+ cast 12
+
+
+
+
+
+
+
+ cast 13
+
+
+
+
+
+
+
+ cast 14
+
+
+
+
+
+
+
+ cast 15
+
+
+
+
+
+
@@ -83437,141 +131287,6 @@
If the first argument to any of the methods is `null`, the result is
unspecified.
-
-
-
-
-
-
-
-
-
-
-
- Exception message.
-
-
-
- The call stack at the moment of the exception creation.
-
-
-
- Contains an exception, which was passed to `previous` constructor argument.
-
-
-
- Native exception, which caused this exception.
-
- <__exceptionMessage>
-
-
-
- <__exceptionStack>
-
-
-
- <__nativeStack>
-
-
-
- <__skipStack expr="0">
-
-
- 0
-
- "haxe.Exception.get_stack"
-
-
- <__nativeException>
-
-
-
- <__previousException>
-
-
-
-
-
-
- Returns exception message.
-
-
-
- Detailed exception description.
-
- Includes message, stack and the chain of previous exceptions (if set).
-
- <__shiftStack get="inline" set="null" line="62">
-
-
-
- "haxe.Exception.get_stack"
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create a new Exception instance.
-
- The `previous` argument could be used for exception chaining.
-
- The `native` argument is for internal usage only.
- There is no need to provide `native` argument manually and no need to keep it
- upon extending `haxe.Exception` unless you know what you're doing.
-
- = null;
- a.push(1); // generates target-specific null-pointer exception
- } catch(e:haxe.Exception) {
- throw e; // rethrows native exception instead of haxe.Exception
- }
- ```]]>
-
-
-
-
-
-
@@ -85274,98 +132989,6 @@
-
-
-
-
-
-
-
- "haxe.ds.StringMap.*"
-
-
-
-
-
-
-
-
- See `Map.set`
-
-
-
-
-
-
-
- See `Map.get`
-
-
-
-
-
-
-
- See `Map.exists`
-
-
-
-
-
-
-
- See `Map.remove`
-
-
-
-
- See `Map.keys`
-
- (cs, java) Implementation detail: Do not `set()` any new value while
- iterating, as it may cause a resize, which will break iteration.
-
-
-
-
- See `Map.iterator`
-
- (cs, java) Implementation detail: Do not `set()` any new value while
- iterating, as it may cause a resize, which will break iteration.
-
-
-
-
-
-
-
- See `Map.keyValueIterator`
-
-
-
-
- See `Map.toString`
-
-
-
-
- See `Map.clear`
-
-
-
- Creates a new StringMap.
-
- StringMap allows mapping of String keys to arbitrary values.
-
- See `Map` for documentation details.
-
- @see https://haxe.org/manual/std-Map.html
-
-
-
- \r\n inline void set(String key, const ::cpp::Struct &value) {__string_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(String key, const ::cpp::Function &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(String key, const ::cpp::Pointer &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }\r\n\r\n inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }\r\n inline int get_int(String key) { return __string_hash_get_int(h,key); }\r\n inline Float get_float(String key) { return __string_hash_get_float(h,key); }\r\n inline String get_string(String key) { return __string_hash_get_string(h,key); }\r\n"]]>
-
-
-
@@ -85520,6 +133143,10 @@
+
+
+
+
@@ -85818,6 +133445,18 @@
If `path` is `null`, the result is unspecified.
+
+
+
+
+
+ Joins all paths in `paths` together.
+
+ If `paths` is empty, the empty String `""` is returned. Otherwise the
+ paths are joined with a slash between them.
+
+ If `paths` is `null`, the result is unspecified.
+
@@ -85860,6 +133499,13 @@
If `path` is `null`, the result is unspecified.
+
+
+
+
+
+ Returns `true` if the path is an absolute path, and `false` otherwise.
+ The directory.
@@ -86331,6 +133977,24 @@
Represents a type definition.
+
+
+
+
+ The position of the error.
+
+
+
+
+
+
+
+
+ Instantiates an error with given message and position.
+
+ This error can be used to handle or produce compilation errors in macros.
+
+
@@ -87199,86 +134863,6 @@
-
-
-
- the XML parsing error message
-
-
-
- the line number at which the XML parsing error occurred
-
-
-
- the character position in the reported line at which the parsing error occurred
-
-
-
- the character position in the XML string at which the parsing error occurred
-
-
-
- the invalid XML string
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ");
- h.set("amp", "&");
- h.set("quot", "\"");
- h.set("apos", "'");
- h;
-}]]>
-
-
-
-
-
-
-
- { strict : false }
- Parses the String into an XML Document. Set strict parsing to true in order to enable a strict check of XML attributes and entities.
-
- @throws haxe.xml.XmlParserException
-
-
-
-
-
-
-
-
-
- { p : 0 }
-
-
-
-
-
-
@@ -87551,6 +135135,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_doDecode set="method" line="266">
+
+
+
+
+
@@ -87567,10 +135220,12 @@
-
+
+
+
@@ -87608,11 +135263,13 @@
-
+
+
+
@@ -87986,32 +135643,40 @@
-
+
+
+ false
+
+
+
+ false
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
@@ -88019,42 +135684,42 @@
{ origin : "hscript" }
-
-
-
-
-
-
+
+
+
+
+
+
-
- <_token set="method" line="1390">
-
+
+ <_token set="method" line="1434">
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
@@ -149386,6 +197051,19 @@
0
+
+
+ Notify this loop about an upcoming event.
+ This makes the thread to stay alive and wait for as many events as many times
+ `.promise()` was called. These events should be added via `.runPromised()`
+
+
+
+
+
+
+ Execute `event` as soon as possible.
+
-
+
-
-
- true
-
-
+
-
+
-
+
-
+
-
+
-
+
@@ -166791,20 +214465,42 @@
<__audioChangeCallback public="1" expr="function() {
trace("test");
-}" line="108" static="1">
+}" line="117" static="1">
function() {
trace("test");
}
-
+ "\r\n if (!curAudioFix) curAudioFix = new AudioFixClient();\r\n "
+
+
+
+
+
+
+
+
+
+ "\r\n // https://stackoverflow.com/questions/15543571/allocconsole-not-displaying-cout\r\n\r\n if (!AllocConsole())\r\n return;\r\n\r\n freopen(\"CONIN$\", \"r\", stdin);\r\n freopen(\"CONOUT$\", \"w\", stdout);\r\n freopen(\"CONOUT$\", \"w\", stderr);\r\n "
+
+
+
+
+
+
+ "\r\n HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); \r\n SetConsoleTextAttribute(console, color);\r\n "
+
+
+
+
+
- \r\n \r\n \r\n \r\n \r\n\r\n"]]>
- \r\n\r\n#define SAFE_RELEASE(punk) \\\r\n if ((punk) != NULL) \\\r\n { (punk)->Release(); (punk) = NULL; }\r\n\r\nstatic long lastDefId = 0;\r\n\r\nclass AudioFixClient : public IMMNotificationClient {\r\n LONG _cRef;\r\n IMMDeviceEnumerator *_pEnumerator;\r\n \r\n public:\r\n AudioFixClient() :\r\n _cRef(1),\r\n _pEnumerator(NULL)\r\n {\r\n HRESULT result = CoCreateInstance(__uuidof(MMDeviceEnumerator),\r\n NULL, CLSCTX_INPROC_SERVER,\r\n __uuidof(IMMDeviceEnumerator),\r\n (void**)&_pEnumerator);\r\n if (result == S_OK) {\r\n _pEnumerator->RegisterEndpointNotificationCallback(this);\r\n }\r\n }\r\n\r\n ~AudioFixClient()\r\n {\r\n SAFE_RELEASE(_pEnumerator);\r\n }\r\n\r\n ULONG STDMETHODCALLTYPE AddRef()\r\n {\r\n return InterlockedIncrement(&_cRef);\r\n }\r\n\r\n ULONG STDMETHODCALLTYPE Release()\r\n {\r\n ULONG ulRef = InterlockedDecrement(&_cRef);\r\n if (0 == ulRef)\r\n {\r\n delete this;\r\n }\r\n return ulRef;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE QueryInterface(\r\n REFIID riid, VOID **ppvInterface)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnDeviceAdded(LPCWSTR pwstrDeviceId)\r\n {\r\n return S_OK;\r\n };\r\n\r\n HRESULT STDMETHODCALLTYPE OnDeviceRemoved(LPCWSTR pwstrDeviceId)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnDeviceStateChanged(\r\n LPCWSTR pwstrDeviceId,\r\n DWORD dwNewState)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnPropertyValueChanged(\r\n LPCWSTR pwstrDeviceId,\r\n const PROPERTYKEY key)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnDefaultDeviceChanged(\r\n EDataFlow flow, ERole role,\r\n LPCWSTR pwstrDeviceId)\r\n {\r\n std::cout << \"fuck\";\r\n ::funkin::_hx_system::Main_obj::audioDisconnected = true;\r\n return S_OK;\r\n };\r\n};\r\n\r\nAudioFixClient *curAudioFix;\r\n"]]>
+ \r\n \r\n \r\n \r\n \r\n \r\n\r\n"]]>
+ \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n\r\n#define SAFE_RELEASE(punk) \\\r\n if ((punk) != NULL) \\\r\n { (punk)->Release(); (punk) = NULL; }\r\n\r\nstatic long lastDefId = 0;\r\n\r\nclass AudioFixClient : public IMMNotificationClient {\r\n LONG _cRef;\r\n IMMDeviceEnumerator *_pEnumerator;\r\n \r\n public:\r\n AudioFixClient() :\r\n _cRef(1),\r\n _pEnumerator(NULL)\r\n {\r\n HRESULT result = CoCreateInstance(__uuidof(MMDeviceEnumerator),\r\n NULL, CLSCTX_INPROC_SERVER,\r\n __uuidof(IMMDeviceEnumerator),\r\n (void**)&_pEnumerator);\r\n if (result == S_OK) {\r\n _pEnumerator->RegisterEndpointNotificationCallback(this);\r\n }\r\n }\r\n\r\n ~AudioFixClient()\r\n {\r\n SAFE_RELEASE(_pEnumerator);\r\n }\r\n\r\n ULONG STDMETHODCALLTYPE AddRef()\r\n {\r\n return InterlockedIncrement(&_cRef);\r\n }\r\n\r\n ULONG STDMETHODCALLTYPE Release()\r\n {\r\n ULONG ulRef = InterlockedDecrement(&_cRef);\r\n if (0 == ulRef)\r\n {\r\n delete this;\r\n }\r\n return ulRef;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE QueryInterface(\r\n REFIID riid, VOID **ppvInterface)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnDeviceAdded(LPCWSTR pwstrDeviceId)\r\n {\r\n return S_OK;\r\n };\r\n\r\n HRESULT STDMETHODCALLTYPE OnDeviceRemoved(LPCWSTR pwstrDeviceId)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnDeviceStateChanged(\r\n LPCWSTR pwstrDeviceId,\r\n DWORD dwNewState)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnPropertyValueChanged(\r\n LPCWSTR pwstrDeviceId,\r\n const PROPERTYKEY key)\r\n {\r\n return S_OK;\r\n }\r\n\r\n HRESULT STDMETHODCALLTYPE OnDefaultDeviceChanged(\r\n EDataFlow flow, ERole role,\r\n LPCWSTR pwstrDeviceId)\r\n {\r\n ::funkin::_hx_system::Main_obj::audioDisconnected = true;\r\n return S_OK;\r\n };\r\n};\r\n\r\nAudioFixClient *curAudioFix;\r\n"]]>hide
@@ -169948,7 +217644,10 @@
-
+
+
+
+
@@ -170199,7 +217898,10 @@
-
+
+
+
+
@@ -171158,6 +218860,7 @@
The FPS class provides an easy-to-use monitor to display
the current frame rate of an OpenFL project
+ "tags=\"haxe,release\""
@@ -171181,6 +218884,7 @@
the corresponding label name. The Scene class includes a `labels`
property, which is an array of FrameLabel objects for the scene.
+ "tags=\"haxe,release\""
@@ -176997,6 +224701,7 @@
directly. A ShaderParameter instance is created for each of a shader's
parameters when the Shader instance is created.]]>
+ "tags=\"haxe,release\""openfl.display3D.Context3D
@@ -177667,40 +225372,6 @@
-
-
-
-
- Specifies the Graphics object belonging to this Shape object, where vector
- drawing commands can occur.
-
-
-
-
-
-
-
- Creates a new Shape object.
-
- This class is used to create lightweight shapes using the ActionScript
- drawing application program interface(API). The Shape class includes a
- `graphics` property, which lets you access methods from the
- Graphics class.
-
- The Sprite class also includes a `graphics`property, and it
- includes other features not available to the Shape class. For example, a
- Sprite object is a display object container, whereas a Shape object is not
- (and cannot contain child display objects). For this reason, Shape objects
- consume less memory than Sprite objects that contain the same graphics.
- However, a Sprite object supports user input events, while a Shape object
- does not.
-
-
- "tags=\"haxe,release\""
-
- openfl.display.Graphics
-
-
<__constructor static="1">
@@ -188547,7 +236218,10 @@
-
+
+
+
+
@@ -188654,7 +236328,10 @@
-
+
+
+
+
@@ -191885,94 +239562,6 @@
-
-
-
-
-
- "Error"
-
-
-
-
-
- Contains the reference number associated with the specific error message. For a
- custom Error object, this number is the value from the id parameter supplied in the
- constructor.
-
-
-
- Contains the message associated with the Error object. By default, the value of
- this property is "Error". You can specify a message property when you create an
- Error object by passing the error string to the Error constructor function.
-
-
-
- Returns the call stack for an error at the time of the error's construction as a
- string. As shown in the following example, the first line of the return value is
- the string representation of the exception object, followed by the stack trace
- elements:
-
- ```
- TypeError: Error #1009: Cannot access a property or method of a null object reference
- at com.xyz::OrderEntry/retrieveData()[/src/com/xyz/OrderEntry.as:995]
- at com.xyz::OrderEntry/init()[/src/com/xyz/OrderEntry.as:200]
- at com.xyz::OrderEntry()[/src/com/xyz/OrderEntry.as:148]
- ```
-
- The preceding listing shows the value of this method when called in a debugger
- version of Flash Player or code running in the AIR Debug Launcher (ADL). When code
- runs in a release version of Flash Player or AIR, the stack trace is provided
- without the file path and line number information, as in the following example:
-
- ```
- TypeError: Error #1009: Cannot access a property or method of a null object reference
- at com.xyz::OrderEntry/retrieveData()
- at com.xyz::OrderEntry/init()
- at com.xyz::OrderEntry()
- ```
-
- For Flash Player 11.4 and earlier and AIR 3.4 and earlier, stack traces are only
- available when code is running in the debugger version of Flash Player or the AIR
- Debug Launcher (ADL). In non-debugger versions of those runtimes, calling this
- method returns `null`.
-
- @returns A string representation of the call stack.
-
-
-
- Returns the string "Error" by default or the value contained in the `Error.message`
- property, if defined.
-
- @returns The error message.
-
-
-
-
-
-
-
- { id : 0, message : "" }
- Creates a new Error object. If message is specified, its value is assigned to the
- object's Error.message property.
-
- @param message A string associated with the Error object; this parameter is optional.
- @param id A reference number to associate with the specific error message.
-
- The Error class contains information about an error that occurred in a script. In
- developing ActionScript 3.0 applications, when you run your compiled code in the
- debugger version of a Flash runtime, a dialog box displays exceptions of type Error,
- or of a subclass, to help you troubleshoot the code. You create an Error object by
- using the Error constructor function. Typically, you throw a new Error object from
- within a `try` code block that is caught by a `catch` code block.
-
- You can also create a subclass of the Error class and throw instances of that subclass.
-
-
- "tags=\"haxe,release\""
-
-
-
@@ -192098,830 +239687,6 @@
-
-
-
- "activate"
- The `ACTIVATE` constant defines the value of the `type` property of an
- `activate` event object.
- **Note:** This event has neither a "capture phase" nor a "bubble
- phase", which means that event listeners must be added directly to any
- potential targets, whether the target is on the display list or not.
-
- AIR for TV devices never automatically dispatch this event. You can,
- however, dispatch it manually.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any DisplayObject instance with a listener registered for the `activate` event. |
-
-
-
- "added"
- The `Event.ADDED` constant defines the value of the `type` property of
- an `added` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `true` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The DisplayObject instance being added to the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "addedToStage"
- The `Event.ADDED_TO_STAGE` constant defines the value of the `type`
- property of an `addedToStage` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The DisplayObject instance being added to the on stage display list, either directly or through the addition of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly added, the `added` event occurs before this event. |
-
-
-
- "cancel"
- The `Event.CANCEL` constant defines the value of the `type` property
- of a `cancel` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | A reference to the object on which the operation is canceled. |
-
-
-
- "change"
- The `Event.CHANGE` constant defines the value of the `type` property
- of a `change` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `true` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The object that has had its value modified. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "clear"
- The `Event.CLEAR` constant defines the value of the `type` property of
- a `clear` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any InteractiveObject instance with a listener registered for the `clear` event. |
-
- **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. TextField objects always include Cut,
- Copy, Paste, Clear, and Select All commands in the context menu. You
- cannot remove these commands from the context menu for TextField
- objects. For TextField objects, selecting these commands (or their
- keyboard equivalents) does not generate `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. However, other classes that extend the
- InteractiveObject class, including components built using the Flash
- Text Engine (FTE), will dispatch these events in response to user
- actions such as keyboard shortcuts and context menus.
-
-
-
- "close"
- The `Event.CLOSE` constant defines the value of the `type` property of
- a `close` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The object whose connection has been closed. |
-
-
-
- "complete"
- The `Event.COMPLETE` constant defines the value of the `type` property
- of a `complete` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The network object that has completed loading. |
-
-
-
- "connect"
- The `Event.CONNECT` constant defines the value of the `type` property
- of a `connect` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The Socket or XMLSocket object that has established a network connection. |
-
-
-
- "context3DCreate"
- The `Event.CONTEXT3D_CREATE` constant defines the value of the type property of a
- `context3Dcreate` event object. This event is raised only by Stage3D objects in
- response to either a call to `Stage3D.requestContext3D` or in response to an OS
- triggered reset of the Context3D bound to the Stage3D object. Inspect the
- `Stage3D.context3D` property to get the newly created Context3D object.
-
-
-
- "copy"
- Defines the value of the `type` property of a `copy` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any InteractiveObject instance with a listener registered for the `copy` event. |
-
- **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. TextField objects always include Cut,
- Copy, Paste, Clear, and Select All commands in the context menu. You
- cannot remove these commands from the context menu for TextField
- objects. For TextField objects, selecting these commands (or their
- keyboard equivalents) does not generate `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. However, other classes that extend the
- InteractiveObject class, including components built using the Flash
- Text Engine (FTE), will dispatch these events in response to user
- actions such as keyboard shortcuts and context menus.
-
-
-
- "cut"
- Defines the value of the `type` property of a `cut` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any InteractiveObject instance with a listener registered for the `cut` event. |
-
- **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. TextField objects always include Cut,
- Copy, Paste, Clear, and Select All commands in the context menu. You
- cannot remove these commands from the context menu for TextField
- objects. For TextField objects, selecting these commands (or their
- keyboard equivalents) does not generate `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. However, other classes that extend the
- InteractiveObject class, including components built using the Flash
- Text Engine (FTE), will dispatch these events in response to user
- actions such as keyboard shortcuts and context menus.
-
-
-
- "deactivate"
- The `Event.DEACTIVATE` constant defines the value of the `type`
- property of a `deactivate` event object.
- **Note:** This event has neither a "capture phase" nor a "bubble
- phase", which means that event listeners must be added directly to any
- potential targets, whether the target is on the display list or not.
-
- AIR for TV devices never automatically dispatch this event. You can,
- however, dispatch it manually.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any DisplayObject instance with a listener registered for the `deactivate` event. |
-
-
-
- "enterFrame"
- The `Event.ENTER_FRAME` constant defines the value of the `type`
- property of an `enterFrame` event object.
- **Note:** This event has neither a "capture phase" nor a "bubble
- phase", which means that event listeners must be added directly to any
- potential targets, whether the target is on the display list or not.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. |
-
-
-
- "exitFrame"
- The `Event.EXIT_FRAME` constant defines the value of the `type`
- property of an `exitFrame` event object.
- **Note:** This event has neither a "capture phase" nor a "bubble
- phase", which means that event listeners must be added directly to any
- potential targets, whether the target is on the display list or not.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. |
-
-
-
- "frameConstructed"
- The `Event.FRAME_CONSTRUCTED` constant defines the value of the `type`
- property of an `frameConstructed` event object.
- **Note:** This event has neither a "capture phase" nor a "bubble
- phase", which means that event listeners must be added directly to any
- potential targets, whether the target is on the display list or not.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any DisplayObject instance with a listener registered for the `frameConstructed` event. |
-
-
-
- "frameLabel"
- The `Event.FRAME_LABEL` constant defines the value of the type property of a
- `frameLabel` event object.
-
- **Note:** This event has neither a "capture phase" nor a "bubble phase", which
- means that event listeners must be added directly to FrameLabel objects.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The FrameLabel object that is actively processing the Event object with an event listener. |
- | `target` | Any FrameLabel instance with a listener registered for the frameLabel event. |
-
-
-
- "fullScreen"
- The `Event.FULL_SCREEN` constant defines the value of the `type`
- property of a `fullScreen` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The Stage object. |
-
-
-
- "id3"
- The `Event.ID3` constant defines the value of the `type` property of
- an `id3` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The Sound object loading the MP3 for which ID3 data is now available. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "init"
- The `Event.INIT` constant defines the value of the `type` property of
- an `init` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The LoaderInfo object associated with the SWF file being loaded. |
-
-
-
- "mouseLeave"
- The `Event.MOUSE_LEAVE` constant defines the value of the `type`
- property of a `mouseLeave` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The Stage object. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "open"
- The `Event.OPEN` constant defines the value of the `type` property of
- an `open` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The network object that has opened a connection. |
-
-
-
- "paste"
- The `Event.PASTE` constant defines the value of the `type` property of
- a `paste` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any InteractiveObject instance with a listener registered for the `paste` event. |
-
- **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. TextField objects always include Cut,
- Copy, Paste, Clear, and Select All commands in the context menu. You
- cannot remove these commands from the context menu for TextField
- objects. For TextField objects, selecting these commands (or their
- keyboard equivalents) does not generate `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. However, other classes that extend the
- InteractiveObject class, including components built using the Flash
- Text Engine (FTE), will dispatch these events in response to user
- actions such as keyboard shortcuts and context menus.
-
-
-
- "removed"
- The `Event.REMOVED` constant defines the value of the `type` property
- of a `removed` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `true` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The DisplayObject instance to be removed from the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "removedFromStage"
- The `Event.REMOVED_FROM_STAGE` constant defines the value of the
- `type` property of a `removedFromStage` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The DisplayObject instance being removed from the on stage display list, either directly or through the removal of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly removed, the `removed` event occurs before this event. |
-
-
-
- "render"
- The `Event.RENDER` constant defines the value of the `type` property
- of a `render` event object.
- **Note:** This event has neither a "capture phase" nor a "bubble
- phase", which means that event listeners must be added directly to any
- potential targets, whether the target is on the display list or not.
-
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; the default behavior cannot be canceled. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any DisplayObject instance with a listener registered for the `render` event. |
-
-
-
- "resize"
- The `Event.RESIZE` constant defines the value of the `type` property
- of a `resize` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The Stage object. |
-
-
-
- "scroll"
- The `Event.SCROLL` constant defines the value of the `type` property
- of a `scroll` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The TextField object that has been scrolled. The `target` property is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
-
- "selectAll"
- The `Event.SELECT_ALL` constant defines the value of the `type`
- property of a `selectAll` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | Any InteractiveObject instance with a listener registered for the `selectAll` event. |
-
- **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. TextField objects always include Cut,
- Copy, Paste, Clear, and Select All commands in the context menu. You
- cannot remove these commands from the context menu for TextField
- objects. For TextField objects, selecting these commands (or their
- keyboard equivalents) does not generate `clear`, `copy`, `cut`,
- `paste`, or `selectAll` events. However, other classes that extend the
- InteractiveObject class, including components built using the Flash
- Text Engine (FTE), will dispatch these events in response to user
- actions such as keyboard shortcuts and context menus.
-
-
-
- "soundComplete"
- The `Event.SOUND_COMPLETE` constant defines the value of the `type`
- property of a `soundComplete` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The SoundChannel object in which a sound has finished playing. |
-
-
-
- "tabChildrenChange"
- The `Event.TAB_CHILDREN_CHANGE` constant defines the value of the
- `type` property of a `tabChildrenChange` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `true` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The object whose tabChildren flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "tabEnabledChange"
- The `Event.TAB_ENABLED_CHANGE` constant defines the value of the
- `type` property of a `tabEnabledChange` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `true` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The InteractiveObject whose tabEnabled flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "tabIndexChange"
- The `Event.TAB_INDEX_CHANGE` constant defines the value of the `type`
- property of a `tabIndexChange` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `true` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The object whose tabIndex has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
-
-
-
- "textureReady"
- The `Event.TEXTURE_READY` constant defines the value of the type property of a
- `textureReady` event object. This event is dispatched by Texture and CubeTexture
- objects to signal the completion of an asynchronous upload. Request an asynchronous
- upload by using the `uploadCompressedTextureFromByteArray()` method on Texture or
- CubeTexture. This event neither bubbles nor is cancelable.
-
-
-
- "unload"
- The `Event.UNLOAD` constant defines the value of the `type` property
- of an `unload` event object.
- This event has the following properties:
-
- | Property | Value |
- | --- | --- |
- | `bubbles` | `false` |
- | `cancelable` | `false`; there is no default behavior to cancel. |
- | `currentTarget` | The object that is actively processing the Event object with an event listener. |
- | `target` | The LoaderInfo object associated with the SWF file being unloaded or replaced. |
-
-
-
- Indicates whether an event is a bubbling event. If the event can bubble,
- this value is `true`; otherwise it is `false`.
-
- When an event occurs, it moves through the three phases of the event
- flow: the capture phase, which flows from the top of the display list
- hierarchy to the node just before the target node; the target phase, which
- comprises the target node; and the bubbling phase, which flows from the
- node subsequent to the target node back up the display list hierarchy.
-
- Some events, such as the `activate` and `unload`
- events, do not have a bubbling phase. The `bubbles` property
- has a value of `false` for events that do not have a bubbling
- phase.
-
-
-
- Indicates whether the behavior associated with the event can be prevented.
- If the behavior can be canceled, this value is `true`;
- otherwise it is `false`.
-
-
-
- The object that is actively processing the Event object with an event
- listener. For example, if a user clicks an OK button, the current target
- could be the node containing that button or one of its ancestors that has
- registered an event listener for that event.
-
-
-
- The current phase in the event flow. This property can contain the
- following numeric values:
-
- * The capture phase(`EventPhase.CAPTURING_PHASE`).
- * The target phase(`EventPhase.AT_TARGET`).
- * The bubbling phase(`EventPhase.BUBBLING_PHASE`).
-
-
-
- The event target. This property contains the target node. For example, if
- a user clicks an OK button, the target node is the display list node
- containing that button.
-
-
-
- The type of event. The type is case-sensitive.
-
- <__isCanceled>
-
-
-
- <__isCanceledNow>
-
-
-
- <__preventDefault>
-
-
-
-
-
- Duplicates an instance of an Event subclass.
-
- Returns a new Event object that is a copy of the original instance of
- the Event object. You do not normally call `clone()`; the
- EventDispatcher class calls it automatically when you redispatch an
- event - that is, when you call `dispatchEvent(event)` from a
- handler that is handling `event`.
-
- The new Event object includes all the properties of the original.
-
- When creating your own custom Event class, you must override the
- inherited `Event.clone()` method in order for it to duplicate
- the properties of your custom class. If you do not set all the properties
- that you add in your event subclass, those properties will not have the
- correct values when listeners handle the redispatched event.
-
- In this example, `PingEvent` is a subclass of
- `Event` and therefore implements its own version of
- `clone()`.
-
- @return A new Event object that is identical to the original.
-
-
-
-
-
-
-
-
-
-
-
- { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null }
- A utility function for implementing the `toString()` method in custom
- ActionScript 3.0 Event classes. Overriding the `toString()` method is
- recommended, but not required.
-
- ```haxe
- class PingEvent extends Event {
- var URL:String;
-
- public function new() {
- super();
- }
-
- public override function toString():String {
- return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL");
- }
- }
- ```
-
- @param className The name of your custom Event class. In the previous
- example, the `className` parameter is `PingEvent`.
- @return The name of your custom Event class and the String value of
- your `...arguments` parameter.
-
-
-
- Checks whether the `preventDefault()` method has been called on
- the event. If the `preventDefault()` method has been called,
- returns `true`; otherwise, returns `false`.
-
- @return If `preventDefault()` has been called, returns
- `true`; otherwise, returns `false`.
-
-
-
- Cancels an event's default behavior if that behavior can be canceled.
- Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing.
- An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior.
- You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect.
-
-
-
- Prevents processing of any event listeners in the current node and any
- subsequent nodes in the event flow. This method takes effect immediately,
- and it affects event listeners in the current node. In contrast, the
- `stopPropagation()` method doesn't take effect until all the
- event listeners in the current node finish processing.
-
- **Note: ** This method does not cancel the behavior associated with
- this event; see `preventDefault()` for that functionality.
-
-
-
- Prevents processing of any event listeners in nodes subsequent to the
- current node in the event flow. This method does not affect any event
- listeners in the current node(`currentTarget`). In contrast,
- the `stopImmediatePropagation()` method prevents processing of
- event listeners in both the current node and subsequent nodes. Additional
- calls to this method have no effect. This method can be called in any
- phase of the event flow.
-
- **Note: ** This method does not cancel the behavior associated with
- this event; see `preventDefault()` for that functionality.
-
-
-
- Returns a string containing all the properties of the Event object. The
- string is in the following format:
-
- `[Event type=_value_ bubbles=_value_
- cancelable=_value_]`
-
- @return A string containing all the properties of the Event object.
-
- <__formatToString set="method" line="887">
-
-
-
-
-
-
-
- <__init set="method" line="912">
-
-
-
-
-
-
-
-
-
-
- { cancelable : false, bubbles : false }
- Creates an Event object to pass as a parameter to event listeners.
-
- @param type The type of the event, accessible as
- `Event.type`.
- @param bubbles Determines whether the Event object participates in the
- bubbling stage of the event flow. The default value is
- `false`.
- @param cancelable Determines whether the Event object can be canceled. The
- default values is `false`.
-
-
-
-
- "tags=\"haxe,release\""
-
-
-
@@ -193150,6 +239915,73 @@
+
+
+
+
+ "asyncError"
+ The `AsyncErrorEvent.ASYNC_ERROR` constant defines the value of the
+ `type` property of an `asyncError` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The object dispatching the event. |
+ | `error` | The error that triggered the event. |
+
+
+
+ The exception that was thrown.
+
+
+
+ <__init set="method" line="89" override="1">
+
+
+
+
+
+
+
+
+
+
+
+
+ { error : null, text : "", cancelable : false, bubbles : false }
+ Creates an AsyncErrorEvent object that contains information about
+ asyncError events. AsyncErrorEvent objects are passed as parameters to
+ event listeners.
+
+ @param type The type of the event. Event listeners can access
+ this information through the inherited `type`
+ property. There is only one type of error event:
+ `ErrorEvent.ERROR`.
+ @param bubbles Determines whether the Event object bubbles. Event
+ listeners can access this information through the
+ inherited `bubbles` property.
+ @param cancelable Determines whether the Event object can be canceled.
+ Event listeners can access this information through
+ the inherited `cancelable` property.
+ @param text Text to be displayed as an error message. Event
+ listeners can access this information through the
+ `text` property.
+ @param error The exception that occurred. If error is non-null,
+ the event's `errorId` property is set from the
+ error's `errorId` property.
+
+ An object dispatches an AsyncErrorEvent when an exception is thrown from
+ native asynchronous code, which could be from, for example,
+ LocalConnection, NetConnection, SharedObject, or NetStream. There is only
+ one type of asynchronous error event: `AsyncErrorEvent.ASYNC_ERROR`.
+
+ "tags=\"haxe,release\""
+
+
+
@@ -195156,6 +241988,72 @@
+
+
+
+
+ "timer"
+ Defines the value of the `type` property of a `timer` event object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Timer object that has reached its interval. |
+
+
+
+ "timerComplete"
+ Defines the value of the `type` property of a `timerComplete` event
+ object.
+ This event has the following properties:
+
+ | Property | Value |
+ | --- | --- |
+ | `bubbles` | `false` |
+ | `cancelable` | `false`; there is no default behavior to cancel. |
+ | `currentTarget` | The object that is actively processing the Event object with an event listener. |
+ | `target` | The Timer object that has completed its requests. |
+
+
+
+
+
+ Instructs Flash Player or the AIR runtime to render after processing of
+ this event completes, if the display list has been modified.
+
+
+
+
+
+
+
+
+ { cancelable : false, bubbles : false }
+ Creates an Event object with specific information relevant to
+ `timer` events. Event objects are passed as parameters to event
+ listeners.
+
+ @param type The type of the event. Event listeners can access this
+ information through the inherited `type`
+ property.
+ @param bubbles Determines whether the Event object bubbles. Event
+ listeners can access this information through the
+ inherited `bubbles` property.
+ @param cancelable Determines whether the Event object can be canceled.
+ Event listeners can access this information through the
+ inherited `cancelable` property.
+
+ A Timer object dispatches a TimerEvent objects whenever the Timer object
+ reaches the interval specified by the `Timer.delay` property.
+
+
+ "tags=\"haxe,release\""
+
+
+
@@ -195947,6 +242845,817 @@
+
+
+
+
+
+
+ hide
+
+ openfl.display._internal
+
+
+
+
+
+
+ hide
+
+ openfl.display._internal
+
+
+
+
+
+
+ hide
+
+ openfl.display._internal
+
+
+
+
+
+
+ hide
+
+ openfl.display._internal
+
+
+
+
+
+
+ hide
+
+ openfl.display._internal
+
+
+
+
+
+
+
+
+ { code : null }
+ "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;"
+ "openfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;"
+ "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}"
+ "varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;"
+ "gl_FragColor = texture2D (openfl_Texture, openfl_TextureCoordv);"
+ "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}"
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+ <__update set="method" line="328" override="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "uniform sampler2D openfl_Texture;\n\n\t\tvarying vec2 vBlurCoords[7];\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 sum = vec4(0.0);\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[0]) * 0.00443;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[1]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[2]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[3]) * 0.39894;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[4]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[5]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[6]) * 0.00443;\n\n\t\t\tgl_FragColor = sum;\n\n\t\t}"
+ "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vBlurCoords[7];\n\t\tuniform vec2 uTextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\tvec2 r = uRadius / uTextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * 0.75;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * 0.5;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * 0.5;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * 0.75;\n\t\t\tvBlurCoords[6] = openfl_TextureCoord + r;\n\n\t\t}"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+ <__blurShader expr="new BlurShader()" line="73" static="1">
+
+
+ new BlurShader()
+
+
+
+
+
+ The amount of horizontal blur. Valid values are from 0 to 255(floating
+ point). The default value is 4. Values that are a power of 2(such as 2,
+ 4, 8, 16 and 32) are optimized to render more quickly than other values.
+
+
+
+ The amount of vertical blur. Valid values are from 0 to 255(floating
+ point). The default value is 4. Values that are a power of 2(such as 2,
+ 4, 8, 16 and 32) are optimized to render more quickly than other values.
+
+
+
+ The number of times to perform the blur. The default value is
+ `BitmapFilterQuality.LOW`, which is equivalent to applying the
+ filter once. The value `BitmapFilterQuality.MEDIUM` applies the
+ filter twice; the value `BitmapFilterQuality.HIGH` applies it
+ three times and approximates a Gaussian blur. Filters with lower values
+ are rendered more quickly.
+
+ For most applications, a `quality` value of low, medium, or
+ high is sufficient. Although you can use additional numeric values up to
+ 15 to increase the number of times the blur is applied, higher values are
+ rendered more slowly. Instead of increasing the value of
+ `quality`, you can often get a similar effect, and with faster
+ rendering, by simply increasing the values of the `blurX` and
+ `blurY` properties.
+
+ You can use the following BitmapFilterQuality constants to specify
+ values of the `quality` property:
+
+ * `BitmapFilterQuality.LOW`
+ * `BitmapFilterQuality.MEDIUM`
+ * `BitmapFilterQuality.HIGH`
+
+ <__blurX>
+
+
+
+ <__blurY>
+
+
+
+ <__horizontalPasses>
+
+
+
+ <__quality>
+
+
+
+ <__verticalPasses>
+
+
+
+
+ <__applyFilter set="method" line="185" override="1">
+
+
+
+
+
+
+
+
+
+ <__initShader set="method" line="198" override="1">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { quality : 1, blurY : 4, blurX : 4 }
+ Initializes the filter with the specified parameters. The default values
+ create a soft, unfocused image.
+
+ @param blurX The amount to blur horizontally. Valid values are from 0 to
+ 255.0(floating-point value).
+ @param blurY The amount to blur vertically. Valid values are from 0 to
+ 255.0(floating-point value).
+ @param quality The number of times to apply the filter. You can specify
+ the quality using the BitmapFilterQuality constants:
+
+
+ * `openfl.filters.BitmapFilterQuality.LOW`
+
+ * `openfl.filters.BitmapFilterQuality.MEDIUM`
+
+ * `openfl.filters.BitmapFilterQuality.HIGH`
+
+
+ High quality approximates a Gaussian blur. For most
+ applications, these three values are sufficient. Although
+ you can use additional numeric values up to 15 to achieve
+ different effects, be aware that higher values are rendered
+ more slowly.
+
+ The BlurFilter class lets you apply a blur visual effect to display
+ objects. A blur effect softens the details of an image. You can produce
+ blurs that range from a softly unfocused look to a Gaussian blur, a hazy
+ appearance like viewing an image through semi-opaque glass. When the
+ `quality` property of this filter is set to low, the result is a
+ softly unfocused look. When the `quality` property is set to
+ high, it approximates a Gaussian blur filter. You can apply the filter to
+ any display object(that is, objects that inherit from the DisplayObject
+ class), such as MovieClip, SimpleButton, TextField, and Video objects, as
+ well as to BitmapData objects.
+
+ To create a new filter, use the constructor `new
+ BlurFilter()`. The use of filters depends on the object to which you
+ apply the filter:
+
+
+ * To apply filters to movie clips, text fields, buttons, and video, use
+ the `filters` property(inherited from DisplayObject). Setting
+ the `filters` property of an object does not modify the object,
+ and you can remove the filter by clearing the `filters`
+ property.
+ * To apply filters to BitmapData objects, use the
+ `BitmapData.applyFilter()` method. Calling
+ `applyFilter()` on a BitmapData object takes the source
+ BitmapData object and the filter object and generates a filtered image as a
+ result.
+
+
+ If you apply a filter to a display object, the
+ `cacheAsBitmap` property of the display object is set to
+ `true`. If you remove all filters, the original value of
+ `cacheAsBitmap` is restored.
+
+ This filter supports Stage scaling. However, it does not support general
+ scaling, rotation, and skewing. If the object itself is scaled
+ (`scaleX` and `scaleY` are not set to 100%), the
+ filter effect is not scaled. It is scaled only when the user zooms in on
+ the Stage.
+
+ A filter is not applied if the resulting image exceeds the maximum
+ dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in
+ width or height, and the total number of pixels cannot exceed 16,777,215
+ pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels
+ high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the
+ limitation is 2,880 pixels in height and 2,880 pixels in width. If, for
+ example, you zoom in on a large movie clip with a filter applied, the
+ filter is turned off if the resulting image exceeds the maximum
+ dimensions.
+
+
+ "tags=\"haxe,release\""
+
+ openfl.geom.Point
+ openfl.geom.Rectangle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec4 uColor;\n\t\tuniform float uStrength;\n\t\tvarying vec2 vTexCoord;\n\t\tvarying vec2 vBlurCoords[6];\n\n\t\tvoid main(void)\n\t\t{\n vec4 texel = texture2D(openfl_Texture, vTexCoord);\n\n vec3 contributions = vec3(0.00443, 0.05399, 0.24197);\n vec3 top = vec3(\n texture2D(openfl_Texture, vBlurCoords[0]).a,\n texture2D(openfl_Texture, vBlurCoords[1]).a,\n texture2D(openfl_Texture, vBlurCoords[2]).a\n );\n vec3 bottom = vec3(\n texture2D(openfl_Texture, vBlurCoords[3]).a,\n texture2D(openfl_Texture, vBlurCoords[4]).a,\n texture2D(openfl_Texture, vBlurCoords[5]).a\n );\n\n float a = texel.a * 0.39894;\n\t\t\ta += dot(top, contributions.xyz);\n a += dot(bottom, contributions.zyx);\n\n\t\t\tgl_FragColor = uColor * clamp(a * uStrength, 0.0, 1.0);\n\t\t}\n\t"
+ "\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vTexCoord;\n\t\tvarying vec2 vBlurCoords[6];\n\n\t\tvoid main(void) {\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\tvTexCoord = openfl_TextureCoord;\n\n\t\t\tvec3 offset = vec3(0.5, 0.75, 1.0);\n\t\t\tvec2 r = uRadius / openfl_TextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r * offset.z;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * offset.y;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * offset.x;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord + r * offset.x;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * offset.y;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * offset.z;\n\t\t}\n\t"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = glow * (1.0 - src.a);\n\t\t}\n\t"
+ "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = src + glow * (1.0 - src.a);\n\t\t}\n\t"
+ "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = glow * src.a;\n\t\t}\n\t"
+ "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = vec4((src.rgb * (1.0 - glow.a)) + (glow.rgb * src.a), src.a);\n\t\t}\n\t"
+ "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+
+
+
+ "\n\t\tuniform sampler2D openfl_Texture;\n\t\tvarying vec2 vTexCoord;\n\n\t\tvoid main(void) {\n\t\t\tvec4 texel = texture2D(openfl_Texture, vTexCoord);\n\t\t\tgl_FragColor = vec4(texel.rgb, 1.0 - texel.a);\n\t\t}\n\t"
+ "\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tvarying vec2 vTexCoord;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\tvTexCoord = openfl_TextureCoord;\n\t\t}\n\t"
+
+
+
+
+ openfl.utils._internal.ShaderMacro.build()
+ openfl.utils._internal.ShaderMacro.build()
+ "tags=\"haxe,release\""
+
+
+
+
+
+ <__invertAlphaShader expr="new InvertAlphaShader()" line="70" static="1">
+
+
+ new InvertAlphaShader()
+
+
+
+ <__blurAlphaShader expr="new BlurAlphaShader()" line="71" static="1">
+
+
+ new BlurAlphaShader()
+
+
+
+ <__combineShader expr="new CombineShader()" line="72" static="1">
+
+
+ new CombineShader()
+
+
+
+ <__innerCombineShader expr="new InnerCombineShader()" line="73" static="1">
+
+
+ new InnerCombineShader()
+
+
+
+ <__combineKnockoutShader expr="new CombineKnockoutShader()" line="74" static="1">
+
+
+ new CombineKnockoutShader()
+
+
+
+ <__innerCombineKnockoutShader expr="new InnerCombineKnockoutShader()" line="75" static="1">
+
+
+ new InnerCombineKnockoutShader()
+
+
+
+
+
+ The alpha transparency value for the color. Valid values are 0 to 1. For
+ example, .25 sets a transparency value of 25%. The default value is 1.
+
+
+
+ The amount of horizontal blur. Valid values are 0 to 255(floating point).
+ The default value is 6. Values that are a power of 2(such as 2, 4, 8, 16,
+ and 32) are optimized to render more quickly than other values.
+
+
+
+ The amount of vertical blur. Valid values are 0 to 255(floating point).
+ The default value is 6. Values that are a power of 2(such as 2, 4, 8, 16,
+ and 32) are optimized to render more quickly than other values.
+
+
+
+ The color of the glow. Valid values are in the hexadecimal format
+ 0x_RRGGBB_. The default value is 0xFF0000.
+
+
+
+ Specifies whether the glow is an inner glow. The value `true`
+ indicates an inner glow. The default is `false`, an outer glow
+ (a glow around the outer edges of the object).
+
+
+
+ Specifies whether the object has a knockout effect. A value of
+ `true` makes the object's fill transparent and reveals the
+ background color of the document. The default value is `false`
+ (no knockout effect).
+
+
+
+ The number of times to apply the filter. The default value is
+ `BitmapFilterQuality.LOW`, which is equivalent to applying the
+ filter once. The value `BitmapFilterQuality.MEDIUM` applies the
+ filter twice; the value `BitmapFilterQuality.HIGH` applies it
+ three times. Filters with lower values are rendered more quickly.
+
+ For most applications, a `quality` value of low, medium, or
+ high is sufficient. Although you can use additional numeric values up to
+ 15 to achieve different effects, higher values are rendered more slowly.
+ Instead of increasing the value of `quality`, you can often get
+ a similar effect, and with faster rendering, by simply increasing the
+ values of the `blurX` and `blurY` properties.
+
+
+
+ The strength of the imprint or spread. The higher the value, the more
+ color is imprinted and the stronger the contrast between the glow and the
+ background. Valid values are 0 to 255. The default is 2.
+
+ <__alpha>
+
+
+
+ <__blurX>
+
+
+
+ <__blurY>
+
+
+
+ <__color>
+
+
+
+ <__horizontalPasses>
+
+
+
+ <__inner>
+
+
+
+ <__knockout>
+
+
+
+ <__quality>
+
+
+
+ <__strength>
+
+
+
+ <__verticalPasses>
+
+
+
+
+ <__applyFilter set="method" line="259" override="1">
+
+
+
+
+
+
+
+
+
+ <__initShader set="method" line="277" override="1">
+
+
+
+
+
+
+
+
+ <__updateSize set="method" line="348">
+
+
+
+ <__calculateNumShaderPasses set="method" line="357">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { knockout : false, inner : false, quality : 1, strength : 2, blurY : 6, blurX : 6, alpha : 1, color : 0xFF0000 }
+ Initializes a new GlowFilter instance with the specified parameters.
+
+ @param color The color of the glow, in the hexadecimal format
+ 0x_RRGGBB_. The default value is 0xFF0000.
+ @param alpha The alpha transparency value for the color. Valid values
+ are 0 to 1. For example, .25 sets a transparency value of
+ 25%.
+ @param blurX The amount of horizontal blur. Valid values are 0 to 255
+ (floating point). Values that are a power of 2(such as 2,
+ 4, 8, 16 and 32) are optimized to render more quickly than
+ other values.
+ @param blurY The amount of vertical blur. Valid values are 0 to 255
+ (floating point). Values that are a power of 2(such as 2,
+ 4, 8, 16 and 32) are optimized to render more quickly than
+ other values.
+ @param strength The strength of the imprint or spread. The higher the
+ value, the more color is imprinted and the stronger the
+ contrast between the glow and the background. Valid values
+ are 0 to 255.
+ @param quality The number of times to apply the filter. Use the
+ BitmapFilterQuality constants:
+
+ * `BitmapFilterQuality.LOW`
+ * `BitmapFilterQuality.MEDIUM`
+ * `BitmapFilterQuality.HIGH`
+
+
+ For more information, see the description of the
+ `quality` property.
+ @param inner Specifies whether the glow is an inner glow. The value
+ ` true` specifies an inner glow. The value
+ `false` specifies an outer glow(a glow around
+ the outer edges of the object).
+ @param knockout Specifies whether the object has a knockout effect. The
+ value `true` makes the object's fill
+ transparent and reveals the background color of the
+ document.
+
+ The GlowFilter class lets you apply a glow effect to display objects. You
+ have several options for the style of the glow, including inner or outer
+ glow and knockout mode. The glow filter is similar to the drop shadow
+ filter with the `distance` and `angle` properties of
+ the drop shadow filter set to 0. You can apply the filter to any display
+ object(that is, objects that inherit from the DisplayObject class), such
+ as MovieClip, SimpleButton, TextField, and Video objects, as well as to
+ BitmapData objects.
+
+ The use of filters depends on the object to which you apply the
+ filter:
+
+
+ * To apply filters to display objects, use the `filters`
+ property(inherited from DisplayObject). Setting the `filters`
+ property of an object does not modify the object, and you can remove the
+ filter by clearing the `filters` property.
+ * To apply filters to BitmapData objects, use the
+ `BitmapData.applyFilter()` method. Calling
+ `applyFilter()` on a BitmapData object takes the source
+ BitmapData object and the filter object and generates a filtered image as a
+ result.
+
+
+ If you apply a filter to a display object, the
+ `cacheAsBitmap` property of the display object is set to
+ `true`. If you clear all filters, the original value of
+ `cacheAsBitmap` is restored.
+
+ This filter supports Stage scaling. However, it does not support general
+ scaling, rotation, and skewing. If the object itself is scaled(if
+ `scaleX` and `scaleY` are set to a value other than
+ 1.0), the filter is not scaled. It is scaled only when the user zooms in on
+ the Stage.
+
+ A filter is not applied if the resulting image exceeds the maximum
+ dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in
+ width or height, and the total number of pixels cannot exceed 16,777,215
+ pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels
+ high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the
+ limitation is 2,880 pixels in height and 2,880 pixels in width. For
+ example, if you zoom in on a large movie clip with a filter applied, the
+ filter is turned off if the resulting image exceeds the maximum
+ dimensions.
+
+ "tags=\"haxe,release\""
+
+ openfl.geom.ColorTransform
+ openfl.geom.Point
+ openfl.geom.Rectangle
+
+
+
@@ -196093,865 +243802,6 @@
-
-
-
-
-
-
-
-
-
-
- { rotation : 0, scale : 1 }
- "checkstyle:FieldDocComment"
- hide
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "checkstyle:FieldDocComment"
- hide
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "checkstyle:FieldDocComment"
- hide
-
-
-
-
-
-
-
-
-
-
- Interpolates the translation, rotation, and scale transformation of one matrix
- toward those of the target matrix.
-
- The `interpolate()` method avoids some of the unwanted results that can occur
- when using methods such as the display object's axis rotation properties. The
- `interpolate()` method invalidates the cached value of the rotation property of
- the display object and converts the orientation elements of the display object's
- matrix to a quaternion before interpolation. This method guarantees the shortest,
- most efficient path for the rotation. It also produces a smooth, gimbal-lock-free
- rotation. A gimbal lock can occur when using Euler Angles, where each axis is
- handled independently. During the rotation around two or more axes, the axes can
- become aligned, leading to unexpected results. Quaternion rotation avoids the
- gimbal lock.
-
- Consecutive calls to the `interpolate()` method can produce the effect of a
- display object starting quickly and then slowly approaching another display
- object. For example, if you set the `thisMat` parameter to the returned Matrix3D
- object, the `toMat` parameter to the target display object's associated Matrix3D
- object, and the `percent` parameter to 0.1, the display object moves ten percent
- toward the target object. On subsequent calls or in subsequent frames, the object
- moves ten percent of the remaining 90 percent, then ten percent of the remaining
- distance, and continues until it reaches the target.
-
- @param thisMat The Matrix3D object that is to be interpolated.
- @param toMat The target Matrix3D object.
- @param percent A value between 0 and 1 that determines the percent the
- `thisMat` Matrix3D object is interpolated toward the target Matrix3D object.
- @returns A Matrix3D object with elements that place the values of the matrix
- between the original matrix and the target matrix. When the returned matrix is
- applied to the this display object, the object moves the specified percent closer
- to the target object.
-
- <__getAxisRotation set="method" line="1622" static="1">
-
-
-
-
-
-
-
-
-
-
-
- A Number that determines whether a matrix is invertible.
-
- A Matrix3D object must be invertible. You can use the `determinant` property to make
- sure that a Matrix3D object is invertible. If determinant is zero, an inverse of
- the matrix does not exist. For example, if an entire row or column of a matrix is
- zero or if two rows or columns are equal, the determinant is zero. Determinant is
- also used to solve a series of equations.
-
- Only a square matrix, like the Matrix3D class, has a determinant.
-
-
-
- A Vector3D object that holds the position, the 3D coordinate (x,y,z) of a display
- object within the transformation's frame of reference. The `position` property
- provides immediate access to the translation vector of the display object's
- matrix without needing to decompose and recompose the matrix.
-
- With the `position` property, you can get and set the translation elements of the
- transformation matrix.
-
-
-
- A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix.
-
- An exception is thrown if the `rawData` property is set to a matrix that is not
- invertible. The Matrix3D object must be invertible. If a non-invertible matrix is
- needed, create a subclass of the Matrix3D object.
-
-
-
-
-
-
- A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix.
-
- An exception is thrown if the `rawData` property is set to a matrix that is not
- invertible. The Matrix3D object must be invertible. If a non-invertible matrix is
- needed, create a subclass of the Matrix3D object.
-
-
-
-
-
-
-
-
- { pivotPoint : null }
- Appends an incremental rotation to a Matrix3D object. When the Matrix3D object is
- applied to a display object, the matrix performs the rotation after other
- transformations in the Matrix3D object.
-
- The display object's rotation is defined by an axis, an incremental degree of
- rotation around the axis, and an optional pivot point for the center of the
- object's rotation. The axis can be any general direction. The common axes are the
- `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
- `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y axis
- is called yaw. The rotation about the x axis is called pitch. The rotation about
- the z axis is called roll.
-
- The order of transformation matters. A rotation followed by a translation
- transformation produces a different effect than a translation followed by a
- rotation transformation.
-
- The rotation effect is not absolute. It is relative to the current position and
- orientation. To make an absolute change to the transformation matrix, use the
- `recompose()` method. The `appendRotation()` method is also different from the
- axis rotation property of the display object, such as `rotationX` property. The
- `rotation` property is always performed before any translation, whereas the
- `appendRotation()` method is performed relative to what is already in the matrix.
- To make sure that you get a similar effect as the display object's axis rotation
- property, use the `prependRotation()` method, which performs the rotation before
- other transformations in the matrix.
-
- When the `appendRotation()` method's transformation is applied to a Matrix3D object
- of a display object, the cached rotation property values of the display object
- are invalidated.
-
- One way to have a display object rotate around a specific point relative to its
- location is to set the translation of the object to the specified point, rotate
- the object using the `appendRotation()` method, and translate the object back to
- the original position. In the following example, the myObject 3D display object
- makes a y-axis rotation around the coordinate (10,10,0).
-
- ```haxe
- myObject.z = 1;
- myObject.transform.matrix3D.appendTranslation(10,10,0);
- myObject.transform.matrix3D.appendRotation(1, Vector3D.Y_AXIS);
- myObject.transform.matrix3D.appendTranslation(-10,-10,0);
- ```
-
- @param degrees The degree of the rotation.
- @param axis The axis or direction of rotation. The usual axes are the
- `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
- `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one.
- @param pivotPoint A point that determines the center of an object's rotation.
- The default pivot point for an object is its registration point.
-
-
-
-
-
-
-
-
- Appends an incremental scale change along the x, y, and z axes to a Matrix3D
- object. When the Matrix3D object is applied to a display object, the matrix
- performs the scale changes after other transformations in the Matrix3D object.
- The default scale factor is (1.0, 1.0, 1.0).
-
- The scale is defined as a set of three incremental changes along the three axes
- (x,y,z). You can multiply each axis with a different number. When the scale
- changes are applied to a display object, the object's size increases or decreases.
- For example, setting the x, y, and z axes to two doubles the size of the object,
- while setting the axes to 0.5 halves the size. To make sure that the scale
- transformation only affects a specific axis, set the other parameters to one. A
- parameter of one means no scale change along the specific axis.
-
- The `appendScale()` method can be used for resizing as well as for managing
- distortions, such as stretch or contract of a display object, or for zooming in
- and out on a location. Scale transformations are automatically performed during a
- display object's rotation and translation.
-
- The order of transformation matters. A resizing followed by a translation
- transformation produces a different effect than a translation followed by a
- resizing transformation.
-
- @param xScale A multiplier used to scale the object along the x axis.
- @param yScale A multiplier used to scale the object along the y axis.
- @param zScale A multiplier used to scale the object along the z axis.
-
-
-
-
-
-
-
-
- Appends an incremental translation, a repositioning along the x, y, and z axes,
- to a Matrix3D object. When the Matrix3D object is applied to a display object,
- the matrix performs the translation changes after other transformations in the
- Matrix3D object.
-
- The translation is defined as a set of three incremental changes along the
- three axes (x,y,z). When the transformation is applied to a display object, the
- display object moves from it current location along the x, y, and z axes as
- specified by the parameters. To make sure that the translation only affects a
- specific axis, set the other parameters to zero. A zero parameter means no change
- along the specific axis.
-
- The translation changes are not absolute. They are relative to the current
- position and orientation of the matrix. To make an absolute change to the
- transformation matrix, use the recompose() method. The order of transformation
- also matters. A translation followed by a rotation transformation produces a
- different effect than a rotation followed by a translation.
-
- @param x An incremental translation along the x axis.
- @param y An incremental translation along the y axis.
- @param z An incremental translation along the z axis.
-
-
-
- Returns a new Matrix3D object that is an exact copy of the current Matrix3D object.
-
- @returns A new Matrix3D object that is an exact copy of the current Matrix3D
- object.
-
-
-
-
-
-
-
- Copies a Vector3D object into specific column of the calling Matrix3D object.
-
- @param column The destination column of the copy.
- @param vector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
-
- Copies specific column of the calling Matrix3D object into the Vector3D object.
-
- @param column The column from which to copy the data.
- @param vector3D The destination Vector3D object of the copy.
-
-
-
-
-
-
- Copies all of the matrix data from the source Matrix3D object into the calling
- Matrix3D object.
-
- @param sourceMatrix3D The Matrix3D object from which to copy the data.
-
-
-
-
-
-
-
-
- { transpose : false, index : 0 }
- Copies all of the vector data from the source vector object into the calling
- Matrix3D object. The optional `index` parameter allows you to select any starting
- slot in the vector.
-
- @param vector The vector object from which to copy the data.
- @param index
- @param transpose
-
-
-
-
-
-
-
-
- { transpose : false, index : 0 }
- Copies all of the matrix data from the calling Matrix3D object into the
- provided vector. The optional index parameter allows you to select any target
- starting slot in the vector.
-
- @param vector The vector object to which to copy the data.
- @param index
- @param transpose
-
-
-
-
-
-
-
- Copies a Vector3D object into specific row of the calling Matrix3D object.
-
- @param row The row from which to copy the data to.
- @param vector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
-
- Copies specific row of the calling Matrix3D object into the Vector3D object.
-
- @param row The row from which to copy the data from.
- @param vector3D The Vector3D object to copy the data into.
-
-
-
-
-
-
- @param other
-
-
-
-
-
-
- { orientationStyle : EULER_ANGLES }
- Returns the transformation matrix's translation, rotation, and scale settings as
- a Vector of three Vector3D objects. The first Vector3D object holds the
- translation elements. The second Vector3D object holds the rotation elements.
- The third Vector3D object holds the scale elements.
-
- Some Matrix3D methods, such as the `interpolateTo()` method, automatically
- decompose and recompose the matrix to perform their transformation.
-
- To modify the matrix's transformation with an absolute parent frame of reference,
- retrieve the settings with the `decompose()` method and make the appropriate
- changes. You can then set the Matrix3D object to the modified transformation
- using the `recompose()` method.
-
- The `decompose()` method's parameter specifies the orientation style that is
- meant to be used for the transformation. The default orientation is `eulerAngles`,
- which defines the orientation with three separate angles of rotation for each
- axis. The rotations occur consecutively and do not change the axis of each other.
- The display object's axis rotation properties perform Euler Angles orientation
- style transformation. The other orientation style options are `axisAngle` and
- `quaternion`. The Axis Angle orientation uses a combination of an axis and an
- angle to determine the orientation. The axis around which the object is rotated
- is a unit vector that represents a direction. The angle represents the magnitude
- of the rotation about the vector. The direction also determines where a display
- object is facing and the angle determines which way is up. The `appendRotation()`
- and `prependRotation()` methods use the Axis Angle orientation. The `quaternion`
- orientation uses complex numbers and the fourth element of a vector. The three
- axes of rotation (x,y,z) and an angle of rotation (w) represent the orientation.
- The `interpolate()` method uses quaternion.
-
- @param orientationStyle An optional parameter that determines the orientation
- style used for the matrix transformation. The three types of orientation style
- are `eulerAngles` (constant `EULER_ANGLES`), `axisAngle` (constant `AXIS_ANGLE`),
- and `quaternion` (constant `QUATERNION`). For additional information on the
- different orientation style, see the geom.Orientation3D class.
- @returns A Vector of three Vector3D objects, each holding the translation,
- rotation, and scale settings, respectively.
-
-
-
-
-
-
- Uses the transformation matrix without its translation elements to transform a
- Vector3D object from one space coordinate to another. The returned Vector3D
- object holds the new coordinates after the rotation and scaling transformations
- have been applied. If the `deltaTransformVector()` method applies a matrix that
- only contains a translation transformation, the returned Vector3D is the same as
- the original Vector3D object.
-
- You can use the `deltaTransformVector()` method to have a display object in one
- coordinate space respond to the rotation transformation of a second display
- object. The object does not copy the rotation; it only changes its position to
- reflect the changes in the rotation. For example, to use the display.Graphics
- API for drawing a rotating 3D display object, you must map the object's rotating
- coordinates to a 2D point. First, retrieve the object's 3D coordinates after each
- rotation, using the `deltaTransformVector()` method. Next, apply the display
- object's `local3DToGlobal()` method to translate the 3D coordinates to 2D points.
- You can then use the 2D points to draw the rotating 3D object.
-
- **Note:** This method automatically sets the `w` component of the passed Vector3D
- to 0.0.
-
- @param v A Vector3D object holding the coordinates that are going to be
- transformed.
- @returns Vector3D A Vector3D object with the transformed coordinates.
-
-
-
- Converts the current matrix to an identity or unit matrix. An identity matrix has
- a value of one for the elements on the main diagonal and a value of zero for all
- other elements. The result is a matrix where the rawData value is
- 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 and the rotation setting is set to
- `Vector3D(0,0,0)`, the position or translation setting is set to `Vector3D(0,0,0)`,
- and the scale is set to `Vector3D(1,1,1)`. Here is a representation of an
- identity matrix.
-
- 
-
- An object transformed by applying an identity matrix performs no transformation.
- In other words, if a matrix is multiplied by an identity matrix, the result is a
- matrix that is the same as (identical to) the original matrix.
-
-
-
-
-
-
-
- Interpolates this matrix towards the translation, rotation, and scale
- transformations of the target matrix.
-
- The `interpolateTo()` method avoids the unwanted results that can occur when
- using methods such as the display object's axis rotation properties. The
- `interpolateTo()` method invalidates the cached value of the rotation property of
- the display object and converts the orientation elements of the display object's
- matrix to a quaternion before interpolation. This method guarantees the shortest,
- most efficient path for the rotation. It also produces a smooth, gimbal-lock-free
- rotation. A gimbal lock can occur when using Euler Angles, where each axis is
- handled independently. During the rotation around two or more axes, the axes can
- become aligned, leading to unexpected results. Quaternion rotation avoids the
- gimbal lock.
-
- **Note:** In case of interpolation, the scaling value of the matrix will reset and
- the matrix will be normalized.
-
- Consecutive calls to the `interpolateTo()` method can produce the effect of a
- display object starting quickly and then slowly approaching another display
- object. For example, if the percent parameter is set to 0.1, the display object
- moves ten percent toward the target object specified by the `toMat` parameter.
- On subsequent calls or in subsequent frames, the object moves ten percent of the
- remaining 90 percent, then ten percent of the remaining distance, and continues
- until it reaches the target.
-
- @param toMat The target Matrix3D object.
- @param percent A value between 0 and 1 that determines the location of the
- display object relative to the target. The closer the value is to 1.0, the closer
- the display object is to its current position. The closer the value is to 0, the
- closer the display object is to the target.
-
-
-
- Inverts the current matrix. An inverted matrix is the same size as the original
- but performs the opposite transformation of the original matrix. For example, if
- the original matrix has an object rotate around the x axis in one direction, the
- inverse of the matrix will have the object rotate around the axis in the opposite
- direction. Applying an inverted matrix to an object undoes the transformation
- performed by the original matrix. If a matrix is multiplied by its inverse
- matrix, the result is an identity matrix.
-
- An inverse of a matrix can be used to divide one matrix by another. The way to
- divide matrix A by matrix B is to multiply matrix A by the inverse of matrix B.
- The inverse matrix can also be used with a camera space. When the camera moves in
- the world space, the object in the world needs to move in the opposite direction
- to transform from the world view to the camera or view space. For example, if the
- camera moves closer, the objects becomes bigger. In other words, if the camera
- moves down the world z axis, the object moves up world z axis.
-
- The `invert()` method replaces the current matrix with an inverted matrix. If you
- want to invert a matrix without altering the current matrix, first copy the
- current matrix by using the clone() method and then apply the `invert()` method
- to the copy.
-
- The Matrix3D object must be invertible.
-
- @returns Returns `true` if the matrix was successfully inverted.
-
-
-
-
-
-
-
-
- { up : null, at : null }
- Rotates the display object so that it faces a specified position. This method
- allows for an in-place modification to the orientation. The forward direction
- vector of the display object (the at Vector3D object) points at the specified
- world-relative position. The display object's up direction is specified with the
- up Vector3D object.
-
- The `pointAt()` method invalidates the cached rotation property value of the
- display object. The method decomposes the display object's matrix and modifies the
- rotation elements to have the object turn to the specified position. It then
- recomposes (updates) the display object's matrix, which performs the
- transformation. If the object is pointing at a moving target, such as a moving
- object's position, then with each subsequent call, the method has the object
- rotate toward the moving target.
-
- **Note:** If you use the `Matrix3D.pointAt()` method without setting the
- optional parameters, a target object does not face the specified world-relative
- position by default. You need to set the values for at to the -y-axis (0,-1,0)
- and up to the -z axis (0,0,-1).
-
- @param pos The world-relative position of the target object. World-relative
- defines the object's transformation relative to the world space and coordinates,
- where all objects are positioned.
- @param at The object-relative vector that defines where the display object is
- pointing. Object-relative defines the object's transformation relative to the
- object space, the object's own frame of reference and coordinate system. Default
- value is the +y axis (0,1,0).
- @param up The object-relative vector that defines "up" for the display object.
- If the object is drawn looking down from above, the +z axis is its "up" vector.
- Object-relative defines the object's transformation relative to the object space,
- the object's own frame of reference and coordinate system. Default value is the
- +z-axis (0,0,1).
-
-
-
-
-
-
- Prepends a matrix by multiplying the current Matrix3D object by another Matrix3D
- object. The result combines both matrix transformations.
-
- Matrix multiplication is different from matrix addition. Matrix multiplication is
- not commutative. In other words, A times B is not equal to B times A. With the
- `prepend()` method, the multiplication happens from the right side, meaning the `rhs`
- Matrix3D object is on the right side of the multiplication operator.
-
- ```haxe
- thisMatrix = thisMatrix * rhs
- ```
-
- The modifications made by `prepend()` method are object-space-relative. In other
- words, they are always relative to the object's initial frame of reference.
-
- The `prepend()` method replaces the current matrix with the prepended matrix. If
- you want to prepend two matrixes without altering the current matrix, first copy
- the current matrix by using the `clone()` method and then apply the `prepend()`
- method to the copy.
-
- @param rhs A right-hand-side of the matrix by which the current Matrix3D is
- multiplied.
-
-
-
-
-
-
-
-
- { pivotPoint : null }
- Prepends an incremental rotation to a Matrix3D object. When the Matrix3D object is
- applied to a display object, the matrix performs the rotation before other
- transformations in the Matrix3D object.
-
- The display object's rotation is defined by an axis, an incremental degree of
- rotation around the axis, and an optional pivot point for the center of the
- object's rotation. The axis can be any general direction. The common axes are the
- `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
- `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y
- axis is called yaw. The rotation about the x axis is called pitch. The rotation
- about the z axis is called roll.
-
- The order of transformation matters. A rotation followed by a translation
- transformation produces a different effect than a translation followed by a
- rotation.
-
- The rotation effect is not absolute. The effect is object-relative, relative to
- the frame of reference of the original position and orientation. To make an
- absolute change to the transformation, use the `recompose()` method.
-
- When the `prependRotation()` method's transformation is applied to a Matrix3D
- object of a display object, the cached rotation property values of the display
- object are invalidated.
-
- One way to have a display object rotate around a specific point relative to its
- location is to set the translation of the object to the specified point, rotate
- the object using the `prependRotation()` method, and translate the object back to
- the original position. In the following example, the `myObject` 3D display object
- makes a y-axis rotation around the coordinate (10,10,0).
-
- ```haxe
- myObject.z = 1;
- myObject.transform.matrix3D.prependTranslation(10,10,0);
- myObject.transform.matrix3D.prependRotation(1, Vector3D.Y_AXIS);
- myObject.transform.matrix3D.prependTranslation(-10,-10,0);
- ```
-
- @param degrees The degree of rotation.
- @param axis The axis or direction of rotation. The usual axes are the
- `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
- `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one.
- @param pivotPoint A point that determines the center of rotation. The default
- pivot point for an object is its registration point.
-
-
-
-
-
-
-
-
- Prepends an incremental scale change along the x, y, and z axes to a Matrix3D
- object. When the Matrix3D object is applied to a display object, the matrix
- performs the scale changes before other transformations in the Matrix3D
- object. The changes are object-relative, relative to the frame of reference of
- the original position and orientation. The default scale factor is (1.0, 1.0, 1.0).
-
- The scale is defined as a set of three incremental changes along the three
- axes (x,y,z). You can multiply each axis with a different number. When the
- scale changes are applied to a display object, the object's size increases or
- decreases. For example, setting the x, y, and z axes to two doubles the size of
- the object, while setting the axes to 0.5 halves the size. To make sure that the
- scale transformation only affects a specific axis, set the other parameters to
- one. A parameter of one means no scale change along the specific axis.
-
- The `prependScale()` method can be used for resizing as well as for managing
- distortions, such as stretch or contract of a display object. It can also be used
- for zooming in and out on a location. Scale transformations are automatically
- performed during a display object's rotation and translation.
-
- The order of transformation matters. A resizing followed by a translation
- transformation produces a different effect than a translation followed by a
- resizing transformation.
-
- @param xScale A multiplier used to scale the object along the x axis.
- @param yScale A multiplier used to scale the object along the y axis.
- @param zScale A multiplier used to scale the object along the z axis.
-
-
-
-
-
-
-
-
- Prepends an incremental translation, a repositioning along the x, y, and z axes,
- to a Matrix3D object. When the Matrix3D object is applied to a display object,
- the matrix performs the translation changes before other transformations in the
- Matrix3D object.
-
- Translation specifies the distance the display object moves from its current
- location along the x, y, and z axes. The `prependTranslation()` method sets the
- translation as a set of three incremental changes along the three axes (x,y,z).
- To have a translation change only a specific axis, set the other parameters to
- zero. A zero parameter means no change along the specific axis.
-
- The translation changes are not absolute. The effect is object-relative,
- relative to the frame of reference of the original position and orientation.
- To make an absolute change to the transformation matrix, use the `recompose()`
- method. The order of transformation also matters. A translation followed by a
- rotation transformation produces a different effect than a rotation followed by
- a translation transformation. When prependTranslation() is used, the display
- object continues to move in the direction it is facing, regardless of the other
- transformations. For example, if a display object was facing toward a positive x
- axis, it continues to move in the direction specified by the
- `prependTranslation()` method, regardless of how the object has been rotated. To
- make translation changes occur after other transformations, use the
- `appendTranslation()` method.
-
- @param x An incremental translation along the x axis.
- @param y An incremental translation along the y axis.
- @param z An incremental translation along the z axis.
-
-
-
-
-
-
-
- { orientationStyle : EULER_ANGLES }
- Sets the transformation matrix's translation, rotation, and scale settings. Unlike
- the incremental changes made by the display object's rotation properties or
- Matrix3D object's rotation methods, the changes made by `recompose()` method are
- absolute changes. The `recompose()` method overwrites the matrix's transformation.
-
- To modify the matrix's transformation with an absolute parent frame of reference,
- retrieve the settings with the decompose() method and make the appropriate
- changes. You can then set the Matrix3D object to the modified transformation
- using the `recompose()` method.
-
- The `recompose()` method's parameter specifies the orientation style that was
- used for the transformation. The default orientation is eulerAngles, which defines
- the orientation with three separate angles of rotation for each axis. The
- rotations occur consecutively and do not change the axis of each other. The
- display object's axis rotation properties perform Euler Angles orientation style
- transformation. The other orientation style options are axisAngle and quaternion.
- The Axis Angle orientation uses the combination of an axis and an angle to
- determine the orientation. The axis around which the object is rotated is a unit
- vector that represents a direction. The angle represents the magnitude of the
- rotation about the vector. The direction also determines where a display object
- is facing and the angle determines which way is up. The `appendRotation()` and
- `prependRotation()` methods use the Axis Angle orientation. The quaternion
- orientation uses complex numbers and the fourth element of a vector. An
- orientation is represented by the three axes of rotation (x,y,z) and an angle of
- rotation (w). The interpolate() method uses quaternion.
-
- @param components A Vector of three Vector3D objects that replace the Matrix3D
- object's translation, rotation, and scale elements.
- @param orientationStyle An optional parameter that determines the orientation
- style used for the matrix transformation. The three types of orientation styles
- are eulerAngles (constant `EULER_ANGLES`), axisAngle (constant `AXIS_ANGLE`), and
- quaternion (constant `QUATERNION`). For additional information on the different
- orientation style, see the geom.Orientation3D class.
- @returns Returns `false` if any of the Vector3D elements of the components
- Vector do not exist or are `null`.
-
-
-
-
-
-
- Uses the transformation matrix to transform a Vector3D object from one space
- coordinate to another. The returned Vector3D object holds the new coordinates
- after the transformation. All the matrix transformations including translation
- are applied to the Vector3D object.
-
- If the result of the `transformVector()` method was applied to the position of a
- display object, only the display object's position changes. The display object's
- rotation and scale elements remain the same.
-
- **Note:** This method automatically sets the w component of the passed Vector3D
- to 1.0.
-
- @param v A Vector3D object holding the coordinates that are going to be
- transformed.
- @returns A Vector3D object with the transformed coordinates.
-
-
-
-
-
-
-
- Uses the transformation matrix to transform a Vector of Numbers from one
- coordinate space to another. The `tranformVectors()` method reads every three
- Numbers in the `vin` Vector object as a 3D coordinate (x,y,z) and places a
- transformed 3D coordinate in the `vout` Vector object. All the matrix
- transformations including translation are applied to the `vin` Vector object.
- You can use the `transformVectors()` method to render and transform a 3D object
- as a mesh. A mesh is a collection of vertices that defines the shape of the object.
-
- @param vin A Vector of Floats, where every three Numbers are a 3D coordinate
- (x,y,z) that is going to be transformed.
- @param vout A Vector of Floats, where every three Numbers are a 3D
- transformed coordinate (x,y,z).
-
-
-
- Converts the current Matrix3D object to a matrix where the rows and columns are
- swapped. For example, if the current Matrix3D object's rawData contains the
- following 16 numbers, `1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34`, the
- `transpose()` method reads every four elements as a row and turns the rows into
- columns. The result is a matrix with the rawData of:
- `1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34`.
-
- The `transpose()` method replaces the current matrix with a transposed matrix.
- If you want to transpose a matrix without altering the current matrix, first copy
- the current matrix by using the `clone()` method and then apply the `transpose()`
- method to the copy.
-
- An orthogonal matrix is a square matrix whose transpose is equal to its inverse.
-
-
-
-
-
-
-
-
-
-
-
-
- { v : null }
-
- The Matrix3D class represents a transformation matrix that determines the position and
- orientation of a three-dimensional (3D) display object. The matrix can perform
- transformation functions including translation (repositioning along the x, y, and z
- axes), rotation, and scaling (resizing). The Matrix3D class can also perform
- perspective projection, which maps points from the 3D coordinate space to a
- two-dimensional (2D) view.
-
- A single matrix can combine multiple transformations and apply them at once to a 3D
- display object. For example, a matrix can be applied to 3D coordinates to perform a
- rotation followed by a translation.
-
- When you explicitly set the `z` property or any of the rotation or scaling properties
- of a display object, a corresponding Matrix3D object is automatically created.
-
- You can access a 3D display object's Matrix3D object through the `transform.matrix3d`
- property. 2D objects do not have a Matrix3D object.
-
- The value of the `z` property of a 2D object is zero and the value of its `matrix3D`
- property is `null`.
-
- **Note:** If the same Matrix3D object is assigned to two different display objects, a
- runtime error is thrown.
-
- The Matrix3D class uses a 4x4 square matrix: a table of four rows and columns of
- numbers that hold the data for the transformation. The first three rows of the matrix
- hold data for each 3D axis (x,y,z). The translation information is in the last column.
- The orientation and scaling data are in the first three columns. The scaling factors
- are the diagonal numbers in the first three columns. Here is a representation of
- Matrix3D elements:
-
- 
-
- You don't need to understand matrix mathematics to use the Matrix3D class. It offers
- specific methods that simplify the task of transformation and projection, such as the
- `appendTranslation()`, `appendRotation()`, or `interpolateTo()` methods. You also can
- use the `decompose()` and `recompose()` methods or the `rawData` property to access
- the underlying matrix elements.
-
- Display objects cache their axis rotation properties to have separate rotation for
- each axis and to manage the different combinations of rotations. When a method of a
- Matrix3D object is called to transform a display object, the rotation cache of the
- object is invalidated.
-
-
- "tags=\"haxe,release\""
-
-
-
@@ -197301,388 +244151,6 @@
openfl.geom.ColorTransform
-
-
-
- The x axis defined as a Vector3D object with coordinates (1,0,0).
-
-
-
- The y axis defined as a Vector3D object with coordinates (0,1,0).
-
-
-
- The z axis defined as a Vector3D object with coordinates (0,0,1).
-
-
-
-
-
-
-
- Returns the angle in radians between two vectors. The returned angle is the
- smallest radian the first Vector3D object rotates until it aligns with the
- second Vector3D object.
-
- The `angleBetween()` method is a static method. You can use it directly as a method
- of the Vector3D class.
-
- To convert a degree to a radian, you can use the following formula:
-
- ```haxe
- radian = Math.PI/180 * degree
- ```
-
- @param a The first Vector3D object.
- @param b The second Vector3D object.
- @returns The angle between two Vector3D objects.
-
-
-
-
-
-
-
- Returns the distance between two Vector3D objects. The `distance()` method is a
- static method. You can use it directly as a method of the Vector3D class to get
- the Euclidean distance between two three-dimensional points.
-
- @param pt1 A Vector3D object as the first three-dimensional point.
- @param pt2 A Vector3D object as the second three-dimensional point.
- @returns The distance between two Vector3D objects.
-
-
-
-
-
-
- The length, magnitude, of the current Vector3D object from the origin (0,0,0) to
- the object's x, y, and z coordinates. The `w` property is ignored. A unit vector has
- a length or magnitude of one.
-
-
-
- The square of the length of the current Vector3D object, calculated using the `x`,
- `y`, and `z` properties. The `w` property is ignored. Use the `lengthSquared()`
- method whenever possible instead of the slower `Math.sqrt()` method call of the
- `Vector3D.length()` method.
-
-
-
- The fourth element of a Vector3D object (in addition to the `x`, `y`, and `z`
- properties) can hold data such as the angle of rotation. The default value is 0.
-
- Quaternion notation employs an angle as the fourth element in its calculation of
- three-dimensional rotation. The w property can be used to define the angle of
- rotation about the Vector3D object. The combination of the rotation angle and the
- coordinates (x,y,z) determines the display object's orientation.
-
- In addition, the w property can be used as a perspective warp factor for a
- projected three-dimensional position or as a projection transform value in
- representing a three-dimensional coordinate projected into the two-dimensional
- space. For example, you can create a projection matrix using the `Matrix3D.rawData`
- property, that, when applied to a Vector3D object, produces a transform value in
- the Vector3D object's fourth element (the `w` property). Dividing the Vector3D
- object's other elements by the transform value then produces a projected Vector3D
- object. You can use the `Vector3D.project()` method to divide the first three
- elements of a Vector3D object by its fourth element.
-
-
-
- The first element of a Vector3D object, such as the x coordinate of a point in
- the three-dimensional space. The default value is 0.
-
-
-
- The second element of a Vector3D object, such as the y coordinate of a point in
- the three-dimensional space. The default value is 0.
-
-
-
- The third element of a Vector3D object, such as the z coordinate of a point in
- three-dimensional space. The default value is 0.
-
-
-
-
-
-
- Adds the value of the x, y, and z elements of the current Vector3D object to the
- values of the x, y, and z elements of another Vector3D object. The `add()` method
- does not change the current Vector3D object. Instead, it returns a new Vector3D
- object with the new values.
-
- The result of adding two vectors together is a resultant vector. One way to
- visualize the result is by drawing a vector from the origin or tail of the first
- vector to the end or head of the second vector. The resultant vector is the
- distance between the origin point of the first vector and the end point of the
- second vector.
-
- 
-
- @param a A Vector3D object to be added to the current Vector3D object.
- @returns A Vector3D object that is the result of adding the current Vector3D
- object to another Vector3D object.
-
-
-
- Returns a new Vector3D object that is an exact copy of the current Vector3D object.
-
- @returns A new Vector3D object that is a copy of the current Vector3D object.
-
-
-
-
-
-
- Copies all of vector data from the source Vector3D object into the calling Vector3D
- object.
-
- @param sourceVector3D The Vector3D object from which to copy the data.
-
-
-
-
-
-
- Returns a new Vector3D object that is perpendicular (at a right angle) to the
- current Vector3D and another Vector3D object. If the returned Vector3D object's
- coordinates are (0,0,0), then the two Vector3D objects are parallel to each other.
-
- 
-
- You can use the normalized cross product of two vertices of a polygon surface with
- the normalized vector of the camera or eye viewpoint to get a dot product. The
- value of the dot product can identify whether a surface of a three-dimensional
- object is hidden from the viewpoint.
-
- @param a A second Vector3D object.
- @returns A new Vector3D object that is perpendicular to the current Vector3D
- object and the Vector3D object specified as the parameter.
-
-
-
-
-
-
- Decrements the value of the x, y, and z elements of the current Vector3D object by
- the values of the x, y, and z elements of specified Vector3D object. Unlike the
- `Vector3D.subtract()` method, the `decrementBy()` method changes the current
- Vector3D object and does not return a new Vector3D object.
-
- @param a The Vector3D object containing the values to subtract from the current
- Vector3D object.
-
-
-
-
-
-
- If the current Vector3D object and the one specified as the parameter are unit
- vertices, this method returns the cosine of the angle between the two vertices.
- Unit vertices are vertices that point to the same direction but their length is
- one. They remove the length of the vector as a factor in the result. You can use
- the `normalize()` method to convert a vector to a unit vector.
-
- The `dotProduct()` method finds the angle between two vertices. It is also used in
- backface culling or lighting calculations. Backface culling is a procedure for
- determining which surfaces are hidden from the viewpoint. You can use the
- normalized vertices from the camera, or eye, viewpoint and the cross product of
- the vertices of a polygon surface to get the dot product. If the dot product is less
- than zero, then the surface is facing the camera or the viewer. If the two unit
- vertices are perpendicular to each other, they are orthogonal and the dot product
- is zero. If the two vertices are parallel to each other, the dot product is one.
-
- @param a The second Vector3D object.
- @returns A scalar which is the dot product of the current Vector3D object and
- the specified Vector3D object.
-
-
-
-
-
-
-
- { allFour : false }
- Determines whether two Vector3D objects are equal by comparing the x, y, and z
- elements of the current Vector3D object with a specified Vector3D object. If the
- values of these elements are the same, the two Vector3D objects are equal. If the
- second optional parameter is set to `true`, all four elements of the Vector3D
- objects, including the `w` property, are compared.
-
- @param toCompare The Vector3D object to be compared with the current Vector3D
- object.
- @param allFour An optional parameter that specifies whether the `w` property of
- the Vector3D objects is used in the comparison.
- @returns A value of `true` if the specified Vector3D object is equal to the current Vector3D object; `false` if it is not equal.
-
-
-
-
-
-
- Increments the value of the x, y, and z elements of the current Vector3D object by
- the values of the x, y, and z elements of a specified Vector3D object. Unlike the
- `Vector3D.add()` method, the `incrementBy()` method changes the current Vector3D
- object and does not return a new Vector3D object.
-
- @param a The Vector3D object to be added to the current Vector3D object.
-
-
-
-
-
-
-
-
- { allFour : false }
- Compares the elements of the current Vector3D object with the elements of a
- specified Vector3D object to determine whether they are nearly equal. The two
- Vector3D objects are nearly equal if the value of all the elements of the two
- vertices are equal, or the result of the comparison is within the tolerance range.
- The difference between two elements must be less than the number specified as the
- tolerance parameter. If the third optional parameter is set to true, all four
- elements of the Vector3D objects, including the w property, are compared.
- Otherwise, only the x, y, and z elements are included in the comparison.
-
- @param toCompare The Vector3D object to be compared with the current Vector3D
- object.
- @param tolerance A number determining the tolerance factor. If the difference
- between the values of the Vector3D element specified in the toCompare parameter
- and the current Vector3D element is less than the tolerance number, the two values
- are considered nearly equal.
- @param allFour An optional parameter that specifies whether the `w` property of
- the Vector3D objects is used in the comparison.
- @returns A value of `true` if the specified Vector3D object is nearly equal to the current Vector3D object; `false` if it is not equal.
-
-
-
- Sets the current Vector3D object to its inverse. The inverse object is also
- considered the opposite of the original object. The value of the `x`, `y`, and `z`
- properties of the current Vector3D object is changed to -x, -y, and -z.
-
-
-
- Converts a Vector3D object to a unit vector by dividing the first three elements
- (x, y, z) by the length of the vector. Unit vertices are vertices that have a
- direction but their `length` is one. They simplify vector calculations by removing `length` as a factor.
-
- @returns The length of the current Vector3D object.
-
-
-
- Divides the value of the `x`, `y`, and `z` properties of the current Vector3D
- object by the value of its `w` property.
-
- If the current Vector3D object is the result of multiplying a Vector3D object by a
- projection Matrix3D object, the `w` property can hold the transform value. The
- `project()` method then can complete the projection by dividing the elements by the
- `w` property. Use the Matrix3D.rawData property to create a projection Matrix3D
- object.
-
-
-
-
-
-
- Scales the current Vector3D object by a scalar, a magnitude. The Vector3D object's
- x, y, and z elements are multiplied by the scalar number specified in the
- parameter. For example, if the vector is scaled by ten, the result is a vector
- that is ten times longer. The scalar can also change the direction of the vector.
- Multiplying the vector by a negative number reverses its direction.
-
- @param s A multiplier (scalar) used to scale a Vector3D object.
-
-
-
-
-
-
-
-
- Sets the members of Vector3D to the specified values
-
- @param xa the values to set the vector to.
- @param ya
- @param za
-
-
-
-
-
-
- Subtracts the value of the x, y, and z elements of the current Vector3D object
- from the values of the x, y, and z elements of another Vector3D object. The
- `subtract()` method does not change the current Vector3D object. Instead, this
- method returns a new Vector3D object with the new values.
-
- @param a The Vector3D object to be subtracted from the current Vector3D object.
- @returns A new Vector3D object that is the difference between the current
- Vector3D and the specified Vector3D object.
-
-
-
- Returns a string representation of the current Vector3D object. The string contains
- the values of the x, y, and z properties.
-
- @returns A string containing the values of the x, y, and z properties.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { w : 0, z : 0, y : 0, x : 0 }
- Creates an instance of a Vector3D object. If you do not specify a parameter for
- the constructor, a Vector3D object is created with the elements (0,0,0,0).
-
- @param x The first element, such as the x coordinate.
- @param y The second element, such as the y coordinate.
- @param z The third element, such as the z coordinate.
- @param w An optional element for additional data such as the angle of rotation.
-
- The Vector3D class represents a point or a location in the three-dimensional space using
- the Cartesian coordinates x, y, and z. As in a two-dimensional space, the `x` property
- represents the horizontal axis and the `y` property represents the vertical axis. In
- three-dimensional space, the `z` property represents depth. The value of the `x` property increases as the object moves to the right. The value of the `y` property
- increases as the object moves down. The `z` property increases as the object moves
- farther from the point of view. Using perspective projection and scaling, the object is
- seen to be bigger when near and smaller when farther away from the screen. As in a
- right-handed three-dimensional coordinate system, the positive z-axis points away from
- the viewer and the value of the `z` property increases as the object moves away from the
- viewer's eye. The origin point (0,0,0) of the global space is the upper-left corner of
- the stage.
-
- 
-
- The Vector3D class can also represent a direction, an arrow pointing from the origin of
- the coordinates, such as (0,0,0), to an endpoint; or a floating-point component of an
- RGB (Red, Green, Blue) color model.
-
- Quaternion notation introduces a fourth element, the `w` property, which provides
- additional orientation information. For example, the `w` property can define an angle
- of rotation of a Vector3D object. The combination of the angle of rotation and the
- coordinates `x`, `y`, and `z` can determine the display object's orientation. Here is
- a representation of Vector3D elements in matrix notation:
-
- 
-
-
- "tags=\"haxe,release\""
-
-
-
@@ -198514,6 +244982,7 @@
`addEventListener()` method on the display object container that contains
the Video object.]]>
+ "tags=\"haxe,release\""openfl.display3D.textures.TextureBase
@@ -200069,6 +246538,7 @@
to connect to a server outside the caller's security
sandbox.]]>
+ "tags=\"haxe,release\""
@@ -201314,6 +247784,7 @@
The value of the status code property will be
`"DRM.encryptedFLV"`.]]>
+ openfl.media.SoundMixer"tags=\"haxe,release\""
@@ -213756,7 +260227,10 @@
-
+
+
+
+
@@ -213800,7 +260274,10 @@
-
+
+
+
+
@@ -216290,6 +262767,147 @@
+
+
+
+
+ The total number of times the timer has fired since it started at zero. If
+ the timer has been reset, only the fires since the reset are counted.
+
+
+
+ The delay, in milliseconds, between timer events. If you set the delay
+ interval while the timer is running, the timer will restart at the same
+ `repeatCount` iteration.
+
+ **Note:** A `delay` lower than 20 milliseconds is not
+ recommended. Timer frequency is limited to 60 frames per second, meaning a
+ delay lower than 16.6 milliseconds causes runtime problems.
+
+ @throws Error Throws an exception if the delay specified is negative or
+ not a finite number.
+
+
+
+ The total number of times the timer is set to run. If the repeat count is
+ set to 0, the timer continues forever or until the `stop()`
+ method is invoked or the program stops. If the repeat count is nonzero,
+ the timer runs the specified number of times. If `repeatCount`
+ is set to a total that is the same or less then `currentCount`
+ the timer stops and will not fire again.
+
+
+
+ The timer's current state; `true` if the timer is running,
+ otherwise `false`.
+
+ <__delay>
+
+
+
+ <__repeatCount>
+
+
+
+ <__timer>
+
+
+
+ <__timerID>
+
+
+
+
+
+ Stops the timer, if it is running, and sets the `currentCount`
+ property back to 0, like the reset button of a stopwatch. Then, when
+ `start()` is called, the timer instance runs for the specified
+ number of repetitions, as set by the `repeatCount` value.
+
+
+
+ Starts the timer, if it is not already running.
+
+
+
+ Stops the timer. When `start()` is called after
+ `stop()`, the timer instance runs for the _remaining_
+ number of repetitions, as set by the `repeatCount` property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { repeatCount : 0 }
+ Constructs a new Timer object with the specified `delay` and
+ `repeatCount` states.
+
+ The timer does not start automatically; you must call the
+ `start()` method to start it.
+
+ @param delay The delay between timer events, in milliseconds. A
+ `delay` lower than 20 milliseconds is not
+ recommended. Timer frequency is limited to 60 frames
+ per second, meaning a delay lower than 16.6
+ milliseconds causes runtime problems.
+ @param repeatCount Specifies the number of repetitions. If zero, the timer
+ repeats infinitely. If nonzero, the timer runs the
+ specified number of times and then stops.
+ @throws Error if the delay specified is negative or not a finite number
+
+ The Timer class is the interface to timers, which let you run code on a
+ specified time sequence. Use the `start()` method to start a
+ timer. Add an event listener for the `timer` event to set up
+ code to be run on the timer interval.
+
+ You can create Timer objects to run once or repeat at specified
+ intervals to execute code on a schedule. Depending on the SWF file's
+ framerate or the runtime environment(available memory and other factors),
+ the runtime may dispatch events at slightly offset intervals. For example,
+ if a SWF file is set to play at 10 frames per second(fps), which is 100
+ millisecond intervals, but your timer is set to fire an event at 80
+ milliseconds, the event will be dispatched close to the 100 millisecond
+ interval. Memory-intensive scripts may also offset the events.
+
+ @event timer Dispatched whenever a Timer object reaches an interval
+ specified according to the `Timer.delay`
+ property.
+ @event timerComplete Dispatched whenever it has completed the number of
+ requests set by `Timer.repeatCount`.
+
+
+ "tags=\"haxe,release\""
+
+
+
@@ -216349,10 +262967,10 @@
* Triggered after the characters XML has been loaded.
-
+ * Triggered after the character has been entirely loaded.
-
+
@@ -216408,15 +263026,100 @@
* To add a Character script, create a file here: `data/characters/my-char.hx`
+
+
+
+ * Called whenever the game gains focus.
+
+
+
+ * Called whenever the game loses focus.
+
+
+
+
+
+
+
+ * Called whenever the game loses focus.
+ * @param width Width of the game
+ * @param height Height of the game
+
+
+
+ * Called after the screen has been drawn.
+
+
+
+ * Called after the game has been reset.
+
+
+
+ * Called after the game has been started.
+
+
+
+ * Called after the state has been switched.
+
+
+
+
+
+
+ * Called after the game has been updated.
+ *
+ * Aliases: `postUpdate`
+ *
+ * @param elapsed Time elapsed since last frame
+
+
+
+ * Called before the game draws on screen.
+
+
+
+ * Called before the game resets.
+
+
+
+ * Called before the game starts.
+
+
+
+
+
+
+ * Called before the state creates.
+
+
+
+ * Called before the state switches.
+
+
+
+
+
+
+ * Called before the game updates.
+ *
+ * Aliases: `preUpdate`
+
+ * A global script is a special kind of script that runs on everywhere on your mod: menus, game, etc...
+ *
+ * To create one, go to data and create a script named "global", then press F5 in game.
+ *
+ * All flixel signals are automatically binded, as shown below.
+
+ * Triggered after the characters has been created, during PlayState's creation.
-
+ * Triggered at the very end of PlayState's creation
-
+
@@ -216425,14 +263128,14 @@
* Triggered every frame.
* @param elapsed Time elapsed since last frame.
-
+ * Triggered at the end of every frame.
* @param elapsed Time elapsed since last frame.
-
+
@@ -216457,14 +263160,14 @@
* Triggered every countdown.
* @param event Countdown event.
-
+ * Triggered after every countdown.
* @param event Countdown event.
-
+
@@ -216489,14 +263192,14 @@
* Triggered whenever the input system updates.
* @param note Event object with the pressed notes, which allows you to alter which notes are being pressed during this frame, or simply cancel the input update.
-
+ * Triggered after the input system updates.
* @param note Event object with the pressed, justPressed and justReleased notes.
-
+
@@ -216515,7 +263218,7 @@
-
+ * Triggered on substate open.
@@ -216523,7 +263226,7 @@
-
+ * Triggered on substate close.
@@ -216604,6 +263307,15 @@
Returns `FileStat` information for the file or directory specified by
`path`.
+
+
+
+
+
+ Returns the full path of the file or directory specified by `relPath`,
+ which is relative to the current working directory. The path doesn't
+ have to exist.
+
@@ -217014,6 +263726,15 @@
to expire. Returns `true` if the lock is released and `false`
if a time-out occurs.
+
+
+
+ Releases the lock once.
+
+ The thread does not need to own the lock in order to release
+ it. Each call to `release` allows exactly one call to `wait`
+ to execute.
+
@@ -217111,4 +263832,329 @@
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+ 1
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_width>
+ <_height>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { autoScale : true, height : 240, width : 320 }
+
+ * ...
+ * @author Tommy S
+
+
+ "#include \"LibVLC.cpp\""
+
+
+
+
+
+ "LibVLC::create"
+
+
+
+
+
+
+ "setPath"
+
+
+
+
+
+
+ "openMedia"
+
+
+
+
+
+
+ "play"
+
+
+ "play"
+
+
+
+
+
+
+
+ "playInWindow"
+
+
+ "playInWindow"
+
+
+
+
+ "stop"
+
+
+
+ "pause"
+
+
+
+ "resume"
+
+
+
+ "togglePause"
+
+
+
+
+
+
+ "fullscreen"
+
+
+
+
+
+
+ "showMainWindow"
+
+
+
+ "getLength"
+
+
+
+ "getDuration"
+
+
+
+ "getWidth"
+
+
+
+ "getHeight"
+
+
+
+
+
+
+ "getMeta"
+
+
+
+ "isPlaying"
+
+
+
+ "isSeekable"
+
+
+
+
+
+
+ "setVolume"
+
+
+
+ "getVolume"
+
+
+
+ "getTime"
+
+
+
+
+
+
+ "setTime"
+
+
+
+ "getPosition"
+
+
+
+
+
+
+ "setPosition"
+
+
+
+
+
+
+ "useHWacceleration"
+
+
+
+ "getLastError"
+
+
+
+ "getRepeat"
+
+
+
+
+
+
+
+ { repeat : 1 }
+ "setRepeat"
+
+
+
+
+ "getPixelData"
+
+
+
+ "getFPS"
+
+
+
+ "flags"
+
+
+ * ...
+ * @author Tommy S
+
+
+ "]]>
+ "LibVLC.h"
+
+
+ "LibVLC*"
+
+
\ No newline at end of file
diff --git a/pages/funkin/away3d/Flx3DView.html b/pages/funkin/away3d/Flx3DView.html
new file mode 100644
index 00000000..e5def168
--- /dev/null
+++ b/pages/funkin/away3d/Flx3DView.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.away3d.Flx3DView
\ No newline at end of file
diff --git a/pages/funkin/away3d/index.html b/pages/funkin/away3d/index.html
new file mode 100644
index 00000000..d5a573bb
--- /dev/null
+++ b/pages/funkin/away3d/index.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.away3d
\ No newline at end of file
diff --git a/pages/funkin/cutscenes/Cutscene.html b/pages/funkin/cutscenes/Cutscene.html
new file mode 100644
index 00000000..2b36d5dc
--- /dev/null
+++ b/pages/funkin/cutscenes/Cutscene.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.cutscenes.Cutscene
\ No newline at end of file
diff --git a/pages/funkin/cutscenes/MP4Handler.html b/pages/funkin/cutscenes/MP4Handler.html
new file mode 100644
index 00000000..b6a996ff
--- /dev/null
+++ b/pages/funkin/cutscenes/MP4Handler.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.cutscenes.MP4Handler
\ No newline at end of file
diff --git a/pages/funkin/cutscenes/ScriptedCutscene.html b/pages/funkin/cutscenes/ScriptedCutscene.html
new file mode 100644
index 00000000..a619ad0b
--- /dev/null
+++ b/pages/funkin/cutscenes/ScriptedCutscene.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.cutscenes.ScriptedCutscene
\ No newline at end of file
diff --git a/pages/funkin/cutscenes/VideoCutscene.html b/pages/funkin/cutscenes/VideoCutscene.html
new file mode 100644
index 00000000..c1b98b09
--- /dev/null
+++ b/pages/funkin/cutscenes/VideoCutscene.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.cutscenes.VideoCutscene
\ No newline at end of file
diff --git a/pages/funkin/cutscenes/index.html b/pages/funkin/cutscenes/index.html
new file mode 100644
index 00000000..f214feed
--- /dev/null
+++ b/pages/funkin/cutscenes/index.html
@@ -0,0 +1,10 @@
+
+
+
+funkin.cutscenes