diff --git a/README.md b/README.md index 45400ab7..eaa1bbc4 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Sceneform Maintained SDK for Android *app/build.gradle* ```gradle dependencies { - implementation("com.gorisse.thomas.sceneform:sceneform:1.19.3") + implementation("com.gorisse.thomas.sceneform:sceneform:1.19.4") } ``` **[more...](https://thomasgorisse.github.io/sceneform-android-sdk/dependencies)** diff --git a/build.gradle b/build.gradle index 388b5d16..5c6fca4d 100644 --- a/build.gradle +++ b/build.gradle @@ -9,8 +9,8 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:4.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - if (project.hasProperty('mavenCentralRepositoryUsername') && project.hasProperty('mavenCentralRepositoryPassword')) { - classpath 'com.vanniktech:gradle-maven-publish-plugin:0.14.2' + if (project.hasProperty('mavenCentralUsername') && project.hasProperty('mavenCentralPassword')) { + classpath 'com.vanniktech:gradle-maven-publish-plugin:0.17.0' } } } diff --git a/core/build.gradle b/core/build.gradle index 46baeb35..f85da1b0 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -6,8 +6,8 @@ android { // Sceneform requires minSdkVersion >= 24. minSdkVersion 24 targetSdkVersion 30 - versionCode 13 - versionName "1.19.3" + versionCode 14 + versionName "1.19.4" } compileOptions { // Sceneform libraries use language constructs from Java 8. @@ -35,6 +35,6 @@ dependencies { implementation 'com.google.android.material:material:1.3.0' } -if (project.hasProperty('mavenCentralRepositoryUsername') && project.hasProperty('mavenCentralRepositoryPassword')) { -// apply plugin: "com.vanniktech.maven.publish" +if (project.hasProperty('mavenCentralUsername') && project.hasProperty('mavenCentralPassword')) { + apply plugin: "com.vanniktech.maven.publish" } diff --git a/core/src/main/java/com/google/ar/sceneform/ArSceneView.java b/core/src/main/java/com/google/ar/sceneform/ArSceneView.java index 7813a085..a8a4d5f6 100644 --- a/core/src/main/java/com/google/ar/sceneform/ArSceneView.java +++ b/core/src/main/java/com/google/ar/sceneform/ArSceneView.java @@ -16,6 +16,7 @@ import com.google.ar.core.Config.LightEstimationMode; import com.google.ar.core.Frame; import com.google.ar.core.LightEstimate; +import com.google.ar.core.Plane; import com.google.ar.core.Pose; import com.google.ar.core.Session; import com.google.ar.core.TrackingState; diff --git a/docs/_config.yml b/docs/_config.yml index 66648e00..87434e5c 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -16,6 +16,7 @@ navigation: # accepts {file, title, url, icon, sidebaricon} - {title: "Emulator", url: "/#emulator"} - {title: "Go further", url: "/#go-further"} - {title: "Sponsor", url: "https://github.com/sponsors/ThomasGorisse"} + - {title: "Javadoc", url: "/javadoc/index.html"} external: - {title: Github, icon: github, url: "https://github.com/ThomasGorisse/sceneform-android-sdk"} diff --git a/docs/index.md b/docs/index.md index 45400ab7..eaa1bbc4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,7 +33,7 @@ Sceneform Maintained SDK for Android *app/build.gradle* ```gradle dependencies { - implementation("com.gorisse.thomas.sceneform:sceneform:1.19.3") + implementation("com.gorisse.thomas.sceneform:sceneform:1.19.4") } ``` **[more...](https://thomasgorisse.github.io/sceneform-android-sdk/dependencies)** diff --git a/docs/javadoc/allclasses-frame.html b/docs/javadoc/allclasses-frame.html deleted file mode 100644 index 41b1ed94..00000000 --- a/docs/javadoc/allclasses-frame.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - -All Classes (ux API) - - - - -

All Classes

-
- -
- - diff --git a/docs/javadoc/allclasses-index.html b/docs/javadoc/allclasses-index.html new file mode 100644 index 00000000..e5291a97 --- /dev/null +++ b/docs/javadoc/allclasses-index.html @@ -0,0 +1,1194 @@ + + + + + +All Classes (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes

+
+
+ +
+
+ + + diff --git a/docs/javadoc/allclasses-noframe.html b/docs/javadoc/allclasses-noframe.html deleted file mode 100644 index b57059f0..00000000 --- a/docs/javadoc/allclasses-noframe.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - -All Classes (ux API) - - - - -

All Classes

-
- -
- - diff --git a/docs/javadoc/allclasses.html b/docs/javadoc/allclasses.html new file mode 100644 index 00000000..ce476550 --- /dev/null +++ b/docs/javadoc/allclasses.html @@ -0,0 +1,211 @@ + + + + + +All Classes (core 1.19.4 API) + + + + + + + + + + + + +

All Classes

+
+ +
+ + diff --git a/docs/javadoc/allpackages-index.html b/docs/javadoc/allpackages-index.html new file mode 100644 index 00000000..e81a363c --- /dev/null +++ b/docs/javadoc/allpackages-index.html @@ -0,0 +1,200 @@ + + + + + +All Packages (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
+ +
+
+ + + diff --git a/docs/javadoc/com/google/ar/sceneform/AnchorNode.html b/docs/javadoc/com/google/ar/sceneform/AnchorNode.html new file mode 100644 index 00000000..c31d9b81 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/AnchorNode.html @@ -0,0 +1,584 @@ + + + + + +AnchorNode (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnchorNode

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TransformProvider
    +
    +
    +
    public class AnchorNode
    +extends Node
    +
    Node that is automatically positioned in world space based on an ARCore Anchor. + +

    When the Anchor isn't tracking, all children of this node are disabled.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnchorNode

        +
        public AnchorNode()
        +
        Create an AnchorNode with no anchor.
        +
      • +
      + + + +
        +
      • +

        AnchorNode

        +
        public AnchorNode​(com.google.ar.core.Anchor anchor)
        +
        Create an AnchorNode with the specified anchor.
        +
        +
        Parameters:
        +
        anchor - the ARCore anchor that this node will automatically position itself to.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setAnchor

        +
        public void setAnchor​(@Nullable
        +                      com.google.ar.core.Anchor anchor)
        +
        Set an ARCore anchor and force the position of this node to be updated immediately.
        +
        +
        Parameters:
        +
        anchor - the ARCore anchor that this node will automatically position itself to.
        +
        +
      • +
      + + + +
        +
      • +

        getAnchor

        +
        @Nullable
        +public com.google.ar.core.Anchor getAnchor()
        +
        Returns the ARCore anchor if it exists or null otherwise.
        +
      • +
      + + + +
        +
      • +

        setSmoothed

        +
        public void setSmoothed​(boolean smoothed)
        +
        Set true to smooth the transition between the node’s current position and the anchor position. + Set false to apply transformations immediately. Smoothing is true by default.
        +
        +
        Parameters:
        +
        smoothed - Whether the transformations are interpolated.
        +
        +
      • +
      + + + +
        +
      • +

        isSmoothed

        +
        public boolean isSmoothed()
        +
        Returns true if the transformations are interpolated or false if they are applied immediately.
        +
      • +
      + + + +
        +
      • +

        isTracking

        +
        public boolean isTracking()
        +
        Returns true if the ARCore anchor’s tracking state is TRACKING.
        +
      • +
      + + + +
        +
      • +

        onUpdate

        +
        public void onUpdate​(FrameTime frameTime)
        +
        AnchorNode overrides this to update the node's position to match the ARCore Anchor's position.
        +
        +
        Overrides:
        +
        onUpdate in class Node
        +
        Parameters:
        +
        frameTime - provides time information for the current frame
        +
        +
      • +
      + + + +
        +
      • +

        setLocalPosition

        +
        public void setLocalPosition​(Vector3 position)
        +
        Set the local-space position of this node if it is not anchored. If the node is anchored, this + call does nothing.
        +
        +
        Overrides:
        +
        setLocalPosition in class Node
        +
        Parameters:
        +
        position - The position to apply.
        +
        See Also:
        +
        Node.getLocalPosition()
        +
        +
      • +
      + + + +
        +
      • +

        setWorldPosition

        +
        public void setWorldPosition​(Vector3 position)
        +
        Set the world-space position of this node if it is not anchored. If the node is anchored, this + call does nothing.
        +
        +
        Overrides:
        +
        setWorldPosition in class Node
        +
        Parameters:
        +
        position - The position to apply.
        +
        See Also:
        +
        Node.getWorldPosition()
        +
        +
      • +
      + + + +
        +
      • +

        setLocalRotation

        +
        public void setLocalRotation​(Quaternion rotation)
        +
        Set the local-space rotation of this node if it is not anchored. If the node is anchored, this + call does nothing.
        +
        +
        Overrides:
        +
        setLocalRotation in class Node
        +
        Parameters:
        +
        rotation - The rotation to apply.
        +
        See Also:
        +
        Node.getLocalRotation()
        +
        +
      • +
      + + + +
        +
      • +

        setWorldRotation

        +
        public void setWorldRotation​(Quaternion rotation)
        +
        Set the world-space rotation of this node if it is not anchored. If the node is anchored, this + call does nothing.
        +
        +
        Overrides:
        +
        setWorldRotation in class Node
        +
        Parameters:
        +
        rotation - The rotation to apply.
        +
        See Also:
        +
        Node.getWorldRotation()
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/ArSceneView.html b/docs/javadoc/com/google/ar/sceneform/ArSceneView.html new file mode 100644 index 00000000..fe528e9f --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/ArSceneView.html @@ -0,0 +1,885 @@ + + + + + +ArSceneView (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArSceneView

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ArSceneView

        +
        public ArSceneView​(Context context)
        +
        Constructs a ArSceneView object and binds it to an Android Context. + +

        In order to have rendering work correctly, setupSession(Session) must be called.

        +
        +
        Parameters:
        +
        context - the Android Context to use
        +
        See Also:
        +
        ArSceneView(Context, AttributeSet)
        +
        +
      • +
      + + + +
        +
      • +

        ArSceneView

        +
        public ArSceneView​(Context context,
        +                   AttributeSet attrs)
        +
        Constructs a ArSceneView object and binds it to an Android Context. + +

        In order to have rendering work correctly, setupSession(Session) must be called.

        +
        +
        Parameters:
        +
        context - the Android Context to use
        +
        attrs - the Android AttributeSet to associate with
        +
        See Also:
        +
        setupSession(Session)
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setupSession

        +
        public void setupSession​(com.google.ar.core.Session session)
        +
        Setup the view with an AR Session. This method must be called once to supply the ARCore + session. The session is needed for any rendering to occur. + +

        The session is expected to be configured with the update mode of LATEST_CAMERA_IMAGE. + Without this configuration, the updating of the ARCore session could block the UI Thread + causing poor UI experience.

        +
        +
        Parameters:
        +
        session - the ARCore session to use for this view
        +
        See Also:
        +
        ArSceneView(Context, AttributeSet)
        +
        +
      • +
      + + + +
        +
      • +

        resume

        +
        public void resume()
        +            throws com.google.ar.core.exceptions.CameraNotAvailableException
        +
        Resumes the rendering thread and ARCore session. + +

        This must be called from onResume().

        +
        +
        Overrides:
        +
        resume in class SceneView
        +
        Throws:
        +
        com.google.ar.core.exceptions.CameraNotAvailableException - if the camera can not be opened
        +
        +
      • +
      + + + +
        +
      • +

        resumeAsync

        +
        public CompletableFuture<Void> resumeAsync​(Executor executor)
        +
        Non blocking call to resume the rendering thread and ARCore session in the background + +

        This must be called from onResume(). + +

        If called while another pause or resume is in progress, the resume will be enqueued and + happen after the current operation completes.

        +
        +
        Returns:
        +
        A CompletableFuture completed on the main thread once the resume has completed. The + future will be completed exceptionally if the resume can not be done.
        +
        +
      • +
      + + + +
        +
      • +

        pause

        +
        public void pause()
        +
        Pauses the rendering thread and ARCore session. + +

        This must be called from onPause().

        +
        +
        Overrides:
        +
        pause in class SceneView
        +
        +
      • +
      + + + +
        +
      • +

        pauseAsync

        +
        public CompletableFuture<Void> pauseAsync​(Executor executor)
        +
        Non blocking call to pause the rendering thread and ARCore session. + +

        This should be called from onPause(). + +

        If pauseAsync is called while another pause or resume is in progress, the pause will be + enqueued and happen after the current operation completes.

        +
        +
        Returns:
        +
        A CompletableFuture completed on the main thread on the pause has completed. + The future Will will be completed exceptionally if the resume can not be done.
        +
        +
      • +
      + + + +
        +
      • +

        onLayout

        +
        public void onLayout​(boolean changed,
        +                     int left,
        +                     int top,
        +                     int right,
        +                     int bottom)
        +
        +
        Overrides:
        +
        onLayout in class SceneView
        +
        +
      • +
      + + + +
        +
      • +

        isLightEstimationEnabled

        +
        public boolean isLightEstimationEnabled()
        +
        +
        Returns:
        +
        returns true if light estimation is enabled.
        +
        +
      • +
      + + + +
        +
      • +

        setLightEstimationEnabled

        +
        public void setLightEstimationEnabled​(boolean enable)
        +
        Enable Light Estimation based on the camera feed. The color and intensity of the sun's indirect + light will be modulated by values provided by ARCore's light estimation. Lit objects in the + scene will be affected.
        +
        +
        Parameters:
        +
        enable - set to true to enable Light Estimation or false to use the default estimate, + which is a pixel intensity of 1.0 and color correction value of white (1.0, 1.0, 1.0).
        +
        +
      • +
      + + + +
        +
      • +

        getSession

        +
        @Nullable
        +public com.google.ar.core.Session getSession()
        +
        Returns the ARCore Session used by this view.
        +
      • +
      + + + +
        +
      • +

        getArFrame

        +
        @Nullable
        +@UiThread
        +public com.google.ar.core.Frame getArFrame()
        +
        Returns the most recent ARCore Frame if it is available. The frame is updated at the beginning + of each drawing frame. Callers of this method should not retain a reference to the return + value, since it will be invalid to use the ARCore frame starting with the next frame.
        +
      • +
      + + + +
        +
      • +

        getPlaneRenderer

        +
        public PlaneRenderer getPlaneRenderer()
        +
        Returns PlaneRenderer, used to control plane visualization.
        +
      • +
      + + + +
        +
      • +

        getCameraStream

        +
        public CameraStream getCameraStream()
        +
        Returns the CameraStream, used to control if the occlusion should be enabled or disabled.
        +
      • +
      + + + +
        +
      • +

        onBeginFrame

        +
        protected boolean onBeginFrame​(long frameTimeNanos)
        +
        Before the render call occurs, update the ARCore session to grab the latest frame and update + listeners.
        +
        +
        Overrides:
        +
        onBeginFrame in class SceneView
        +
        Returns:
        +
        true if the session updated successfully and a new frame was obtained. Update the scene + before rendering.
        +
        +
      • +
      + + + +
        +
      • +

        doFrame

        +
        public void doFrame​(long frameTimeNanos)
        +
        Description copied from class: SceneView
        +
        Callback that occurs for each display frame. Updates the scene and reposts itself to be called + by the choreographer on the next frame.
        +
        +
        Specified by:
        +
        doFrame in interface Choreographer.FrameCallback
        +
        Overrides:
        +
        doFrame in class SceneView
        +
        +
      • +
      + + + +
        +
      • +

        isLightDirectionUpdateEnabled

        +
        public boolean isLightDirectionUpdateEnabled()
        +
        Checks whether the sunlight is being updated every frame based on the Environmental HDR + lighting estimate.
        +
        +
        Returns:
        +
        true if the sunlight direction is updated every frame, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        setLightDirectionUpdateEnabled

        +
        public void setLightDirectionUpdateEnabled​(boolean isLightDirectionUpdateEnabled)
        +
        Sets whether the sunlight direction generated from Environmental HDR lighting should be updated + every frame. If false the light direction will be updated a single time and then no longer + change. + +

        This may be used to turn off shadow direction updates when they are distracting or unwanted. + +

        The default state is true, with sunlight direction updated every frame.

        +
      • +
      + + + +
        +
      • +

        isEnvironmentalHdrLightingAvailable

        +
        public boolean isEnvironmentalHdrLightingAvailable()
        +
        Returns true if the ARCore camera is configured with + Config.LightEstimationMode.ENVIRONMENTAL_HDR. When Environmental HDR lighting mode is enabled, + the resulting light estimates will be applied to the Sceneform Scene.
        +
        +
        Returns:
        +
        true if HDR lighting is enabled in Sceneform because ARCore HDR lighting estimation is + enabled.
        +
        +
      • +
      + + + +
        +
      • +

        captureLightingValues

        +
        public void captureLightingValues​(Consumer<EnvironmentalHdrLightEstimate> onNextHdrLightingEstimate)
        +
        Causes a serialized version of the next captured light estimate to be saved to disk.
        +
      • +
      + + + +
        +
      • +

        isTrackingPlane

        +
        public boolean isTrackingPlane()
        +
        Retrieve if the view is currently tracking a plane.
        +
        +
        Returns:
        +
        true if the current frame is tracking at least one plane.
        +
        +
      • +
      + + + +
        +
      • +

        hasTrackedPlane

        +
        public boolean hasTrackedPlane()
        +
        Retrieve if the view has already tracked a plane.
        +
        +
        Returns:
        +
        true if the current frame has tracked at least one plane.
        +
        +
      • +
      + + + +
        +
      • +

        hasTrackingPlaneStates

        +
        public boolean hasTrackingPlaneStates​(com.google.ar.core.TrackingState... trackingStates)
        +
        Retrieve if the view has currently a plane with the tracking states.
        +
        +
        Returns:
        +
        true if the current frame is tracking at least one plane.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Camera.html b/docs/javadoc/com/google/ar/sceneform/Camera.html new file mode 100644 index 00000000..8ca6a7e5 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Camera.html @@ -0,0 +1,721 @@ + + + + + +Camera (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Camera

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TransformProvider, CameraProvider
    +
    +
    +
    public class Camera
    +extends Node
    +implements CameraProvider
    +
    Represents a virtual camera, which determines the perspective through which the scene is viewed. + +

    If the camera is part of an ArSceneView, then the camera automatically tracks the + camera pose from ARCore. Additionally, the following methods will throw UnsupportedOperationException when called: + +

    + + All other functionality in Node is supported. You can access the position and rotation of the + camera, assign a collision shape to the camera, or add children to the camera. Disabling the + camera turns off rendering.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setNearClipPlane

        +
        public void setNearClipPlane​(float nearPlane)
        +
      • +
      + + + + + + + +
        +
      • +

        setFarClipPlane

        +
        public void setFarClipPlane​(float farPlane)
        +
      • +
      + + + +
        +
      • +

        setVerticalFovDegrees

        +
        public void setVerticalFovDegrees​(float verticalFov)
        +
        Sets the vertical field of view for the non-ar camera in degrees. If this is an AR camera, then + the fov comes from ARCore and cannot be set so an exception is thrown. The default is 90 + degrees.
        +
        +
        Throws:
        +
        UnsupportedOperationException - if this is an AR camera
        +
        +
      • +
      + + + +
        +
      • +

        getVerticalFovDegrees

        +
        public float getVerticalFovDegrees()
        +
        Gets the vertical field of view for the camera. + +

        If this is an AR camera, then it is calculated based on the camera information from ARCore + and can vary between device. It can't be calculated until the first frame after the ARCore + session is resumed, in which case an IllegalStateException is thrown. + +

        Otherwise, this will return the value set by setVerticalFovDegrees(float), with a + default of 90 degrees.

        +
        +
        Throws:
        +
        IllegalStateException - if called before the first frame after ARCore is resumed
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        updateTrackedPose

        +
        public void updateTrackedPose​(com.google.ar.core.Camera camera)
        +
        Updates the pose and projection of the camera to match the tracked pose from ARCore.
        +
        +
        Specified by:
        +
        updateTrackedPose in interface CameraProvider
        +
        +
      • +
      + + + +
        +
      • +

        screenPointToRay

        +
        public Ray screenPointToRay​(float x,
        +                            float y)
        +
        Calculates a ray in world space going from the near-plane of the camera and going through a + point in screen space. Screen space is in Android device screen coordinates: TopLeft = (0, 0) + BottomRight = (Screen Width, Screen Height) The device coordinate space is unaffected by the + orientation of the device.
        +
        +
        Parameters:
        +
        x - X position in device screen coordinates.
        +
        y - Y position in device screen coordinates.
        +
        +
      • +
      + + + +
        +
      • +

        worldToScreenPoint

        +
        public Vector3 worldToScreenPoint​(Vector3 point)
        +
        Convert a point from world space into screen space. + +

        The X value is negative when the point is left of the viewport, between 0 and the width of + the SceneView when the point is within the viewport, and greater than the width when + the point is to the right of the viewport. + +

        The Y value is negative when the point is below the viewport, between 0 and the height of + the SceneView when the point is within the viewport, and greater than the height when + the point is above the viewport. + +

        The Z value is always 0 since the return value is a 2D coordinate.

        +
        +
        Parameters:
        +
        point - the point in world space to convert
        +
        Returns:
        +
        a new vector that represents the point in screen-space.
        +
        +
      • +
      + + + +
        +
      • +

        setParent

        +
        public void setParent​(@Nullable
        +                      NodeParent parent)
        +
        Unsupported operation. Camera's parent cannot be changed, it is always the scene.
        +
        +
        Overrides:
        +
        setParent in class Node
        +
        Parameters:
        +
        parent - The new parent that this node will be a child of. If null, this node will be + detached from its parent.
        +
        See Also:
        +
        Node.getParent(), +Node.getScene()
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        setProjectionMatrix

        +
        public void setProjectionMatrix​(Matrix matrix)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/FrameTime.html b/docs/javadoc/com/google/ar/sceneform/FrameTime.html new file mode 100644 index 00000000..d1b70f16 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/FrameTime.html @@ -0,0 +1,331 @@ + + + + + +FrameTime (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FrameTime

+
+
+ +
+
    +
  • +
    +
    public class FrameTime
    +extends Object
    +
    Provides time information for the current frame.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getDeltaSeconds

        +
        public float getDeltaSeconds()
        +
        Get the time in seconds between this frame and the last frame.
        +
      • +
      + + + +
        +
      • +

        getStartSeconds

        +
        public float getStartSeconds()
        +
        Get the time in seconds when this frame started.
        +
      • +
      + + + +
        +
      • +

        getDeltaTime

        +
        public long getDeltaTime​(TimeUnit unit)
        +
        Get the time between this frame and the last frame.
        +
        +
        Parameters:
        +
        unit - The unit time will be returned in
        +
        Returns:
        +
        The time between frames
        +
        +
      • +
      + + + +
        +
      • +

        getStartTime

        +
        public long getStartTime​(TimeUnit unit)
        +
        Get the time when this frame started.
        +
        +
        Parameters:
        +
        unit - The unit time will be returned in
        +
        Returns:
        +
        The start time of the frame in nanoseconds
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/HitTestResult.html b/docs/javadoc/com/google/ar/sceneform/HitTestResult.html new file mode 100644 index 00000000..90e293a3 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/HitTestResult.html @@ -0,0 +1,373 @@ + + + + + +HitTestResult (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class HitTestResult

+
+
+ +
+
    +
  • +
    +
    public class HitTestResult
    +extends RayHit
    +
    Stores the results of calls to Scene.hitTest and Scene.hitTestAll. Contains a node that was hit + by the hit test, and associated information.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        HitTestResult

        +
        public HitTestResult()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setNode

        +
        public void setNode​(@Nullable
        +                    Node node)
        +
      • +
      + + + +
        +
      • +

        getNode

        +
        @Nullable
        +public Node getNode()
        +
        The node that was hit by the hit test. Null when there is no hit.
        +
        +
        Returns:
        +
        the hit node
        +
        +
      • +
      + + + + + + + +
        +
      • +

        reset

        +
        public void reset()
        +
        +
        Overrides:
        +
        reset in class RayHit
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Node.LifecycleListener.html b/docs/javadoc/com/google/ar/sceneform/Node.LifecycleListener.html new file mode 100644 index 00000000..973d1140 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Node.LifecycleListener.html @@ -0,0 +1,305 @@ + + + + + +Node.LifecycleListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Node.LifecycleListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Node
    +
    +
    +
    public static interface Node.LifecycleListener
    +
    Interface definition for callbacks to be invoked when node lifecycle events occur.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onActivated

        +
        void onActivated​(Node node)
        +
        Notifies the listener that Node.onActivate() was called.
        +
        +
        Parameters:
        +
        node - the node that was activated
        +
        +
      • +
      + + + +
        +
      • +

        onUpdated

        +
        void onUpdated​(Node node,
        +               FrameTime frameTime)
        +
        Notifies the listener that Node.onUpdate(FrameTime) was called.
        +
        +
        Parameters:
        +
        node - the node that was updated
        +
        frameTime - provides time information for the current frame
        +
        +
      • +
      + + + +
        +
      • +

        onDeactivated

        +
        void onDeactivated​(Node node)
        +
        Notifies the listener that Node.onDeactivate() was called.
        +
        +
        Parameters:
        +
        node - the node that was deactivated
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Node.OnTapListener.html b/docs/javadoc/com/google/ar/sceneform/Node.OnTapListener.html new file mode 100644 index 00000000..c722f1d3 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Node.OnTapListener.html @@ -0,0 +1,266 @@ + + + + + +Node.OnTapListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Node.OnTapListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Node
    +
    +
    +
    public static interface Node.OnTapListener
    +
    Interface definition for a callback to be invoked when a node is tapped.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onTap

        +
        void onTap​(HitTestResult hitTestResult,
        +           MotionEvent motionEvent)
        +
        Handles when a node has been tapped. + +

        HitTestResult.getNode() will always be this node or one of its children.

        +
        +
        Parameters:
        +
        hitTestResult - represents the node that was tapped and information about where it was + touched
        +
        motionEvent - the MotionEvent.ACTION_UP MotionEvent that caused the tap
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Node.OnTouchListener.html b/docs/javadoc/com/google/ar/sceneform/Node.OnTouchListener.html new file mode 100644 index 00000000..c06933de --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Node.OnTouchListener.html @@ -0,0 +1,272 @@ + + + + + +Node.OnTouchListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Node.OnTouchListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Node
    +
    +
    +
    public static interface Node.OnTouchListener
    +
    Interface definition for a callback to be invoked when a touch event is dispatched to this + node. The callback will be invoked before Node.onTouchEvent(HitTestResult, MotionEvent) is + called.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onTouch

        +
        boolean onTouch​(HitTestResult hitTestResult,
        +                MotionEvent motionEvent)
        +
        Handles when a touch event has been dispatched to a node. + +

        On MotionEvent.ACTION_DOWN events, HitTestResult.getNode() will always be + this node or one of its children. On other events, the touch may have moved causing the + HitTestResult.getNode() to change (or possibly be null).

        +
        +
        Parameters:
        +
        hitTestResult - represents the node that was touched and information about where it was + touched
        +
        motionEvent - the MotionEvent object containing full information about the event
        +
        Returns:
        +
        true if the listener has consumed the event, false otherwise
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Node.TransformChangedListener.html b/docs/javadoc/com/google/ar/sceneform/Node.TransformChangedListener.html new file mode 100644 index 00000000..d739e5ee --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Node.TransformChangedListener.html @@ -0,0 +1,269 @@ + + + + + +Node.TransformChangedListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Node.TransformChangedListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Node
    +
    +
    +
    public static interface Node.TransformChangedListener
    +
    Interface definition for callbacks to be invoked when the transformation of the node changes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onTransformChanged

        +
        void onTransformChanged​(Node node,
        +                        Node originatingNode)
        +
        Notifies the listener that the transformation of the Node has changed. Called right + after Node.onTransformChange(Node). + +

        The originating node is the most top-level node in the hierarchy that triggered the node + to change. It will always be either the same node or one of its' parents. i.e. if node A's + position is changed, then that will trigger onTransformChanged(Node, Node) to be + called for all of it's descendants with the originatingNode being node A.

        +
        +
        Parameters:
        +
        node - the node that changed
        +
        originatingNode - the node that triggered the transformation to change
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Node.html b/docs/javadoc/com/google/ar/sceneform/Node.html new file mode 100644 index 00000000..55ec30cf --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Node.html @@ -0,0 +1,1750 @@ + + + + + +Node (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Node

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TransformProvider
    +
    +
    +
    Direct Known Subclasses:
    +
    AnchorNode, Camera, Sun
    +
    +
    +
    public class Node
    +extends NodeParent
    +implements TransformProvider
    +
    A Node represents a transformation within the scene graph's hierarchy. It can contain a + renderable for the rendering engine to render. + +

    Each node can have an arbitrary number of child nodes and one parent. The parent may be + another node, or the scene.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Node

        +
        public Node()
        +
        Creates a node with no parent.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setName

        +
        public final void setName​(String name)
        +
        Sets the name of this node. Nodes can be found using their names. Multiple nodes may have the + same name, in which case calling NodeParent.findByName(String) will return the first + node with the given name.
        +
        +
        Parameters:
        +
        name - The name of the node.
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public final String getName()
        +
        Returns the name of the node. The default value is "Node".
        +
      • +
      + + + +
        +
      • +

        setParent

        +
        public void setParent​(@Nullable
        +                      NodeParent parent)
        +
        Changes the parent node of this node. If set to null, this node will be detached from its + parent. The local position, rotation, and scale of this node will remain the same. Therefore, + the world position, rotation, and scale of this node may be different after the parent changes. + +

        The parent may be another Node or a Scene. If it is a scene, then this + Node is considered top level. getParent() will return null, and getScene() will return the scene.

        +
        +
        Parameters:
        +
        parent - The new parent that this node will be a child of. If null, this node will be + detached from its parent.
        +
        See Also:
        +
        getParent(), +getScene()
        +
        +
      • +
      + + + +
        +
      • +

        getScene

        +
        @Nullable
        +public final Scene getScene()
        +
        Returns the scene that this node is part of, null if it isn't part of any scene. A node is part + of a scene if its highest level ancestor is a Scene
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        @Nullable
        +public final Node getParent()
        +
        Returns the parent of this node. If this Node has a parent, and that parent is a Node or Node subclass, then this function returns the parent as a Node. + Returns null if the parent is a Scene, use getScene() to retrieve the parent + instead.
        +
        +
        Returns:
        +
        the parent as a Node, if the parent is a Node.
        +
        +
      • +
      + + + +
        +
      • +

        isTopLevel

        +
        public boolean isTopLevel()
        +
        Returns true if this node is top level. A node is considered top level if it has no parent or + if the parent is the scene.
        +
        +
        Returns:
        +
        true if the node is top level
        +
        +
      • +
      + + + +
        +
      • +

        isDescendantOf

        +
        public final boolean isDescendantOf​(NodeParent ancestor)
        +
        Checks whether the given node parent is an ancestor of this node recursively.
        +
        +
        Parameters:
        +
        ancestor - the node parent to check
        +
        Returns:
        +
        true if the node is an ancestor of this node
        +
        +
      • +
      + + + +
        +
      • +

        setEnabled

        +
        public final void setEnabled​(boolean enabled)
        +
        Sets the enabled state of this node. Note that a Node may be enabled but still inactive if it + isn't part of the scene or if its parent is inactive.
        +
        +
        Parameters:
        +
        enabled - the new enabled status of the node
        +
        See Also:
        +
        isActive()
        +
        +
      • +
      + + + +
        +
      • +

        isEnabled

        +
        public final boolean isEnabled()
        +
        Gets the enabled state of this node. Note that a Node may be enabled but still inactive if it + isn't part of the scene or if its parent is inactive.
        +
        +
        Returns:
        +
        the node's enabled status.
        +
        See Also:
        +
        isActive()
        +
        +
      • +
      + + + +
        +
      • +

        isActive

        +
        public final boolean isActive()
        +
        Returns true if the node is active. A node is considered active if it meets ALL of the + following conditions: + +
          +
        • The node is part of a scene. +
        • the node's parent is active. +
        • The node is enabled. +
        + + An active Node has the following behavior: + +
        +
        +
        Returns:
        +
        the node's active status
        +
        See Also:
        +
        onActivate(), +onDeactivate()
        +
        +
      • +
      + + + +
        +
      • +

        setOnTouchListener

        +
        public void setOnTouchListener​(@Nullable
        +                               Node.OnTouchListener onTouchListener)
        +
        Registers a callback to be invoked when a touch event is dispatched to this node. The way that + touch events are propagated mirrors the way touches are propagated to Android Views. This is + only called when the node is active. + +

        When an ACTION_DOWN event occurs, that represents the start of a gesture. ACTION_UP or + ACTION_CANCEL represents when a gesture ends. When a gesture starts, the following is done: + +

          +
        • Dispatch touch events to the node that was touched as detected by Scene.hitTest(MotionEvent). +
        • If the node doesn't consume the event, recurse upwards through the node's parents and + dispatch the touch event until one of the node's consumes the event. +
        • If no nodes consume the event, the gesture is ignored and subsequent events that are part + of the gesture will not be passed to any nodes. +
        • If one of the node's consumes the event, then that node will consume all future touch + events for the gesture. +
        + + When a touch event is dispatched to a node, the event is first passed to the node's Node.OnTouchListener. If the Node.OnTouchListener doesn't handle the event, it is passed to + onTouchEvent(HitTestResult, MotionEvent).
        +
        +
        See Also:
        +
        Node.OnTouchListener
        +
        +
      • +
      + + + +
        +
      • +

        setOnTapListener

        +
        public void setOnTapListener​(@Nullable
        +                             Node.OnTapListener onTapListener)
        +
        Registers a callback to be invoked when this node is tapped. If there is a callback registered, + then touch events will not bubble to this node's parent. If the Node.onTouchEvent is overridden + and super.onTouchEvent is not called, then the tap will not occur.
        +
        +
        See Also:
        +
        Node.OnTapListener
        +
        +
      • +
      + + + +
        +
      • +

        addLifecycleListener

        +
        public void addLifecycleListener​(Node.LifecycleListener lifecycleListener)
        +
        Adds a listener that will be called when node lifecycle events occur. The listeners will be + called in the order in which they were added.
        +
      • +
      + + + +
        +
      • +

        removeLifecycleListener

        +
        public void removeLifecycleListener​(Node.LifecycleListener lifecycleListener)
        +
        Removes a listener that will be called when node lifecycle events occur.
        +
      • +
      + + + +
        +
      • +

        addTransformChangedListener

        +
        public void addTransformChangedListener​(Node.TransformChangedListener transformChangedListener)
        +
        Adds a listener that will be called when the node's transformation changes.
        +
      • +
      + + + +
        +
      • +

        removeTransformChangedListener

        +
        public void removeTransformChangedListener​(Node.TransformChangedListener transformChangedListener)
        +
        Removes a listener that will be called when the node's transformation changes.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        getLocalPosition

        +
        public final Vector3 getLocalPosition()
        +
        Gets a copy of the nodes position relative to its parent (local-space). If isTopLevel() is true, then this is the same as getWorldPosition().
        +
        +
        Returns:
        +
        a new vector that represents the node's local-space position
        +
        See Also:
        +
        setLocalPosition(Vector3)
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getLocalScale

        +
        public final Vector3 getLocalScale()
        +
        Gets a copy of the nodes scale relative to its parent (local-space). If isTopLevel() + is true, then this is the same as getWorldScale().
        +
        +
        Returns:
        +
        a new vector that represents the node's local-space scale
        +
        See Also:
        +
        setLocalScale(Vector3)
        +
        +
      • +
      + + + +
        +
      • +

        getWorldPosition

        +
        public final Vector3 getWorldPosition()
        +
        Get a copy of the nodes world-space position.
        +
        +
        Returns:
        +
        a new vector that represents the node's world-space position
        +
        See Also:
        +
        setWorldPosition(Vector3)
        +
        +
      • +
      + + + +
        +
      • +

        getWorldRotation

        +
        public final Quaternion getWorldRotation()
        +
        Gets a copy of the nodes world-space rotation.
        +
        +
        Returns:
        +
        a new quaternion that represents the node's world-space rotation
        +
        See Also:
        +
        setWorldRotation(Quaternion)
        +
        +
      • +
      + + + +
        +
      • +

        getWorldScale

        +
        public final Vector3 getWorldScale()
        +
        Gets a copy of the nodes world-space scale. Some precision will be lost if the node is skewed.
        +
        +
        Returns:
        +
        a new vector that represents the node's world-space scale
        +
        See Also:
        +
        setWorldScale(Vector3)
        +
        +
      • +
      + + + +
        +
      • +

        setLocalPosition

        +
        public void setLocalPosition​(Vector3 position)
        +
        Sets the position of this node relative to its parent (local-space). If isTopLevel() + is true, then this is the same as setWorldPosition(Vector3).
        +
        +
        Parameters:
        +
        position - The position to apply.
        +
        See Also:
        +
        getLocalPosition()
        +
        +
      • +
      + + + + + + + +
        +
      • +

        setLocalScale

        +
        public void setLocalScale​(Vector3 scale)
        +
        Sets the scale of this node relative to its parent (local-space). If isTopLevel() is + true, then this is the same as setWorldScale(Vector3).
        +
        +
        Parameters:
        +
        scale - The scale to apply.
        +
        See Also:
        +
        getLocalScale()
        +
        +
      • +
      + + + +
        +
      • +

        setWorldPosition

        +
        public void setWorldPosition​(Vector3 position)
        +
        Sets the world-space position of this node.
        +
        +
        Parameters:
        +
        position - The position to apply.
        +
        See Also:
        +
        getWorldPosition()
        +
        +
      • +
      + + + +
        +
      • +

        setWorldRotation

        +
        public void setWorldRotation​(Quaternion rotation)
        +
        Sets the world-space rotation of this node.
        +
        +
        Parameters:
        +
        rotation - The rotation to apply.
        +
        See Also:
        +
        getWorldRotation()
        +
        +
      • +
      + + + +
        +
      • +

        setWorldScale

        +
        public void setWorldScale​(Vector3 scale)
        +
        Sets the world-space scale of this node.
        +
        +
        Parameters:
        +
        scale - The scale to apply.
        +
        See Also:
        +
        getWorldScale()
        +
        +
      • +
      + + + +
        +
      • +

        localToWorldPoint

        +
        public final Vector3 localToWorldPoint​(Vector3 point)
        +
        Converts a point in the local-space of this node to world-space.
        +
        +
        Parameters:
        +
        point - the point in local-space to convert
        +
        Returns:
        +
        a new vector that represents the point in world-space
        +
        +
      • +
      + + + +
        +
      • +

        worldToLocalPoint

        +
        public final Vector3 worldToLocalPoint​(Vector3 point)
        +
        Converts a point in world-space to the local-space of this node.
        +
        +
        Parameters:
        +
        point - the point in world-space to convert
        +
        Returns:
        +
        a new vector that represents the point in local-space
        +
        +
      • +
      + + + +
        +
      • +

        localToWorldDirection

        +
        public final Vector3 localToWorldDirection​(Vector3 direction)
        +
        Converts a direction from the local-space of this node to world-space. Not impacted by the + position or scale of the node.
        +
        +
        Parameters:
        +
        direction - the direction in local-space to convert
        +
        Returns:
        +
        a new vector that represents the direction in world-space
        +
        +
      • +
      + + + +
        +
      • +

        worldToLocalDirection

        +
        public final Vector3 worldToLocalDirection​(Vector3 direction)
        +
        Converts a direction from world-space to the local-space of this node. Not impacted by the + position or scale of the node.
        +
        +
        Parameters:
        +
        direction - the direction in world-space to convert
        +
        Returns:
        +
        a new vector that represents the direction in local-space
        +
        +
      • +
      + + + +
        +
      • +

        getForward

        +
        public final Vector3 getForward()
        +
        Gets the world-space forward vector (-z) of this node.
        +
        +
        Returns:
        +
        a new vector that represents the node's forward direction in world-space
        +
        +
      • +
      + + + +
        +
      • +

        getBack

        +
        public final Vector3 getBack()
        +
        Gets the world-space back vector (+z) of this node.
        +
        +
        Returns:
        +
        a new vector that represents the node's back direction in world-space
        +
        +
      • +
      + + + +
        +
      • +

        getRight

        +
        public final Vector3 getRight()
        +
        Gets the world-space right vector (+x) of this node.
        +
        +
        Returns:
        +
        a new vector that represents the node's right direction in world-space
        +
        +
      • +
      + + + +
        +
      • +

        getLeft

        +
        public final Vector3 getLeft()
        +
        Gets the world-space left vector (-x) of this node.
        +
        +
        Returns:
        +
        a new vector that represents the node's left direction in world-space
        +
        +
      • +
      + + + +
        +
      • +

        getUp

        +
        public final Vector3 getUp()
        +
        Gets the world-space up vector (+y) of this node.
        +
        +
        Returns:
        +
        a new vector that represents the node's up direction in world-space
        +
        +
      • +
      + + + +
        +
      • +

        getDown

        +
        public final Vector3 getDown()
        +
        Gets the world-space down vector (-y) of this node.
        +
        +
        Returns:
        +
        a new vector that represents the node's down direction in world-space
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getRenderable

        +
        @Nullable
        +public Renderable getRenderable()
        +
        Gets the renderable to display for this node.
        +
        +
        Returns:
        +
        renderable to display for this node
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        setLight

        +
        public void setLight​(@Nullable
        +                     Light light)
        +
        Sets the Light to display. To use, first create a Light using Light.Builder. Set the parameters you care about and then attach it to the node using this + function. A node may have a renderable and a light or just act as a Light.
        +
        +
        Parameters:
        +
        light - Properties of the Light to render, pass null to remove the light.
        +
        +
      • +
      + + + +
        +
      • +

        getLight

        +
        @Nullable
        +public Light getLight()
        +
        Gets the current light, which is mutable.
        +
      • +
      + + + +
        +
      • +

        setLookDirection

        +
        public final void setLookDirection​(Vector3 lookDirection,
        +                                   Vector3 upDirection)
        +
        Sets the direction that the node is looking at in world-space. After calling this, getForward() will match the look direction passed in. The up direction will determine the + orientation of the node around the direction. The look direction and up direction cannot be + coincident (parallel) or the orientation will be invalid.
        +
        +
        Parameters:
        +
        lookDirection - a vector representing the desired look direction in world-space
        +
        upDirection - a vector representing a valid up vector to use, such as Vector3.up()
        +
        +
      • +
      + + + +
        +
      • +

        setLookDirection

        +
        public final void setLookDirection​(Vector3 lookDirection)
        +
        Sets the direction that the node is looking at in world-space. After calling this, getForward() will match the look direction passed in. World-space up (0, 1, 0) will be + used to determine the orientation of the node around the direction.
        +
        +
        Parameters:
        +
        lookDirection - a vector representing the desired look direction in world-space
        +
        +
      • +
      + + + + + + + +
        +
      • +

        onActivate

        +
        public void onActivate()
        +
        Handles when this node becomes active. A Node is active if it's enabled, part of a scene, and + its parent is active. + +

        Override to perform any setup that needs to occur when the node is activated.

        +
        +
        See Also:
        +
        isActive(), +isEnabled()
        +
        +
      • +
      + + + +
        +
      • +

        onDeactivate

        +
        public void onDeactivate()
        +
        Handles when this node becomes inactivate. A Node is inactive if it's disabled, not part of a + scene, or its parent is inactive. + +

        Override to perform any setup that needs to occur when the node is deactivated.

        +
        +
        See Also:
        +
        isActive(), +isEnabled()
        +
        +
      • +
      + + + +
        +
      • +

        onUpdate

        +
        public void onUpdate​(FrameTime frameTime)
        +
        Handles when this node is updated. A node is updated before rendering each frame. This is only + called when the node is active. + +

        Override to perform any updates that need to occur each frame.

        +
        +
        Parameters:
        +
        frameTime - provides time information for the current frame
        +
        +
      • +
      + + + +
        +
      • +

        onTouchEvent

        +
        public boolean onTouchEvent​(HitTestResult hitTestResult,
        +                            MotionEvent motionEvent)
        +
        Handles when this node is touched. + +

        Override to perform any logic that should occur when this node is touched. The way that + touch events are propagated mirrors the way touches are propagated to Android Views. This is + only called when the node is active. + +

        When an ACTION_DOWN event occurs, that represents the start of a gesture. ACTION_UP or + ACTION_CANCEL represents when a gesture ends. When a gesture starts, the following is done: + +

          +
        • Dispatch touch events to the node that was touched as detected by Scene.hitTest(MotionEvent). +
        • If the node doesn't consume the event, recurse upwards through the node's parents and + dispatch the touch event until one of the node's consumes the event. +
        • If no nodes consume the event, the gesture is ignored and subsequent events that are part + of the gesture will not be passed to any nodes. +
        • If one of the node's consumes the event, then that node will consume all future touch + events for the gesture. +
        + + When a touch event is dispatched to a node, the event is first passed to the node's Node.OnTouchListener. If the Node.OnTouchListener doesn't handle the event, it is passed to + onTouchEvent(HitTestResult, MotionEvent).
        +
        +
        Parameters:
        +
        hitTestResult - Represents the node that was touched, and information about where it was + touched. On ACTION_DOWN events, HitTestResult.getNode() will always be this node or + one of its children. On other events, the touch may have moved causing the HitTestResult.getNode() to change (or possibly be null).
        +
        motionEvent - The motion event.
        +
        Returns:
        +
        True if the event was handled, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        onTransformChange

        +
        public void onTransformChange​(Node originatingNode)
        +
        Handles when this node's transformation is changed. + +

        The originating node is the most top-level node in the hierarchy that triggered this node to + change. It will always be either the same node or one of its' parents. i.e. if node A's + position is changed, then that will trigger onTransformChange(Node) to be called for + all of it's children with the originatingNode being node A.

        +
        +
        Parameters:
        +
        originatingNode - the node that triggered this node's transformation to change
        +
        +
      • +
      + + + +
        +
      • +

        callOnHierarchy

        +
        public void callOnHierarchy​(Consumer<Node> consumer)
        +
        Traverses the hierarchy and call a method on each node (including this node). Traversal is + depth first.
        +
        +
        Overrides:
        +
        callOnHierarchy in class NodeParent
        +
        Parameters:
        +
        consumer - the method to call on each node
        +
        +
      • +
      + + + +
        +
      • +

        findInHierarchy

        +
        @Nullable
        +public Node findInHierarchy​(Predicate<Node> condition)
        +
        Traverses the hierarchy to find the first node (including this node) that meets a condition. + Once the predicate is met, the traversal stops. Traversal is depth first.
        +
        +
        Overrides:
        +
        findInHierarchy in class NodeParent
        +
        Parameters:
        +
        condition - predicate the defines the conditions of the node to search for.
        +
        Returns:
        +
        the first node that matches the conditions of the predicate, otherwise null is returned
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getRenderableInstance

        +
        @Nullable
        +public RenderableInstance getRenderableInstance()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/NodeParent.html b/docs/javadoc/com/google/ar/sceneform/NodeParent.html new file mode 100644 index 00000000..68b59898 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/NodeParent.html @@ -0,0 +1,483 @@ + + + + + +NodeParent (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NodeParent

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NodeParent

        +
        public NodeParent()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getChildren

        +
        public final List<Node> getChildren()
        +
        Returns an immutable list of this parent's children.
        +
      • +
      + + + +
        +
      • +

        addChild

        +
        public final void addChild​(Node child)
        +
        Adds a node as a child of this NodeParent. If the node already has a parent, it is removed from + its old parent. If the node is already a direct child of this NodeParent, no change is made.
        +
        +
        Parameters:
        +
        child - the node to add as a child
        +
        Throws:
        +
        IllegalArgumentException - if the child is the same object as the parent, or if the + parent is a descendant of the child
        +
        +
      • +
      + + + +
        +
      • +

        removeChild

        +
        public final void removeChild​(Node child)
        +
        Removes a node from the children of this NodeParent. If the node is not a direct child of this + NodeParent, no change is made.
        +
        +
        Parameters:
        +
        child - the node to remove from the children
        +
        +
      • +
      + + + +
        +
      • +

        callOnHierarchy

        +
        public void callOnHierarchy​(Consumer<Node> consumer)
        +
        Traverse the hierarchy and call a method on each node. Traversal is depth first. If this + NodeParent is a Node, traversal starts with this NodeParent, otherwise traversal starts with + its children.
        +
        +
        Parameters:
        +
        consumer - The method to call on each node.
        +
        +
      • +
      + + + +
        +
      • +

        findInHierarchy

        +
        @Nullable
        +public Node findInHierarchy​(Predicate<Node> condition)
        +
        Traverse the hierarchy to find the first node that meets a condition. Traversal is depth first. + If this NodeParent is a Node, traversal starts with this NodeParent, otherwise traversal starts + with its children.
        +
        +
        Parameters:
        +
        condition - predicate the defines the conditions of the node to search for.
        +
        Returns:
        +
        the first node that matches the conditions of the predicate, otherwise null is returned
        +
        +
      • +
      + + + +
        +
      • +

        findByName

        +
        @Nullable
        +public Node findByName​(String name)
        +
        Traverse the hierarchy to find the first node with a given name. Traversal is depth first. If + this NodeParent is a Node, traversal starts with this NodeParent, otherwise traversal starts + with its children.
        +
        +
        Parameters:
        +
        name - The name of the node to find
        +
        Returns:
        +
        the node if it's found, otherwise null
        +
        +
      • +
      + + + +
        +
      • +

        canAddChild

        +
        protected boolean canAddChild​(Node child,
        +                              StringBuilder failureReason)
        +
      • +
      + + + +
        +
      • +

        onAddChild

        +
        @CallSuper
        +protected void onAddChild​(Node child)
        +
      • +
      + + + +
        +
      • +

        onRemoveChild

        +
        @CallSuper
        +protected void onRemoveChild​(Node child)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Scene.OnPeekTouchListener.html b/docs/javadoc/com/google/ar/sceneform/Scene.OnPeekTouchListener.html new file mode 100644 index 00000000..34206627 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Scene.OnPeekTouchListener.html @@ -0,0 +1,271 @@ + + + + + +Scene.OnPeekTouchListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Scene.OnPeekTouchListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Scene
    +
    +
    +
    public static interface Scene.OnPeekTouchListener
    +
    Interface definition for a callback to be invoked when a touch event is dispatched to a scene. + The callback will be invoked before the Scene.OnTouchListener is invoked. This is invoked + even if the gesture was consumed, making it possible to observe all motion events dispatched to + the scene.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onPeekTouch

        +
        void onPeekTouch​(HitTestResult hitTestResult,
        +                 MotionEvent motionEvent)
        +
        Called when a touch event is dispatched to a scene. The callback will be invoked before the + Scene.OnTouchListener is invoked. This is invoked even if the gesture was consumed, making + it possible to observe all motion events dispatched to the scene. This is called even if the + touch is not over a node, in which case HitTestResult.getNode() will be null.
        +
        +
        Parameters:
        +
        hitTestResult - represents the node that was touched
        +
        motionEvent - the motion event
        +
        See Also:
        +
        Scene.setOnTouchListener(OnTouchListener)
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Scene.OnTouchListener.html b/docs/javadoc/com/google/ar/sceneform/Scene.OnTouchListener.html new file mode 100644 index 00000000..dc13c41d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Scene.OnTouchListener.html @@ -0,0 +1,272 @@ + + + + + +Scene.OnTouchListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Scene.OnTouchListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Scene
    +
    +
    +
    public static interface Scene.OnTouchListener
    +
    Interface definition for a callback to be invoked when a touch event is dispatched to a scene. + The callback will be invoked after the touch event is dispatched to the nodes in the scene if + no node consumed the event.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onSceneTouch

        +
        boolean onSceneTouch​(HitTestResult hitTestResult,
        +                     MotionEvent motionEvent)
        +
        Called when a touch event is dispatched to a scene. The callback will be invoked after the + touch event is dispatched to the nodes in the scene if no node consumed the event. This is + called even if the touch is not over a node, in which case HitTestResult.getNode() + will be null.
        +
        +
        Parameters:
        +
        hitTestResult - represents the node that was touched
        +
        motionEvent - the motion event
        +
        Returns:
        +
        true if the listener has consumed the event
        +
        See Also:
        +
        Scene.setOnTouchListener(OnTouchListener)
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Scene.OnUpdateListener.html b/docs/javadoc/com/google/ar/sceneform/Scene.OnUpdateListener.html new file mode 100644 index 00000000..ccd71943 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Scene.OnUpdateListener.html @@ -0,0 +1,261 @@ + + + + + +Scene.OnUpdateListener (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Scene.OnUpdateListener

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Scene
    +
    +
    +
    public static interface Scene.OnUpdateListener
    +
    Interface definition for a callback to be invoked once per frame immediately before the scene + is updated.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onUpdate

        +
        void onUpdate​(FrameTime frameTime)
        +
        Called once per frame right before the Scene is updated.
        +
        +
        Parameters:
        +
        frameTime - provides time information for the current frame
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Scene.html b/docs/javadoc/com/google/ar/sceneform/Scene.html new file mode 100644 index 00000000..7e907406 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Scene.html @@ -0,0 +1,891 @@ + + + + + +Scene (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Scene

+
+
+ +
+
    +
  • +
    +
    public class Scene
    +extends NodeParent
    +
    The Sceneform Scene maintains the scene graph, a hierarchical organization of a scene's content. + A scene can have zero or more child nodes and each node can have zero or more child nodes. + +

    The Scene also provides hit testing, a way to detect which node is touched by a MotionEvent or + Ray.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Scene

        +
        public Scene​(SceneView view)
        +
        Create a scene with the given context.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getView

        +
        public SceneView getView()
        +
        Returns the SceneView used to create the scene.
        +
      • +
      + + + +
        +
      • +

        getCamera

        +
        public Camera getCamera()
        +
        Get the camera that is used to render the scene. The camera is a type of node.
        +
        +
        Returns:
        +
        the camera used to render the scene
        +
        +
      • +
      + + + +
        +
      • +

        getSunlight

        +
        @Nullable
        +public Node getSunlight()
        +
        Get the default sunlight node.
        +
        +
        Returns:
        +
        the sunlight node used to light the scene
        +
        +
      • +
      + + + +
        +
      • +

        getLightProbe

        +
        public LightProbe getLightProbe()
        +
        Get the Light Probe that defines the lighting environment for the scene.
        +
        +
        Returns:
        +
        the light probe used for reflections and indirect lighting.
        +
        +
      • +
      + + + +
        +
      • +

        setLightProbe

        +
        public void setLightProbe​(LightProbe lightProbe)
        +
        Set a new Light Probe for the scene, this affects reflections and indirect lighting.
        +
        +
        Parameters:
        +
        lightProbe - the fully loaded LightProbe to be used as the lighting environment.
        +
        +
      • +
      + + + +
        +
      • +

        setOnTouchListener

        +
        public void setOnTouchListener​(@Nullable
        +                               Scene.OnTouchListener onTouchListener)
        +
        Register a callback to be invoked when the scene is touched. The callback will be invoked after + the touch event is dispatched to the nodes in the scene if no node consumed the event. This is + called even if the touch is not over a node, in which case HitTestResult.getNode() will + be null.
        +
        +
        Parameters:
        +
        onTouchListener - the touch listener to attach
        +
        +
      • +
      + + + +
        +
      • +

        addOnPeekTouchListener

        +
        public void addOnPeekTouchListener​(Scene.OnPeekTouchListener onPeekTouchListener)
        +
        Adds a listener that will be called before the Scene.OnTouchListener is invoked. This + is invoked even if the gesture was consumed, making it possible to observe all motion events + dispatched to the scene. This is called even if the touch is not over a node, in which case + HitTestResult.getNode() will be null. The listeners will be called in the order in + which they were added.
        +
        +
        Parameters:
        +
        onPeekTouchListener - the peek touch listener to add
        +
        +
      • +
      + + + +
        +
      • +

        removeOnPeekTouchListener

        +
        public void removeOnPeekTouchListener​(Scene.OnPeekTouchListener onPeekTouchListener)
        +
        Removes a listener that will be called before the Scene.OnTouchListener is invoked. + This is invoked even if the gesture was consumed, making it possible to observe all motion + events dispatched to the scene. This is called even if the touch is not over a node, in which + case HitTestResult.getNode() will be null.
        +
        +
        Parameters:
        +
        onPeekTouchListener - the peek touch listener to remove
        +
        +
      • +
      + + + +
        +
      • +

        addOnUpdateListener

        +
        public void addOnUpdateListener​(Scene.OnUpdateListener onUpdateListener)
        +
        Adds a listener that will be called once per frame immediately before the Scene is updated. The + listeners will be called in the order in which they were added.
        +
        +
        Parameters:
        +
        onUpdateListener - the update listener to add
        +
        +
      • +
      + + + +
        +
      • +

        removeOnUpdateListener

        +
        public void removeOnUpdateListener​(Scene.OnUpdateListener onUpdateListener)
        +
        Removes a listener that will be called once per frame immediately before the Scene is updated.
        +
        +
        Parameters:
        +
        onUpdateListener - the update listener to remove
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        hitTest

        +
        public HitTestResult hitTest​(MotionEvent motionEvent)
        +
        Tests to see if a motion event is touching any nodes within the scene, based on a ray hit test + whose origin is the screen position of the motion event, and outputs a HitTestResult containing + the node closest to the screen.
        +
        +
        Parameters:
        +
        motionEvent - the motion event to use for the test
        +
        Returns:
        +
        the result includes the first node that was hit by the motion event (may be null), and + information about where the motion event hit the node in world-space
        +
        +
      • +
      + + + +
        +
      • +

        hitTest

        +
        public HitTestResult hitTest​(Ray ray)
        +
        Tests to see if a ray is hitting any nodes within the scene and outputs a HitTestResult + containing the node closest to the ray origin that intersects with the ray.
        +
        +
        Parameters:
        +
        ray - the ray to use for the test
        +
        Returns:
        +
        the result includes the first node that was hit by the ray (may be null), and + information about where the ray hit the node in world-space
        +
        See Also:
        +
        Camera.screenPointToRay(float, float)
        +
        +
      • +
      + + + +
        +
      • +

        hitTestAll

        +
        public ArrayList<HitTestResult> hitTestAll​(MotionEvent motionEvent)
        +
        Tests to see if a motion event is touching any nodes within the scene and returns a list of + HitTestResults containing all of the nodes that were hit, sorted by distance.
        +
        +
        Parameters:
        +
        motionEvent - The motion event to use for the test.
        +
        Returns:
        +
        Populated with a HitTestResult for each node that was hit sorted by distance. Empty if + no nodes were hit.
        +
        +
      • +
      + + + +
        +
      • +

        hitTestAll

        +
        public ArrayList<HitTestResult> hitTestAll​(Ray ray)
        +
        Tests to see if a ray is hitting any nodes within the scene and returns a list of + HitTestResults containing all of the nodes that were hit, sorted by distance.
        +
        +
        Parameters:
        +
        ray - The ray to use for the test.
        +
        Returns:
        +
        Populated with a HitTestResult for each node that was hit sorted by distance. Empty if + no nodes were hit.
        +
        See Also:
        +
        Camera.screenPointToRay(float, float)
        +
        +
      • +
      + + + +
        +
      • +

        overlapTest

        +
        @Nullable
        +public Node overlapTest​(Node node)
        +
        Tests to see if the given node's collision shape overlaps the collision shape of any other + nodes in the scene using Node.getCollisionShape(). The node used for testing does not + need to be active.
        +
        +
        Parameters:
        +
        node - The node to use for the test.
        +
        Returns:
        +
        A node that is overlapping the test node. If no node is overlapping the test node, then + this is null. If multiple nodes are overlapping the test node, then this could be any of + them.
        +
        See Also:
        +
        overlapTestAll(Node)
        +
        +
      • +
      + + + +
        +
      • +

        overlapTestAll

        +
        public ArrayList<Node> overlapTestAll​(Node node)
        +
        Tests to see if a node is overlapping any other nodes within the scene using Node.getCollisionShape(). The node used for testing does not need to be active.
        +
        +
        Parameters:
        +
        node - The node to use for the test.
        +
        Returns:
        +
        A list of all nodes that are overlapping the test node. If no node is overlapping the + test node, then the list is empty.
        +
        See Also:
        +
        overlapTest(Node)
        +
        +
      • +
      + + + +
        +
      • +

        setUseHdrLightEstimate

        +
        public void setUseHdrLightEstimate​(boolean useHdrLightEstimate)
        +
        Sets whether the Scene should expect to use an Hdr light estimate, so that Filament light + settings can be adjusted appropriately.
        +
      • +
      + + + +
        +
      • +

        setEnvironmentalHdrLightEstimate

        +
        public void setEnvironmentalHdrLightEstimate​(@Nullable
        +                                             float[] sphericalHarmonics,
        +                                             @Nullable
        +                                             float[] direction,
        +                                             Color colorCorrection,
        +                                             float relativeIntensity,
        +                                             @Nullable
        +                                             Image[] cubeMap)
        +
        Sets the current Hdr Light Estimate state to apply to the Filament scene.
        +
      • +
      + + + +
        +
      • +

        setLightEstimate

        +
        public void setLightEstimate​(Color colorCorrection,
        +                             float pixelIntensity)
        +
        Sets light estimate to modulate the scene lighting and intensity. The rendered lights will use + a combination of these values and the color and intensity of the lights. A value of a white + colorCorrection and pixelIntensity of 1 mean that no changes are made to the light settings. + +

        This is used by AR Sceneform scenes internally to adjust lighting based on values from + ARCore. An AR scene will call this automatically, possibly overriding other settings. In most + cases, you should not need to call this explicitly.

        +
        +
        Parameters:
        +
        colorCorrection - modulates the lighting color of the scene.
        +
        pixelIntensity - modulates the lighting intensity of the scene.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/SceneView.FrameRate.html b/docs/javadoc/com/google/ar/sceneform/SceneView.FrameRate.html new file mode 100644 index 00000000..ecbc1d69 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/SceneView.FrameRate.html @@ -0,0 +1,424 @@ + + + + + +SceneView.FrameRate (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum SceneView.FrameRate

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<SceneView.FrameRate>
    +
    +
    +
    Enclosing class:
    +
    SceneView
    +
    +
    +
    public static enum SceneView.FrameRate
    +extends Enum<SceneView.FrameRate>
    +
    +     Further limit the maximal possible frame rate.
    +     If the max frame rate is 60fps a factor of 1 results in 60fps,
    +     a factor of 2 results in 30fps and a factor of 3 results in 20fps.
    +
    +     In overall this prevents any kind of processing with more than the
    +     calculated max frame rate.
    + 
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        FULL

        +
        public static final SceneView.FrameRate FULL
        +
        divide the maximal allowed frame rate by 1
        +
      • +
      + + + +
        +
      • +

        HALF

        +
        public static final SceneView.FrameRate HALF
        +
        divide the maximal allowed frame rate by 2
        +
      • +
      + + + +
        +
      • +

        THIRD

        +
        public static final SceneView.FrameRate THIRD
        +
        divide the maximal allowed frame rate by 3
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static SceneView.FrameRate[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (SceneView.FrameRate c : SceneView.FrameRate.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static SceneView.FrameRate valueOf​(String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum type has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        factor

        +
        public int factor()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/SceneView.html b/docs/javadoc/com/google/ar/sceneform/SceneView.html new file mode 100644 index 00000000..0adc6369 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/SceneView.html @@ -0,0 +1,850 @@ + + + + + +SceneView (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SceneView

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SceneView

        +
        public SceneView​(Context context)
        +
        Constructs a SceneView object and binds it to an Android Context.
        +
        +
        Parameters:
        +
        context - the Android Context to use
        +
        See Also:
        +
        SceneView(Context, AttributeSet)
        +
        +
      • +
      + + + +
        +
      • +

        SceneView

        +
        public SceneView​(Context context,
        +                 AttributeSet attrs)
        +
        Constructs a SceneView object and binds it to an Android Context.
        +
        +
        Parameters:
        +
        context - the Android Context to use
        +
        attrs - the Android AttributeSet to associate with
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        setTransparent

        +
        public void setTransparent​(boolean transparent)
        +
        Set the background to transparent.
        +
      • +
      + + + +
        +
      • +

        setMaxFramesPerSeconds

        +
        public void setMaxFramesPerSeconds​(int maxFramesPerSeconds)
        +
        +     Set a higher bound for the frame rate. It is possible
        +     to obtain the higher bound from the Session.
        +     session.getCameraConfig().getFpsRange().getUpper();.
        +
        +     The default value is 60.
        + 
        +
        +
        Parameters:
        +
        maxFramesPerSeconds - int
        +
        +
      • +
      + + + +
        +
      • +

        setFrameRateFactor

        +
        public void setFrameRateFactor​(SceneView.FrameRate frameRateFactor)
        +
        +     Set this value for a finer adjustment of the upper fps value.
        +     Three different modes are supported FULL, HALF, THIRD. As the names
        +     already indicate means FULL, use the value from maxFramesPerSeconds. HALF means
        +     to divide maxFramesPerSeconds by 2 and THIRD means to divide maxFramesPerSeconds by 3.
        +
        +     The default FrameRate is set to FULL.
        + 
        +
        +
        Parameters:
        +
        frameRateFactor - SceneView.FrameRate
        +
        +
      • +
      + + + +
        +
      • +

        onLayout

        +
        public void onLayout​(boolean changed,
        +                     int left,
        +                     int top,
        +                     int right,
        +                     int bottom)
        +
        +
        Overrides:
        +
        onLayout in class View
        +
        +
      • +
      + + + +
        +
      • +

        resume

        +
        public void resume()
        +            throws com.google.ar.core.exceptions.CameraNotAvailableException
        +
        Resume Sceneform, which resumes the rendering thread. +

        + Typically called from onResume().

        +
        +
        Throws:
        +
        com.google.ar.core.exceptions.CameraNotAvailableException - if the camera can not be opened
        +
        +
      • +
      + + + +
        +
      • +

        pause

        +
        public void pause()
        +
        Pause Sceneform, which pauses the rendering thread. + +

        Typically called from onPause().

        +
      • +
      + + + +
        +
      • +

        destroy

        +
        public void destroy()
        +
        Required to exit Sceneform. + +

        Typically called from onDestroy().

        +
      • +
      + + + +
        +
      • +

        destroyAllResources

        +
        public static void destroyAllResources()
        +
        Immediately releases all rendering resources, even if in use. + +

        Use this if nothing more will be rendered in this scene or any other, and the memory must be + released immediately.

        +
      • +
      + + + +
        +
      • +

        reclaimReleasedResources

        +
        public static long reclaimReleasedResources()
        +
        Releases rendering resources ready for garbage collection + +

        Called every frame to collect unused resources. May be called manually to release resources + after rendering has stopped.

        +
        +
        Returns:
        +
        Count of resources currently in use
        +
        +
      • +
      + + + +
        +
      • +

        enableDebug

        +
        public void enableDebug​(boolean enable)
        +
        If enabled, provides various visualizations for debugging.
        +
        +
        Parameters:
        +
        enable - True to enable debugging visualizations, false to disable it.
        +
        +
      • +
      + + + +
        +
      • +

        isDebugEnabled

        +
        public boolean isDebugEnabled()
        +
        Indicates whether debugging is enabled for this view.
        +
      • +
      + + + +
        +
      • +

        getRenderer

        +
        @Nullable
        +public Renderer getRenderer()
        +
        Returns the renderer used for this view, or null if the renderer is not setup.
        +
      • +
      + + + +
        +
      • +

        getScene

        +
        public Scene getScene()
        +
        Returns the Sceneform Scene created by this view.
        +
      • +
      + + + +
        +
      • +

        startMirroringToSurface

        +
        public void startMirroringToSurface​(Surface surface,
        +                                    int left,
        +                                    int bottom,
        +                                    int width,
        +                                    int height)
        +
        To capture the contents of this view, designate a Surface onto which this SceneView + should be mirrored. Use MediaRecorder.getSurface(), MediaCodec.createInputSurface() or MediaCodec.createPersistentInputSurface() to obtain the input surface for + recording. This will incur a rendering performance cost and should only be set when capturing + this view. To stop the additional rendering, call stopMirroringToSurface.
        +
        +
        Parameters:
        +
        surface - the Surface onto which the rendered scene should be mirrored.
        +
        left - the left edge of the rectangle into which the view should be mirrored on surface.
        +
        bottom - the bottom edge of the rectangle into which the view should be mirrored on + surface.
        +
        width - the width of the rectangle into which the SceneView should be mirrored on surface.
        +
        height - the height of the rectangle into which the SceneView should be mirrored on + surface.
        +
        +
      • +
      + + + +
        +
      • +

        stopMirroringToSurface

        +
        public void stopMirroringToSurface​(Surface surface)
        +
        When capturing is complete, call this method to stop mirroring the SceneView to the specified + Surface. If this is not called, the additional performance cost will remain. + +

        The application is responsible for calling Surface.release() on the Surface when + done.

        +
      • +
      + + + +
        +
      • +

        onBeginFrame

        +
        protected boolean onBeginFrame​(long frameTimeNanos)
        +
        Update view-specific logic before for each display frame.
        +
        +
        Returns:
        +
        true if the scene should be updated before rendering.
        +
        +
      • +
      + + + +
        +
      • +

        doFrame

        +
        public void doFrame​(long frameTimeNanos)
        +
        Callback that occurs for each display frame. Updates the scene and reposts itself to be called + by the choreographer on the next frame.
        +
        +
        Specified by:
        +
        doFrame in interface Choreographer.FrameCallback
        +
        +
      • +
      + + + +
        +
      • +

        doFrameNoRepost

        +
        public void doFrameNoRepost​(long frameTimeNanos)
        +
        Callback that occurs for each display frame. Updates the scene but does not post a callback + request to the choreographer for the next frame. This is used for testing where on-demand + renders are needed.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Sceneform.html b/docs/javadoc/com/google/ar/sceneform/Sceneform.html new file mode 100644 index 00000000..3cf0a4e4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Sceneform.html @@ -0,0 +1,309 @@ + + + + + +Sceneform (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Sceneform

+
+
+ +
+
    +
  • +
    +
    public class Sceneform
    +extends Object
    +
    Global static Sceneform access class
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Sceneform

        +
        public Sceneform()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isSupported

        +
        public static boolean isSupported​(Context context)
        +
        Returns true if Sceneform can run and is compatible on this device. +

        Sceneform requires Android N on the device as well as OpenGL 3.0 capabilities.

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/Sun.html b/docs/javadoc/com/google/ar/sceneform/Sun.html new file mode 100644 index 00000000..337e435b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/Sun.html @@ -0,0 +1,336 @@ + + + + + +Sun (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Sun

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TransformProvider
    +
    +
    +
    public class Sun
    +extends Node
    +
    Represents the "sun" - the default directional light in the scene. + +

    The following method will throw UnsupportedOperationException when called: setParent(NodeParent) - Sunlight's parent cannot be changed, it is always the scene. + +

    All other functionality in Node is supported. You can access the position and rotation of the + sun, assign a collision shape to the sun, or add children to the sun. Disabling the sun turns off + the default directional light.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setParent

        +
        public void setParent​(@Nullable
        +                      NodeParent parent)
        +
        Description copied from class: Node
        +
        Changes the parent node of this node. If set to null, this node will be detached from its + parent. The local position, rotation, and scale of this node will remain the same. Therefore, + the world position, rotation, and scale of this node may be different after the parent changes. + +

        The parent may be another Node or a Scene. If it is a scene, then this + Node is considered top level. Node.getParent() will return null, and Node.getScene() will return the scene.

        +
        +
        Overrides:
        +
        setParent in class Node
        +
        Parameters:
        +
        parent - The new parent that this node will be a child of. If null, this node will be + detached from its parent.
        +
        See Also:
        +
        Node.getParent(), +Node.getScene()
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/TouchEventSystem.html b/docs/javadoc/com/google/ar/sceneform/TouchEventSystem.html new file mode 100644 index 00000000..5978724c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/TouchEventSystem.html @@ -0,0 +1,422 @@ + + + + + +TouchEventSystem (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TouchEventSystem

+
+
+ +
+
    +
  • +
    +
    public class TouchEventSystem
    +extends Object
    +
    Manages propagation of touch events to node's within a scene. + +

    The way that touch events are propagated mirrors the way touches are propagated to Android + Views. + +

    When an ACTION_DOWN event occurs, that represents that start of a gesture. ACTION_UP or + ACTION_CANCEL represents when a gesture ends. When a gesture starts, the following is done: + +

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TouchEventSystem

        +
        public TouchEventSystem()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        setOnTouchListener

        +
        public void setOnTouchListener​(@Nullable
        +                               Scene.OnTouchListener onTouchListener)
        +
        Register a callback to be invoked when the scene is touched. The callback is invoked before any + node receives the event. If the callback handles the event, then the gesture is never received + by the nodes.
        +
        +
        Parameters:
        +
        onTouchListener - the touch listener to attach
        +
        +
      • +
      + + + +
        +
      • +

        addOnPeekTouchListener

        +
        public void addOnPeekTouchListener​(Scene.OnPeekTouchListener onPeekTouchListener)
        +
        Adds a listener that will be called before the Scene.OnTouchListener is invoked. This + is invoked even if the gesture was consumed, making it possible to observe all motion events + dispatched to the scene. This is called even if the touch is not over a node, in which case + HitTestResult.getNode() will be null. The listeners will be called in the order in + which they were added.
        +
        +
        Parameters:
        +
        onPeekTouchListener - the peek touch listener to add
        +
        +
      • +
      + + + +
        +
      • +

        removeOnPeekTouchListener

        +
        public void removeOnPeekTouchListener​(Scene.OnPeekTouchListener onPeekTouchListener)
        +
        Removes a listener that will be called before the Scene.OnTouchListener is invoked. + This is invoked even if the gesture was consumed, making it possible to observe all motion + events dispatched to the scene. This is called even if the touch is not over a node, in which + case HitTestResult.getNode() will be null.
        +
        +
        Parameters:
        +
        onPeekTouchListener - the peek touch listener to remove
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/AnimatableModel.html b/docs/javadoc/com/google/ar/sceneform/animation/AnimatableModel.html new file mode 100644 index 00000000..cd083e2b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/AnimatableModel.html @@ -0,0 +1,636 @@ + + + + + +AnimatableModel (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AnimatableModel

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    RenderableInstance
    +
    +
    +
    public interface AnimatableModel
    +
    An AnimatableModel is an object whose properties can be animated by an ModelAnimation. + The object animation transformation can be done at the desired frame callback place. + ModelAnimation updates the value (like in a standard + ObjectAnimator context) or to apply them inside a global/common + frame callback. +

    + An AnimatableModel can, for example, update the data of each animated property managed by an + Animator.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimation.PropertyValuesHolder.html b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimation.PropertyValuesHolder.html new file mode 100644 index 00000000..688758cd --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimation.PropertyValuesHolder.html @@ -0,0 +1,391 @@ + + + + + +ModelAnimation.PropertyValuesHolder (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModelAnimation.PropertyValuesHolder

+
+
+ +
+
    +
  • +
    +
    Enclosing class:
    +
    ModelAnimation
    +
    +
    +
    public static class ModelAnimation.PropertyValuesHolder
    +extends Object
    +
    This class holds information about a property and the values that that property + should take during an animation. + PropertyValuesHolder objects can be used to create animations with ObjectAnimator or + that operate on several different properties in parallel. +

    + Using this ModelAnimation.PropertyValuesHolder provide an handled ModelAnimator canceling + since we target a same object and those PropertyValuesHolder have the same property name

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PropertyValuesHolder

        +
        public PropertyValuesHolder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        ofTime

        +
        public static PropertyValuesHolder ofTime​(float... times)
        +
        Constructs and returns a PropertyValuesHolder with a given set of time values.
        +
        +
        Parameters:
        +
        times - The times that the ModelAnimation will animate between. + A time value must be between 0 and ModelAnimation.getDuration()
        +
        Returns:
        +
        PropertyValuesHolder The constructed PropertyValuesHolder object.
        +
        +
      • +
      + + + +
        +
      • +

        ofFrame

        +
        public static PropertyValuesHolder ofFrame​(int... frames)
        +
        Constructs and returns a PropertyValuesHolder with a given set of frame values. + + Warning + Every PropertyValuesHolder that applies a modification on the time position of the + animation should use the ModelAnimation.TIME_POSITION instead of its own Property in order + to possibly cancel any ObjectAnimator operating time modifications on the same + ModelAnimation. + ObjectAnimator.setAutoCancel(boolean) will have no effect + for different property names +

        + That's why we avoid using an ModelAnimation.FRAME_POSITION or ModelAnimation.FRACTION_POSITION Property

        +
        +
        Parameters:
        +
        frames - The frames that the ModelAnimation will animate between.
        +
        Returns:
        +
        PropertyValuesHolder The constructed PropertyValuesHolder object.
        +
        +
      • +
      + + + +
        +
      • +

        ofFraction

        +
        public static PropertyValuesHolder ofFraction​(float... fractions)
        +
        Constructs and returns a PropertyValuesHolder with a given set of fraction values. + + Warning + Every PropertyValuesHolder that applies a modification on the time position of the + animation should use the ModelAnimation.TIME_POSITION instead of its own Property in order + to possibly cancel any ObjectAnimator operating time modifications on the same + ModelAnimation. + ObjectAnimator.setAutoCancel(boolean) will have no effect + for different property names +

        + That's why we avoid using an ModelAnimation.FRAME_POSITION or ModelAnimation.FRACTION_POSITION Property

        +
        +
        Parameters:
        +
        fractions - The fractions that the ModelAnimation will animate between.
        +
        Returns:
        +
        PropertyValuesHolder The constructed PropertyValuesHolder object.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimation.html b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimation.html new file mode 100644 index 00000000..8cf87fb7 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimation.html @@ -0,0 +1,990 @@ + + + + + +ModelAnimation (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModelAnimation

+
+
+ +
+
    +
  • +
    +
    public class ModelAnimation
    +extends Object
    +
    An ModelAnimation is a reusable set of keyframe tracks which represent an animation. +

    + This class provides support for animating time positions on a targeted + AnimatableModel +

    +

    Here are some use cases for animations :

    +
      +
    • + On a very basic 3D model like a single infinite rotating sphere, you should not have to + use this class but probably instead just call + AnimatableModel#animate() +
    • +
    • + For a synchronised animation set like animating a cube and a sphere position and rotation at same + time or sequentially, please consider using an AnimatorSet playing a + ModelAnimator.ofAnimation(AnimatableModel, String...) + or ModelAnimator.ofPropertyValuesHolder(AnimatableModel, android.animation.PropertyValuesHolder...) +
    • +
    • + If the mesh is a character, for example, there may be one ModelAnimation for a walkcycle, a + second for a jump, a third for sidestepping and so on. +
      Assuming a character object has a skeleton, one keyframe track could store the data for the + position changes of the lower arm bone over time, a different track the data for the rotation + changes of the same bone, a third the track position, rotation or scaling of another bone, and so + on. It should be clear, that an ModelAnimation can act on lots of such tracks. +
      Assuming the model has morph targets (for example one morph target showing a friendly face + and another showing an angry face), each track holds the information as to how the influence of a + certain morph target changes during the performance of the clip. + In this case you should manage one ObjectAnimator coming from + ModelAnimator.ofAnimation(AnimatableModel, ModelAnimation...) per action. + And an AnimatorSet to play them sequentially or together. +
    • +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ModelAnimation

        +
        public ModelAnimation​(AnimatableModel model,
        +                      String name,
        +                      int index,
        +                      float duration,
        +                      int frameRate)
        +
        ModelAnimation constructed from an Animator
        +
        +
        Parameters:
        +
        name - This name should corresponds to the one defined and exported in the + AnimatableModel. +
        Typically the action name defined in the 3D creation software.
        +
        index - Zero-based index of the target animation as defined in the + original AnimatableModel
        +
        duration - This original AnimatableModel duration
        +
        frameRate - The frames per second defined in the original animation asset
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        geIndex

        +
        public int geIndex()
        +
        Returns The Zero-based index of the target animation as defined in the original + AnimatableModel
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public String getName()
        +
        Get the name of the animation +

        + This name corresponds to the one defined and exported in the AnimatableModel. +
        Typically the Action names defined in the 3D creation software. +

        +
        +
        Returns:
        +
        Weak reference to the string name of the animation, or + the String.valueOf(animation.getIndex())> if none was specified.
        +
        +
      • +
      + + + +
        +
      • +

        getDuration

        +
        public float getDuration()
        +
        Returns the duration of this animation in seconds.
        +
      • +
      + + + +
        +
      • +

        getDurationMillis

        +
        public long getDurationMillis()
        +
        Returns the duration of this animation in milliseconds.
        +
      • +
      + + + +
        +
      • +

        getFrameRate

        +
        public int getFrameRate()
        +
        Get the frames per second originally defined in the + Animatable.
        +
        +
        Returns:
        +
        The number of frames refresh during one second
        +
        +
      • +
      + + + +
        +
      • +

        getFrameCount

        +
        public int getFrameCount()
        +
        Returns the total number of frames of this animation.
        +
      • +
      + + + +
        +
      • +

        getTimePosition

        +
        public float getTimePosition()
        +
        Get the current time position in seconds at the current animation position.
        +
        +
        Returns:
        +
        timePosition Elapsed time of interest in seconds. Between 0 and + getDuration()
        +
        See Also:
        +
        getDuration()
        +
        +
      • +
      + + + +
        +
      • +

        setTimePosition

        +
        public void setTimePosition​(float timePosition)
        +
        Sets the current position of (seeks) the animation to the specified time position in seconds. +

        + This method will apply rotation, translation, and scale to the AnimatableModel that + have been targeted. +

        +
        +
        Parameters:
        +
        timePosition - Elapsed time of interest in seconds. Between 0 and + getDuration()
        +
        See Also:
        +
        getDuration()
        +
        +
      • +
      + + + +
        +
      • +

        getFramePosition

        +
        public int getFramePosition()
        +
        Get the current frame number at the current animation position.
        +
        +
        Returns:
        +
        Frame number on the timeline. Between 0 and getFrameCount()
        +
        See Also:
        +
        getTimePosition(), +getFrameCount()
        +
        +
      • +
      + + + +
        +
      • +

        setFramePosition

        +
        public void setFramePosition​(int frameNumber)
        +
        Sets the current position of (seeks) the animation to the specified frame number according to + the getFrameRate().
        +
        +
        Parameters:
        +
        frameNumber - Frame number in the timeline. Between 0 and getFrameCount()
        +
        See Also:
        +
        setTimePosition(float), +getFrameCount()
        +
        +
      • +
      + + + +
        +
      • +

        getFractionPosition

        +
        public float getFractionPosition()
        +
        Get the fractional value at the current animation position.
        +
        +
        Returns:
        +
        The fractional (percent) position. Between 0 and 1
        +
        See Also:
        +
        getTimePosition()
        +
        +
      • +
      + + + +
        +
      • +

        setFractionPosition

        +
        public void setFractionPosition​(float fractionPosition)
        +
        Sets the current position of (seeks) the animation to the specified fraction + position.
        +
        +
        Parameters:
        +
        fractionPosition - The fractional (percent) position. Between 0 and 1.
        +
        See Also:
        +
        setTimePosition(float)
        +
        +
      • +
      + + + +
        +
      • +

        isDirty

        +
        public boolean isDirty()
        +
        Internal usage for applying changes according to rendering update hierarchy. +
        Time position must be applied inside a global Choreographer frame + callback to ensure that the transformations are applied in a hierarchical order.
        +
        +
        Returns:
        +
        true if changes has been made
        +
        +
      • +
      + + + +
        +
      • +

        setDirty

        +
        public void setDirty​(boolean isDirty)
        +
        Set the state of this object properties to changed. + And tell the AnimatableModel to take care of it.
        +
      • +
      + + + +
        +
      • +

        getTimeAtFrame

        +
        public float getTimeAtFrame​(int frame)
        +
        Get the elapsed time in seconds of a frame position
        +
        +
        Parameters:
        +
        frame - Frame number on the timeline
        +
        Returns:
        +
        Elapsed time of interest in seconds
        +
        +
      • +
      + + + +
        +
      • +

        getFrameAtTime

        +
        public int getFrameAtTime​(float time)
        +
        Get the frame position at the elapsed time in seconds.
        +
        +
        Parameters:
        +
        time - Elapsed time of interest in seconds
        +
        Returns:
        +
        The frame number at the specified time
        +
        +
      • +
      + + + +
        +
      • +

        getTimeAtFraction

        +
        public float getTimeAtFraction​(float fraction)
        +
        Get the elapsed time in seconds of a fraction position
        +
        +
        Parameters:
        +
        fraction - The fractional (from 0 to 1) value of interest
        +
        Returns:
        +
        Elapsed time at the specified fraction
        +
        +
      • +
      + + + +
        +
      • +

        getFractionAtTime

        +
        public float getFractionAtTime​(float time)
        +
        Get the fraction position at the elapsed time in seconds.
        +
        +
        Parameters:
        +
        time - Elapsed time of interest in seconds.
        +
        Returns:
        +
        The fractional (from 0 to 1) value at the specified time
        +
        +
      • +
      + + + +
        +
      • +

        frameToTime

        +
        public static float frameToTime​(int frame,
        +                                int frameRate)
        +
        Get the elapsed time in seconds of a frame position
        +
        +
        Parameters:
        +
        frame - Frame number on the timeline
        +
        frameRate - The frames per second of the animation
        +
        Returns:
        +
        Elapsed time of interest in seconds
        +
        +
      • +
      + + + +
        +
      • +

        timeToFrame

        +
        public static int timeToFrame​(float time,
        +                              int frameRate)
        +
        Get the frame position at the elapsed time in seconds.
        +
        +
        Parameters:
        +
        time - Elapsed time of interest in seconds.
        +
        frameRate - The frames per second of the animation
        +
        Returns:
        +
        The frame number at the specified time
        +
        +
      • +
      + + + +
        +
      • +

        fractionToTime

        +
        public static float fractionToTime​(float fraction,
        +                                   float duration)
        +
        Get the elapsed time in seconds of a fraction position
        +
        +
        Parameters:
        +
        fraction - The fractional (from 0 to 1) value of interest
        +
        duration - Duration in seconds
        +
        Returns:
        +
        Elapsed time at the specified fraction
        +
        +
      • +
      + + + +
        +
      • +

        timeToFraction

        +
        public static float timeToFraction​(float time,
        +                                   float duration)
        +
        Get the fraction position at the elapsed time in seconds.
        +
        +
        Parameters:
        +
        time - Elapsed time of interest in seconds.
        +
        duration - Duration in seconds
        +
        Returns:
        +
        The fractional (from 0 to 1) value at the specified time
        +
        +
      • +
      + + + +
        +
      • +

        secondsToMillis

        +
        public static long secondsToMillis​(float time)
        +
        Convert time in seconds to time in millis
        +
        +
        Parameters:
        +
        time - Elapsed time of interest in seconds.
        +
        Returns:
        +
        Elapsed time of interest in milliseconds
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimator.PropertyValuesHolder.html b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimator.PropertyValuesHolder.html new file mode 100644 index 00000000..e6dfd3b0 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimator.PropertyValuesHolder.html @@ -0,0 +1,604 @@ + + + + + +ModelAnimator.PropertyValuesHolder (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModelAnimator.PropertyValuesHolder

+
+
+ +
+
    +
  • +
    +
    Enclosing class:
    +
    ModelAnimator
    +
    +
    +
    public static class ModelAnimator.PropertyValuesHolder
    +extends Object
    +
    This class holds information about a property and the values that that property + should take during an animation. +

    PropertyValuesHolder objects can be used to create animations with ObjectAnimator or + that operate on several different properties in parallel.

    + +

    Warning:

    +

    Using this PropertyValuesHolder is very useful for targeting multiple + time or frame properties of multiple animations inside a same ObjectAnimator model

    +

    and insure a less consuming Choreographer.FrameCallback than + using AnimatorSet.playTogether(android.animation.Animator...)

    +

    but If you want to use the + ObjectAnimator.setAutoCancel(boolean) functionality, you have to + take care of this :

    + +
    + ObjectAnimator.hasSameTargetAndProperties(Animator anim) {
    +      PropertyValuesHolder[] theirValues = ((ObjectAnimator) anim).getValues();
    +      if (((ObjectAnimator) anim).getTarget() == getTarget() &&
    +              mValues.length == theirValues.length) {
    +          for (int i = 0; i < mValues.length; ++i) {
    +              PropertyValuesHolder pvhMine = mValues[i];
    +              PropertyValuesHolder pvhTheirs = theirValues[i];
    +              if (pvhMine.getPropertyName() == null ||
    +                      !pvhMine.getPropertyName().equals(pvhTheirs.getPropertyName())) {
    +                  return false;
    +              }
    +          }
    +          return true;
    +      }
    +  }
    + 
    +
    +
    See Also:
    +
    ObjectAnimator
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PropertyValuesHolder

        +
        public PropertyValuesHolder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        ofAnimation

        +
        public static PropertyValuesHolder ofAnimation​(ModelAnimation animation)
        +
        Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation. + This method applies by default this to the returned ObjectAnimator : +
        +
        +
        Parameters:
        +
        animation - The animation of interest
        +
        Returns:
        +
        The constructed PropertyValuesHolder object.
        +
        +
      • +
      + + + +
        +
      • +

        ofAnimationTime

        +
        public static PropertyValuesHolder ofAnimationTime​(String animationName,
        +                                                   float... times)
        +
        Constructs and returns a PropertyValuesHolder for a targeted animation set of time + values.
        +
        +
        Parameters:
        +
        animationName - The string name of the animation. +
        This name should correspond to the one defined and exported in + the model. +
        Typically the action name defined in the 3D creation software. + ModelAnimation.getName()
        +
        times - The elapsed times (between 0 and ModelAnimation.getDuration() + that the ModelAnimation will animate between.
        +
        Returns:
        +
        The constructed PropertyValuesHolder object.
        +
        See Also:
        +
        ofAnimationTime(ModelAnimation, float...)
        +
        +
      • +
      + + + +
        +
      • +

        ofAnimationTime

        +
        public static PropertyValuesHolder ofAnimationTime​(ModelAnimation animation,
        +                                                   float... times)
        +
        Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of time values. +
          +
        • A single value implies that that value is the one being animated to starting from the + actual value on the provided ModelAnimation.
        • +
        • Two values imply a starting and ending values.
        • +
        • More than two values imply a starting value, values to animate through along the way, + and an ending value (these values will be distributed evenly across the duration of the + animation).
        • +
        +

        + The properties (time, frame,... position) are applied to the AnimatableModel +
        This method applies by default this to the returned ObjectAnimator : +

        +
        +
        +
        Parameters:
        +
        animation - The animation of interest
        +
        times - The elapsed times (between 0 and ModelAnimation.getDuration() + that the ModelAnimation will animate between.
        +
        Returns:
        +
        The constructed PropertyValuesHolder object.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        ofAnimationFrame

        +
        public static PropertyValuesHolder ofAnimationFrame​(ModelAnimation animation,
        +                                                    int... frames)
        +
        Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of frame values. +
          +
        • A single value implies that that value is the one being animated to starting from the + actual value on the provided ModelAnimation.
        • +
        • Two values imply a starting and ending values.
        • +
        • More than two values imply a starting value, values to animate through along the way, + and an ending value (these values will be distributed evenly across the duration of the + animation).
        • +
        +

        + The properties (time, frame,... position) are applied to the AnimatableModel +
        This method applies by default this to the returned ObjectAnimator : +

        +
        +
        +
        Parameters:
        +
        animation - The animation of interest
        +
        frames - The frame numbers (between 0 and ModelAnimation.getFrameCount() that + the ModelAnimation will animate between.
        +
        Returns:
        +
        The constructed PropertyValuesHolder object.
        +
        +
      • +
      + + + +
        +
      • +

        ofAnimationFraction

        +
        public static PropertyValuesHolder ofAnimationFraction​(String animationName,
        +                                                       float... fractions)
        +
        Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of fraction values.
        +
        +
        Parameters:
        +
        animationName - The string name of the animation. +
        This name should correspond to the one defined and exported in + the model. +
        Typically the action name defined in the 3D creation software. + ModelAnimation.getName()
        +
        fractions - The fractions (percentage) (between 0 and 1)
        +
        Returns:
        +
        The constructed PropertyValuesHolder object.
        +
        See Also:
        +
        ofAnimationFraction(ModelAnimation, float...)
        +
        +
      • +
      + + + +
        +
      • +

        ofAnimationFraction

        +
        public static PropertyValuesHolder ofAnimationFraction​(ModelAnimation animation,
        +                                                       float... fractions)
        +
        Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of fraction values. +
          +
        • A single value implies that that value is the one being animated to starting from the + actual value on the provided ModelAnimation.
        • +
        • Two values imply a starting and ending values.
        • +
        • More than two values imply a starting value, values to animate through along the way, + and an ending value (these values will be distributed evenly across the duration of the + animation).
        • +
        +

        + The properties (time, frame,... position) are applied to the AnimatableModel +
        This method applies by default this to the returned ObjectAnimator : +

        +
        +
        +
        Parameters:
        +
        animation - The animation of interest
        +
        fractions - The fractions (percentage) (between 0 and 1)
        +
        Returns:
        +
        The constructed PropertyValuesHolder object.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimator.html b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimator.html new file mode 100644 index 00000000..970256be --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/ModelAnimator.html @@ -0,0 +1,1075 @@ + + + + + +ModelAnimator (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModelAnimator

+
+
+ +
+
    +
  • +
    +
    public class ModelAnimator
    +extends Object
    +
    This class provides support for animating an AnimatableModel +

    Usage

    + +

    + By default the ModelAnimator can play the full ModelAnimation starting from 0 to + the animation duration with: +

    +
    + ofAnimation(AnimatableModel, String...)
    + 
    +

    + If you want to specify a start and end, you should use: +

    +
    + ofAnimationTime(AnimatableModel, String, float...)
    + 
    +
    + ofAnimationFrame(AnimatableModel, String, int...)
    + 
    +
    + ofAnimationFraction(AnimatableModel, String, float...)
    + 
    + +

    Use cases

    + +

    Simple usage

    +

    + On a very basic 3D model like a single infinite rotating sphere, you should not have to + use ModelAnimator but probably instead just call: +

    +
    + AnimatableModel.animate(boolean)
    + 
    + +

    Single Model with Single Animation

    +

    + If you want to animate a single model to a specific timeline position, use: +

    +
    + ofAnimationTime(AnimatableModel, String, float...)
    + 
    +
    + ofAnimationFrame(AnimatableModel, String, int...)
    + 
    +
    + ofAnimationFraction(AnimatableModel, String, float...)
    + 
    +
      +
    • + A single time, frame, fraction value will go from the actual position to the desired one +
    • +
    • + Two values means form value1 to value2 +
    • +
    • + More than two values means form value1 to value2 then to value3 +
    + Example: +
    + ModelAnimator.ofAnimationFraction(model, "VerticalTranslation", 0f, 0.8f, 0f).start();
    + 
    + +

    Single Model with Multiple Animations

    +

    + If the model is a character, for example, there may be one ModelAnimation for a walkcycle, a + second for a jump, a third for sidestepping and so on. +

    +
    + ofAnimation(AnimatableModel, String...)
    + 
    +
    + ofMultipleAnimations(AnimatableModel, String...)
    + 
    + Example: +

    + Here you can see that no call to animator.cancel() is required because the + animator.setAutoCancel(boolean) is set to true by default. +

    +
    + ObjectAnimator walkAnimator = ModelAnimator.ofAnimation(model, "walk");
    + walkButton.setOnClickListener(v -> walkAnimator.start());
    +
    + ObjectAnimator runAnimator = ModelAnimator.ofAnimation(model, "run");
    + runButton.setOnClickListener(v -> runAnimator.start());
    + 
    + or sequentially: +
    + AnimatorSet animatorSet = new AnimatorSet();
    + animatorSet.playSequentially(ModelAnimator.ofMultipleAnimations(model, "walk", "run"));
    + animatorSet.start();
    + 
    +

    Multiple Models with Multiple Animations

    +

    + For a synchronised animation set like animating a complete scene with multiple models + time or sequentially, please consider using an AnimatorSet with one + ModelAnimator parametrized per step : +

    + Example: +
    + AnimatorSet completeFly = new AnimatorSet();
    +
    + ObjectAnimator liftOff = ModelAnimator.ofAnimationFraction(airPlaneModel, "FlyAltitude",0, 40);
    + liftOff.setInterpolator(new AccelerateInterpolator());
    +
    + AnimatorSet flying = new AnimatorSet();
    + ObjectAnimator flyAround = ModelAnimator.ofAnimation(airPlaneModel, "FlyAround");
    + flyAround.setRepeatCount(ValueAnimator.INFINITE);
    + flyAround.setDuration(10000);
    + ObjectAnimator airportBusHome = ModelAnimator.ofAnimationFraction(busModel, "Move", 0);
    + flying.playTogether(flyAround, airportBusHome);
    +
    + ObjectAnimator land = ModelAnimator.ofAnimationFraction(airPlaneModel, "FlyAltitude", 0);
    + land.setInterpolator(new DecelerateInterpolator());
    +
    + completeFly.playSequentially(liftOff, flying, land);
    + 
    + +

    Morphing animation

    +

    + Assuming a character object has a skeleton, one keyframe track could store the data for the + position changes of the lower arm bone over time, a different track the data for the rotation + changes of the same bone, a third the track position, rotation or scaling of another bone, and so + on. It should be clear, that an ModelAnimation can act on lots of such tracks. +

    +

    + Assuming the model has morph targets (for example one morph target showing a friendly face + and another showing an angry face), each track holds the information as to how the influence of a + certain morph target changes during the performance of the clip. +

    +

    + In a glTF context, this Animator updates matrices according to glTF + animation and skin definitions. +

    + +

    ModelAnimator can be used for two things

    +
      +
    • + Updating matrices in TransformManager components according to the model + animation definitions. +
    • +
    • + Updating bone matrices in RenderableManager components according to the model + skin definitions. +
    • +
    +

    + Every PropertyValuesHolder that applies a modification on the time position of the animation + must use the ModelAnimation.TIME_POSITION instead of its own Property in order to possibly cancel + any ObjectAnimator operating time modifications on the same ModelAnimation. +

    +

    + More information about Animator: + + https://developer.android.com/guide/topics/graphics/prop-animation + +

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/package-summary.html b/docs/javadoc/com/google/ar/sceneform/animation/package-summary.html new file mode 100644 index 00000000..64018a9b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/package-summary.html @@ -0,0 +1,203 @@ + + + + + +com.google.ar.sceneform.animation (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.google.ar.sceneform.animation

+
+
+ +
+
+ + + diff --git a/docs/javadoc/com/google/ar/sceneform/animation/package-tree.html b/docs/javadoc/com/google/ar/sceneform/animation/package-tree.html new file mode 100644 index 00000000..658bf33a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/animation/package-tree.html @@ -0,0 +1,170 @@ + + + + + +com.google.ar.sceneform.animation Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.google.ar.sceneform.animation

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/Box.html b/docs/javadoc/com/google/ar/sceneform/collision/Box.html new file mode 100644 index 00000000..d6f921d4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/Box.html @@ -0,0 +1,601 @@ + + + + + +Box (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Box

+
+
+ +
+
    +
  • +
    +
    public class Box
    +extends CollisionShape
    +
    Mathematical representation of a box. Used to perform intersection and collision tests against + oriented boxes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Box

        +
        public Box()
        +
        Create a box with a center of (0,0,0) and a size of (1,1,1).
        +
      • +
      + + + +
        +
      • +

        Box

        +
        public Box​(Vector3 size)
        +
        Create a box with a center of (0,0,0) and a specified size.
        +
        +
        Parameters:
        +
        size - the size of the box.
        +
        +
      • +
      + + + +
        +
      • +

        Box

        +
        public Box​(Vector3 size,
        +           Vector3 center)
        +
        Create a box with a specified center and size.
        +
        +
        Parameters:
        +
        size - the size of the box
        +
        center - the center of the box
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setCenter

        +
        public void setCenter​(Vector3 center)
        +
        Set the center of this box.
        +
        +
        Parameters:
        +
        center - the new center of the box
        +
        See Also:
        +
        getCenter()
        +
        +
      • +
      + + + +
        +
      • +

        getCenter

        +
        public Vector3 getCenter()
        +
        Get a copy of the box's center.
        +
        +
        Returns:
        +
        a new vector that represents the box's center
        +
        See Also:
        +
        setCenter(Vector3)
        +
        +
      • +
      + + + +
        +
      • +

        setSize

        +
        public void setSize​(Vector3 size)
        +
        Set the size of this box.
        +
        +
        Parameters:
        +
        size - the new size of the box
        +
        See Also:
        +
        getSize()
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public Vector3 getSize()
        +
        Get a copy of the box's size.
        +
        +
        Returns:
        +
        a new vector that represents the box's size
        +
        See Also:
        +
        setSize(Vector3)
        +
        +
      • +
      + + + +
        +
      • +

        getExtents

        +
        public Vector3 getExtents()
        +
        Calculate the extents (half the size) of the box.
        +
        +
        Returns:
        +
        a new vector that represents the box's extents
        +
        +
      • +
      + + + +
        +
      • +

        setRotation

        +
        public void setRotation​(Quaternion rotation)
        +
        Set the rotation of this box.
        +
        +
        Parameters:
        +
        rotation - the new rotation of the box
        +
        See Also:
        +
        getRotation()
        +
        +
      • +
      + + + +
        +
      • +

        getRotation

        +
        public Quaternion getRotation()
        +
        Get a copy of the box's rotation.
        +
        +
        Returns:
        +
        a new quaternion that represents the box's rotation
        +
        See Also:
        +
        setRotation(Quaternion)
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/Collider.html b/docs/javadoc/com/google/ar/sceneform/collision/Collider.html new file mode 100644 index 00000000..6ba3f9a5 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/Collider.html @@ -0,0 +1,380 @@ + + + + + +Collider (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Collider

+
+
+ +
+
    +
  • +
    +
    public class Collider
    +extends Object
    +
    Represents the collision information associated with a transformation that can be attached to the + collision system. Not publicly exposed.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setShape

        +
        public void setShape​(CollisionShape localCollisionShape)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        getTransformedShape

        +
        @Nullable
        +public CollisionShape getTransformedShape()
        +
      • +
      + + + +
        +
      • +

        setAttachedCollisionSystem

        +
        public void setAttachedCollisionSystem​(@Nullable
        +                                       CollisionSystem collisionSystem)
        +
      • +
      + + + +
        +
      • +

        markWorldShapeDirty

        +
        public void markWorldShapeDirty()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/CollisionShape.html b/docs/javadoc/com/google/ar/sceneform/collision/CollisionShape.html new file mode 100644 index 00000000..464f4f04 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/CollisionShape.html @@ -0,0 +1,344 @@ + + + + + +CollisionShape (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CollisionShape

+
+
+ +
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    Box, Sphere
    +
    +
    +
    public abstract class CollisionShape
    +extends Object
    +
    Base class for all types of shapes that collision checks can be performed against.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        onChanged

        +
        protected void onChanged()
        +
        Must be called by subclasses when the shape changes to inform listeners of the change.
        +
      • +
      + + + +
        +
      • +

        rayIntersection

        +
        protected abstract boolean rayIntersection​(Ray ray,
        +                                           RayHit result)
        +
      • +
      + + + +
        +
      • +

        shapeIntersection

        +
        protected abstract boolean shapeIntersection​(CollisionShape shape)
        +
      • +
      + + + +
        +
      • +

        sphereIntersection

        +
        protected abstract boolean sphereIntersection​(Sphere sphere)
        +
      • +
      + + + +
        +
      • +

        boxIntersection

        +
        protected abstract boolean boxIntersection​(Box box)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/CollisionSystem.html b/docs/javadoc/com/google/ar/sceneform/collision/CollisionSystem.html new file mode 100644 index 00000000..ce010782 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/CollisionSystem.html @@ -0,0 +1,388 @@ + + + + + +CollisionSystem (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CollisionSystem

+
+
+ +
+
    +
  • +
    +
    public class CollisionSystem
    +extends Object
    +
    Manages all of the colliders within a scene.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CollisionSystem

        +
        public CollisionSystem()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/Plane.html b/docs/javadoc/com/google/ar/sceneform/collision/Plane.html new file mode 100644 index 00000000..56b9d324 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/Plane.html @@ -0,0 +1,365 @@ + + + + + +Plane (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Plane

+
+
+ +
+
    +
  • +
    +
    public class Plane
    +extends Object
    +
    Mathematical representation of a plane with an infinite size. Used for intersection tests.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setCenter

        +
        public void setCenter​(Vector3 center)
        +
      • +
      + + + +
        +
      • +

        getCenter

        +
        public Vector3 getCenter()
        +
      • +
      + + + +
        +
      • +

        setNormal

        +
        public void setNormal​(Vector3 normal)
        +
      • +
      + + + +
        +
      • +

        getNormal

        +
        public Vector3 getNormal()
        +
      • +
      + + + +
        +
      • +

        rayIntersection

        +
        public boolean rayIntersection​(Ray ray,
        +                               RayHit result)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/Ray.html b/docs/javadoc/com/google/ar/sceneform/collision/Ray.html new file mode 100644 index 00000000..0eb658ba --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/Ray.html @@ -0,0 +1,443 @@ + + + + + +Ray (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Ray

+
+
+ +
+
    +
  • +
    +
    public class Ray
    +extends Object
    +
    Mathematical representation of a ray. Used to perform intersection and collision tests.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Ray

        +
        public Ray()
        +
        Create a ray with an origin of (0,0,0) and a direction of Vector3.forward().
        +
      • +
      + + + +
        +
      • +

        Ray

        +
        public Ray​(Vector3 origin,
        +           Vector3 direction)
        +
        Create a ray with a specified origin and direction. The direction will automatically be + normalized.
        +
        +
        Parameters:
        +
        origin - the ray's origin
        +
        direction - the ray's direction
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setOrigin

        +
        public void setOrigin​(Vector3 origin)
        +
        Set the origin of the ray in world coordinates.
        +
        +
        Parameters:
        +
        origin - the new origin of the ray.
        +
        +
      • +
      + + + +
        +
      • +

        getOrigin

        +
        public Vector3 getOrigin()
        +
        Get the origin of the ray.
        +
        +
        Returns:
        +
        a new vector that represents the ray's origin
        +
        +
      • +
      + + + +
        +
      • +

        setDirection

        +
        public void setDirection​(Vector3 direction)
        +
        Set the direction of the ray. The direction will automatically be normalized.
        +
        +
        Parameters:
        +
        direction - the new direction of the ray
        +
        +
      • +
      + + + +
        +
      • +

        getDirection

        +
        public Vector3 getDirection()
        +
        Get the direction of the ray.
        +
        +
        Returns:
        +
        a new vector that represents the ray's direction
        +
        +
      • +
      + + + +
        +
      • +

        getPoint

        +
        public Vector3 getPoint​(float distance)
        +
        Get a point at a distance along the ray.
        +
        +
        Parameters:
        +
        distance - distance along the ray of the point
        +
        Returns:
        +
        a new vector that represents a point at a distance along the ray.
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/RayHit.html b/docs/javadoc/com/google/ar/sceneform/collision/RayHit.html new file mode 100644 index 00000000..9b72ad82 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/RayHit.html @@ -0,0 +1,393 @@ + + + + + +RayHit (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RayHit

+
+
+ +
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    HitTestResult
    +
    +
    +
    public class RayHit
    +extends Object
    +
    Stores the results of ray intersection tests against various types of CollisionShape.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RayHit

        +
        public RayHit()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setDistance

        +
        public void setDistance​(float distance)
        +
      • +
      + + + +
        +
      • +

        getDistance

        +
        public float getDistance()
        +
        Get the distance along the ray to the impact point on the surface of the collision shape.
        +
        +
        Returns:
        +
        distance along the ray that the hit occurred at
        +
        +
      • +
      + + + +
        +
      • +

        setPoint

        +
        public void setPoint​(Vector3 point)
        +
      • +
      + + + +
        +
      • +

        getPoint

        +
        public Vector3 getPoint()
        +
        Get the position in world-space where the ray hit the collision shape.
        +
        +
        Returns:
        +
        a new vector that represents the position in world-space that the hit occurred at
        +
        +
      • +
      + + + +
        +
      • +

        set

        +
        public void set​(RayHit other)
        +
      • +
      + + + +
        +
      • +

        reset

        +
        public void reset()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/Sphere.html b/docs/javadoc/com/google/ar/sceneform/collision/Sphere.html new file mode 100644 index 00000000..92da967b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/Sphere.html @@ -0,0 +1,534 @@ + + + + + +Sphere (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Sphere

+
+
+ +
+
    +
  • +
    +
    public class Sphere
    +extends CollisionShape
    +
    Mathematical representation of a sphere. Used to perform intersection and collision tests against + spheres.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Sphere

        +
        public Sphere()
        +
        Create a sphere with a center of (0,0,0) and a radius of 1.
        +
      • +
      + + + +
        +
      • +

        Sphere

        +
        public Sphere​(float radius)
        +
        Create a sphere with a center of (0,0,0) and a specified radius.
        +
        +
        Parameters:
        +
        radius - the radius of the sphere
        +
        +
      • +
      + + + +
        +
      • +

        Sphere

        +
        public Sphere​(float radius,
        +              Vector3 center)
        +
        Create a sphere with a specified center and radius.
        +
        +
        Parameters:
        +
        radius - the radius of the sphere
        +
        center - the center of the sphere
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setCenter

        +
        public void setCenter​(Vector3 center)
        +
        Set the center of this sphere.
        +
        +
        Parameters:
        +
        center - the new center of the sphere
        +
        See Also:
        +
        getCenter()
        +
        +
      • +
      + + + +
        +
      • +

        getCenter

        +
        public Vector3 getCenter()
        +
        Get a copy of the sphere's center.
        +
        +
        Returns:
        +
        a new vector that represents the sphere's center
        +
        See Also:
        +
        setCenter(Vector3)
        +
        +
      • +
      + + + +
        +
      • +

        setRadius

        +
        public void setRadius​(float radius)
        +
        Set the radius of the sphere.
        +
        +
        Parameters:
        +
        radius - the new radius of the sphere
        +
        See Also:
        +
        getRadius()
        +
        +
      • +
      + + + +
        +
      • +

        getRadius

        +
        public float getRadius()
        +
        Get the radius of the sphere.
        +
        +
        Returns:
        +
        the radius of the sphere
        +
        See Also:
        +
        setRadius(float)
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/package-summary.html b/docs/javadoc/com/google/ar/sceneform/collision/package-summary.html new file mode 100644 index 00000000..15f2498a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/package-summary.html @@ -0,0 +1,209 @@ + + + + + +com.google.ar.sceneform.collision (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.google.ar.sceneform.collision

+
+
+ +
+
+ + + diff --git a/docs/javadoc/com/google/ar/sceneform/collision/package-tree.html b/docs/javadoc/com/google/ar/sceneform/collision/package-tree.html new file mode 100644 index 00000000..708ce93e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/collision/package-tree.html @@ -0,0 +1,171 @@ + + + + + +com.google.ar.sceneform.collision Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.google.ar.sceneform.collision

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • com.google.ar.sceneform.collision.Collider
    • +
    • com.google.ar.sceneform.collision.CollisionShape +
        +
      • com.google.ar.sceneform.collision.Box
      • +
      • com.google.ar.sceneform.collision.Sphere
      • +
      +
    • +
    • com.google.ar.sceneform.collision.CollisionSystem
    • +
    • com.google.ar.sceneform.collision.Plane
    • +
    • com.google.ar.sceneform.collision.Ray
    • +
    • com.google.ar.sceneform.collision.RayHit
    • +
    +
  • +
+
+
+
+ + + diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnSessionInitializationListener.html b/docs/javadoc/com/google/ar/sceneform/common/TransformProvider.html similarity index 51% rename from docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnSessionInitializationListener.html rename to docs/javadoc/com/google/ar/sceneform/common/TransformProvider.html index 17190341..ebf437d0 100644 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnSessionInitializationListener.html +++ b/docs/javadoc/com/google/ar/sceneform/common/TransformProvider.html @@ -1,42 +1,58 @@ - + -BaseArFragment.OnSessionInitializationListener (ux API) +TransformProvider (core 1.19.4 API) + + + + + + + + +var pathtoroot = "../../../../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
+ +
+
-
com.google.ar.sceneform.ux
-

Interface BaseArFragment.OnSessionInitializationListener

+ +

Interface TransformProvider

  • -
    Enclosing class:
    -
    BaseArFragment
    +
    All Known Subinterfaces:
    +
    CameraProvider
    +
    +
    +
    All Known Implementing Classes:
    +
    AnchorNode, Camera, Node, Sun

    -
    -
    public static interface BaseArFragment.OnSessionInitializationListener
    -
    Invoked when the ARCore Session is initialized.
    +
    public interface TransformProvider
    +
    Interface for providing information about a 3D transformation. See Node.
@@ -111,27 +140,28 @@

  • +
    +
  • @@ -139,45 +169,43 @@

    Method Summary

    +
    + diff --git a/docs/javadoc/com/google/ar/sceneform/common/package-summary.html b/docs/javadoc/com/google/ar/sceneform/common/package-summary.html new file mode 100644 index 00000000..3996fa78 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/common/package-summary.html @@ -0,0 +1,166 @@ + + + + + +com.google.ar.sceneform.common (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform.common

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/common/package-tree.html b/docs/javadoc/com/google/ar/sceneform/common/package-tree.html new file mode 100644 index 00000000..304a680e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/common/package-tree.html @@ -0,0 +1,157 @@ + + + + + +com.google.ar.sceneform.common Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform.common

    +Package Hierarchies: + +
    +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/AabbDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/AabbDef.html new file mode 100644 index 00000000..53f06cda --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/AabbDef.html @@ -0,0 +1,433 @@ + + + + + +AabbDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AabbDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class AabbDef
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AabbDef

          +
          public AabbDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          min

          +
          public Vec3 min()
          +
        • +
        + + + +
          +
        • +

          min

          +
          public Vec3 min​(Vec3 obj)
          +
        • +
        + + + +
          +
        • +

          max

          +
          public Vec3 max()
          +
        • +
        + + + +
          +
        • +

          max

          +
          public Vec3 max​(Vec3 obj)
          +
        • +
        + + + +
          +
        • +

          createAabbDef

          +
          public static int createAabbDef​(FlatBufferBuilder builder,
          +                                float min_x,
          +                                float min_y,
          +                                float min_z,
          +                                float max_x,
          +                                float max_y,
          +                                float max_z)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ArcDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ArcDef.html new file mode 100644 index 00000000..3e310ad6 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ArcDef.html @@ -0,0 +1,462 @@ + + + + + +ArcDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ArcDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ArcDef
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ArcDef

          +
          public ArcDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          startAngle

          +
          public float startAngle()
          +
          The angle (in radians) in which the start of the arc should be poised at. + 0 = vertical [0,1]. PI = [0,-1], PI/2 = [1,0].
          +
        • +
        + + + +
          +
        • +

          angleSize

          +
          public float angleSize()
          +
          Size of the arc measured in radians. PI = half circle, 2 PI = full circle.
          +
        • +
        + + + +
          +
        • +

          innerRadius

          +
          public float innerRadius()
          +
          Inner radius of the arc.
          +
        • +
        + + + +
          +
        • +

          outerRadius

          +
          public float outerRadius()
          +
          Outer radius of the arc.
          +
        • +
        + + + +
          +
        • +

          numSamples

          +
          public int numSamples()
          +
          Number of samples used for drawing the arc.
          +
        • +
        + + + +
          +
        • +

          createArcDef

          +
          public static int createArcDef​(FlatBufferBuilder builder,
          +                               float startAngle,
          +                               float angleSize,
          +                               float innerRadius,
          +                               float outerRadius,
          +                               int numSamples)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/AxisSystem.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/AxisSystem.html new file mode 100644 index 00000000..cc10ed01 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/AxisSystem.html @@ -0,0 +1,758 @@ + + + + + +AxisSystem (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AxisSystem

    +
    +
    + +
    +
      +
    • +
      +
      public final class AxisSystem
      +extends Object
      +
      List of different ways to interpret the orientation axis of an asset when + importing it.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/BlendShape.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/BlendShape.html new file mode 100644 index 00000000..3b97d4a2 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/BlendShape.html @@ -0,0 +1,1147 @@ + + + + + +BlendShape (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class BlendShape

    +
    +
    + +
    +
      +
    • +
      +
      public final class BlendShape
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          BlendShape

          +
          public BlendShape()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          name

          +
          public long name()
          +
          The name of this blend shape.
          +
        • +
        + + + +
          +
        • +

          vertexData

          +
          public int vertexData​(int j)
          +
          Contents vertex data of mesh vertices but with positions and normals + adjusted to match this blend shape. Store only those vertices that differ + from mesh vertices in attributes beyond Tangent.
          +
        • +
        + + + +
          +
        • +

          vertexDataLength

          +
          public int vertexDataLength()
          +
        • +
        + + + +
          +
        • +

          vertexDataAsByteBuffer

          +
          public ByteBuffer vertexDataAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          vertexIndices32

          +
          public long vertexIndices32​(int j)
          +
          Indices of fully stored vertices. Will either be an array of 16-bit or + 32-bit values.
          +
        • +
        + + + +
          +
        • +

          vertexIndices32Length

          +
          public int vertexIndices32Length()
          +
        • +
        + + + +
          +
        • +

          vertexIndices32AsByteBuffer

          +
          public ByteBuffer vertexIndices32AsByteBuffer()
          +
        • +
        + + + +
          +
        • +

          vertexIndices32InByteBuffer

          +
          public ByteBuffer vertexIndices32InByteBuffer​(ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          vertexIndices16

          +
          public int vertexIndices16​(int j)
          +
        • +
        + + + +
          +
        • +

          vertexIndices16Length

          +
          public int vertexIndices16Length()
          +
        • +
        + + + +
          +
        • +

          vertexIndices16AsByteBuffer

          +
          public ByteBuffer vertexIndices16AsByteBuffer()
          +
        • +
        + + + +
          +
        • +

          vertexIndices16InByteBuffer

          +
          public ByteBuffer vertexIndices16InByteBuffer​(ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          tangentData

          +
          public int tangentData​(int j)
          +
          Contains Tangent data that is necessary to restore original values of + blend shape vertices that differ from correspondent mesh vertices in + Tangent attribute only OR indentical ones.
          +
        • +
        + + + +
          +
        • +

          tangentDataLength

          +
          public int tangentDataLength()
          +
        • +
        + + + +
          +
        • +

          tangentDataAsByteBuffer

          +
          public ByteBuffer tangentDataAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          tangentIndices32

          +
          public long tangentIndices32​(int j)
          +
          Indices of vertices that differ in Tangent OR indentical ones. Will either + be an array of 16-bit or 32-bit values.
          +
        • +
        + + + +
          +
        • +

          tangentIndices32Length

          +
          public int tangentIndices32Length()
          +
        • +
        + + + +
          +
        • +

          tangentIndices32AsByteBuffer

          +
          public ByteBuffer tangentIndices32AsByteBuffer()
          +
        • +
        + + + +
          +
        • +

          tangentIndices32InByteBuffer

          +
          public ByteBuffer tangentIndices32InByteBuffer​(ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          tangentIndices16

          +
          public int tangentIndices16​(int j)
          +
        • +
        + + + +
          +
        • +

          tangentIndices16Length

          +
          public int tangentIndices16Length()
          +
        • +
        + + + +
          +
        • +

          tangentIndices16AsByteBuffer

          +
          public ByteBuffer tangentIndices16AsByteBuffer()
          +
        • +
        + + + +
          +
        • +

          tangentIndices16InByteBuffer

          +
          public ByteBuffer tangentIndices16InByteBuffer​(ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          createBlendShape

          +
          public static int createBlendShape​(FlatBufferBuilder builder,
          +                                   long name,
          +                                   int vertex_dataOffset,
          +                                   int vertex_indices32Offset,
          +                                   int vertex_indices16Offset,
          +                                   int tangent_dataOffset,
          +                                   int tangent_indices32Offset,
          +                                   int tangent_indices16Offset)
          +
        • +
        + + + +
          +
        • +

          startBlendShape

          +
          public static void startBlendShape​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addName

          +
          public static void addName​(FlatBufferBuilder builder,
          +                           long name)
          +
        • +
        + + + +
          +
        • +

          addVertexData

          +
          public static void addVertexData​(FlatBufferBuilder builder,
          +                                 int vertexDataOffset)
          +
        • +
        + + + +
          +
        • +

          createVertexDataVector

          +
          public static int createVertexDataVector​(FlatBufferBuilder builder,
          +                                         byte[] data)
          +
        • +
        + + + + + + + +
          +
        • +

          startVertexDataVector

          +
          public static void startVertexDataVector​(FlatBufferBuilder builder,
          +                                         int numElems)
          +
        • +
        + + + +
          +
        • +

          addVertexIndices32

          +
          public static void addVertexIndices32​(FlatBufferBuilder builder,
          +                                      int vertexIndices32Offset)
          +
        • +
        + + + +
          +
        • +

          createVertexIndices32Vector

          +
          public static int createVertexIndices32Vector​(FlatBufferBuilder builder,
          +                                              int[] data)
          +
        • +
        + + + +
          +
        • +

          startVertexIndices32Vector

          +
          public static void startVertexIndices32Vector​(FlatBufferBuilder builder,
          +                                              int numElems)
          +
        • +
        + + + +
          +
        • +

          addVertexIndices16

          +
          public static void addVertexIndices16​(FlatBufferBuilder builder,
          +                                      int vertexIndices16Offset)
          +
        • +
        + + + +
          +
        • +

          createVertexIndices16Vector

          +
          public static int createVertexIndices16Vector​(FlatBufferBuilder builder,
          +                                              short[] data)
          +
        • +
        + + + +
          +
        • +

          startVertexIndices16Vector

          +
          public static void startVertexIndices16Vector​(FlatBufferBuilder builder,
          +                                              int numElems)
          +
        • +
        + + + +
          +
        • +

          addTangentData

          +
          public static void addTangentData​(FlatBufferBuilder builder,
          +                                  int tangentDataOffset)
          +
        • +
        + + + +
          +
        • +

          createTangentDataVector

          +
          public static int createTangentDataVector​(FlatBufferBuilder builder,
          +                                          byte[] data)
          +
        • +
        + + + + + + + +
          +
        • +

          startTangentDataVector

          +
          public static void startTangentDataVector​(FlatBufferBuilder builder,
          +                                          int numElems)
          +
        • +
        + + + +
          +
        • +

          addTangentIndices32

          +
          public static void addTangentIndices32​(FlatBufferBuilder builder,
          +                                       int tangentIndices32Offset)
          +
        • +
        + + + +
          +
        • +

          createTangentIndices32Vector

          +
          public static int createTangentIndices32Vector​(FlatBufferBuilder builder,
          +                                               int[] data)
          +
        • +
        + + + +
          +
        • +

          startTangentIndices32Vector

          +
          public static void startTangentIndices32Vector​(FlatBufferBuilder builder,
          +                                               int numElems)
          +
        • +
        + + + +
          +
        • +

          addTangentIndices16

          +
          public static void addTangentIndices16​(FlatBufferBuilder builder,
          +                                       int tangentIndices16Offset)
          +
        • +
        + + + +
          +
        • +

          createTangentIndices16Vector

          +
          public static int createTangentIndices16Vector​(FlatBufferBuilder builder,
          +                                               short[] data)
          +
        • +
        + + + +
          +
        • +

          startTangentIndices16Vector

          +
          public static void startTangentIndices16Vector​(FlatBufferBuilder builder,
          +                                               int numElems)
          +
        • +
        + + + +
          +
        • +

          endBlendShape

          +
          public static int endBlendShape​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Color.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Color.html new file mode 100644 index 00000000..f2d2ae28 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Color.html @@ -0,0 +1,429 @@ + + + + + +Color (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Color

    +
    +
    + +
    +
      +
    • +
      +
      public final class Color
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Color

          +
          public Color()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          r

          +
          public float r()
          +
        • +
        + + + +
          +
        • +

          g

          +
          public float g()
          +
        • +
        + + + +
          +
        • +

          b

          +
          public float b()
          +
        • +
        + + + +
          +
        • +

          a

          +
          public float a()
          +
        • +
        + + + +
          +
        • +

          createColor

          +
          public static int createColor​(FlatBufferBuilder builder,
          +                              float r,
          +                              float g,
          +                              float b,
          +                              float a)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataBool.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataBool.html new file mode 100644 index 00000000..691fb8e9 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataBool.html @@ -0,0 +1,455 @@ + + + + + +DataBool (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataBool

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataBool
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DataBool

          +
          public DataBool()
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataBytes.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataBytes.html new file mode 100644 index 00000000..da0f9148 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataBytes.html @@ -0,0 +1,545 @@ + + + + + +DataBytes (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataBytes

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataBytes
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DataBytes

          +
          public DataBytes()
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataFloat.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataFloat.html new file mode 100644 index 00000000..498f4e83 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataFloat.html @@ -0,0 +1,455 @@ + + + + + +DataFloat (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataFloat

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataFloat
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataHashValue.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataHashValue.html new file mode 100644 index 00000000..ccce54dd --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataHashValue.html @@ -0,0 +1,455 @@ + + + + + +DataHashValue (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataHashValue

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataHashValue
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataInt.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataInt.html new file mode 100644 index 00000000..11ac7c66 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataInt.html @@ -0,0 +1,455 @@ + + + + + +DataInt (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataInt

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataInt
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataQuat.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataQuat.html new file mode 100644 index 00000000..04965990 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataQuat.html @@ -0,0 +1,453 @@ + + + + + +DataQuat (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataQuat

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataQuat
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataString.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataString.html new file mode 100644 index 00000000..b39b085a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataString.html @@ -0,0 +1,483 @@ + + + + + +DataString (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataString

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataString
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec2.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec2.html new file mode 100644 index 00000000..fad9d413 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec2.html @@ -0,0 +1,453 @@ + + + + + +DataVec2 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataVec2

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataVec2
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec3.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec3.html new file mode 100644 index 00000000..d5617775 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec3.html @@ -0,0 +1,453 @@ + + + + + +DataVec3 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataVec3

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataVec3
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec4.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec4.html new file mode 100644 index 00000000..98384b15 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DataVec4.html @@ -0,0 +1,453 @@ + + + + + +DataVec4 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DataVec4

    +
    +
    + +
    +
      +
    • +
      +
      public final class DataVec4
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/DeviceType.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/DeviceType.html new file mode 100644 index 00000000..69d9cbd4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/DeviceType.html @@ -0,0 +1,415 @@ + + + + + +DeviceType (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DeviceType

    +
    +
    + +
    +
      +
    • +
      +
      public final class DeviceType
      +extends Object
      +
      Potential Input Devices (matches enum in input_manager.h)
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/KeyVariantPairDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/KeyVariantPairDef.html new file mode 100644 index 00000000..3f379be8 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/KeyVariantPairDef.html @@ -0,0 +1,579 @@ + + + + + +KeyVariantPairDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class KeyVariantPairDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class KeyVariantPairDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          KeyVariantPairDef

          +
          public KeyVariantPairDef()
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutFillOrder.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutFillOrder.html new file mode 100644 index 00000000..ddc9a4ad --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutFillOrder.html @@ -0,0 +1,494 @@ + + + + + +LayoutFillOrder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LayoutFillOrder

    +
    +
    + +
    +
      +
    • +
      +
      public final class LayoutFillOrder
      +extends Object
      +
      The directions a layout will grow in. + This controls the ordering of elements within wrapping rows, but not the + horizontal alignment of those rows as a whole (which is controlled by + LayoutHorizontalAlignment).
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static intDownLeft +
        The first entity is added rightmost, and subsequent entities go down + (and then left if wrapping is enabled).
        +
        static intDownRight +
        The first entity is added leftmost, and subsequent entities go down + (and then right if wrapping is enabled).
        +
        static intLeftDown +
        The first entity is added rightmost, and subsequent entities go to the + left (and then down if wrapping is enabled).
        +
        static intLeftUp +
        The first entity is added rightmost, and subsequent entities go to the + left (and then up if wrapping is enabled).
        +
        static String[]names 
        static intRightDown +
        The first entity is added leftmost, and subsequent entities go to the + right (and then down if wrapping is enabled).
        +
        static intRightUp +
        The first entity is added leftmost, and subsequent entities go to the + right (and then up if wrapping is enabled).
        +
        static intUpLeft +
        The first entity is added rightmost, and subsequent entities go up + (and then left if wrapping is enabled).
        +
        static intUpRight +
        The first entity is added leftmost, and subsequent entities go up + (and then right if wrapping is enabled).
        +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          RightDown

          +
          public static final int RightDown
          +
          The first entity is added leftmost, and subsequent entities go to the + right (and then down if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          LeftDown

          +
          public static final int LeftDown
          +
          The first entity is added rightmost, and subsequent entities go to the + left (and then down if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DownRight

          +
          public static final int DownRight
          +
          The first entity is added leftmost, and subsequent entities go down + (and then right if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DownLeft

          +
          public static final int DownLeft
          +
          The first entity is added rightmost, and subsequent entities go down + (and then left if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          RightUp

          +
          public static final int RightUp
          +
          The first entity is added leftmost, and subsequent entities go to the + right (and then up if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          LeftUp

          +
          public static final int LeftUp
          +
          The first entity is added rightmost, and subsequent entities go to the + left (and then up if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          UpRight

          +
          public static final int UpRight
          +
          The first entity is added leftmost, and subsequent entities go up + (and then right if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          UpLeft

          +
          public static final int UpLeft
          +
          The first entity is added rightmost, and subsequent entities go up + (and then left if wrapping is enabled).
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          names

          +
          public static final String[] names
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          name

          +
          public static String name​(int e)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutHorizontalAlignment.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutHorizontalAlignment.html new file mode 100644 index 00000000..d11ab8b8 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutHorizontalAlignment.html @@ -0,0 +1,374 @@ + + + + + +LayoutHorizontalAlignment (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LayoutHorizontalAlignment

    +
    +
    + +
    +
      +
    • +
      +
      public final class LayoutHorizontalAlignment
      +extends Object
      +
      The anchor at which the entities will be aligned relative to the canvas.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          Left

          +
          public static final int Left
          +
          The left border of the leftmost element will align to the left side of the + canvas.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          Center

          +
          public static final int Center
          +
          The layout will be centered horizontally on the canvas.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          Right

          +
          public static final int Right
          +
          The right border of the rightmost element will align to the right side of + the canvas.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          names

          +
          public static final String[] names
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          name

          +
          public static String name​(int e)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutVerticalAlignment.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutVerticalAlignment.html new file mode 100644 index 00000000..0815976d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/LayoutVerticalAlignment.html @@ -0,0 +1,373 @@ + + + + + +LayoutVerticalAlignment (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LayoutVerticalAlignment

    +
    +
    + +
    +
      +
    • +
      +
      public final class LayoutVerticalAlignment
      +extends Object
      +
      The anchor at which the entities will be aligned *within* each row. + Note that rows collectively are still top aligned relative to the canvas. + To center align within the canvas, add a placeholder child entity with the + same height as the canvas.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          Top

          +
          public static final int Top
          +
          Each entity will align to the top of its row in the layout.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          Center

          +
          public static final int Center
          +
          Each entity will be centered within its row.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          Bottom

          +
          public static final int Bottom
          +
          Each entity will align to the bottom of its row.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          names

          +
          public static final String[] names
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          name

          +
          public static String name​(int e)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Mat4x3.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Mat4x3.html new file mode 100644 index 00000000..7bbe1e67 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Mat4x3.html @@ -0,0 +1,473 @@ + + + + + +Mat4x3 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Mat4x3

    +
    +
    + +
    +
      +
    • +
      +
      public final class Mat4x3
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Mat4x3

          +
          public Mat4x3()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          c0

          +
          public Vec4 c0()
          +
        • +
        + + + +
          +
        • +

          c0

          +
          public Vec4 c0​(Vec4 obj)
          +
        • +
        + + + +
          +
        • +

          c1

          +
          public Vec4 c1()
          +
        • +
        + + + +
          +
        • +

          c1

          +
          public Vec4 c1​(Vec4 obj)
          +
        • +
        + + + +
          +
        • +

          c2

          +
          public Vec4 c2()
          +
        • +
        + + + +
          +
        • +

          c2

          +
          public Vec4 c2​(Vec4 obj)
          +
        • +
        + + + +
          +
        • +

          createMat4x3

          +
          public static int createMat4x3​(FlatBufferBuilder builder,
          +                               float c0_x,
          +                               float c0_y,
          +                               float c0_z,
          +                               float c0_w,
          +                               float c1_x,
          +                               float c1_y,
          +                               float c1_z,
          +                               float c1_w,
          +                               float c2_x,
          +                               float c2_y,
          +                               float c2_z,
          +                               float c2_w)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialDef.html new file mode 100644 index 00000000..5173c2db --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialDef.html @@ -0,0 +1,634 @@ + + + + + +MaterialDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MaterialDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class MaterialDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MaterialDef

          +
          public MaterialDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          name

          +
          public String name()
          +
          The name of the material.
          +
        • +
        + + + +
          +
        • +

          nameAsByteBuffer

          +
          public ByteBuffer nameAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          properties

          +
          public VariantMapDef properties()
          +
          A dictionary of all material properties extracted from the source file. + These properties are interpretted by the RenderSystem to create the + appropriate Material.
          +
        • +
        + + + + + + + +
          +
        • +

          textures

          +
          public MaterialTextureDef textures​(int j)
          +
          The list of textures associated with the Material.
          +
        • +
        + + + + + + + +
          +
        • +

          texturesLength

          +
          public int texturesLength()
          +
        • +
        + + + +
          +
        • +

          createMaterialDef

          +
          public static int createMaterialDef​(FlatBufferBuilder builder,
          +                                    int nameOffset,
          +                                    int propertiesOffset,
          +                                    int texturesOffset)
          +
        • +
        + + + +
          +
        • +

          startMaterialDef

          +
          public static void startMaterialDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addName

          +
          public static void addName​(FlatBufferBuilder builder,
          +                           int nameOffset)
          +
        • +
        + + + +
          +
        • +

          addProperties

          +
          public static void addProperties​(FlatBufferBuilder builder,
          +                                 int propertiesOffset)
          +
        • +
        + + + +
          +
        • +

          addTextures

          +
          public static void addTextures​(FlatBufferBuilder builder,
          +                               int texturesOffset)
          +
        • +
        + + + +
          +
        • +

          createTexturesVector

          +
          public static int createTexturesVector​(FlatBufferBuilder builder,
          +                                       int[] data)
          +
        • +
        + + + +
          +
        • +

          startTexturesVector

          +
          public static void startTexturesVector​(FlatBufferBuilder builder,
          +                                       int numElems)
          +
        • +
        + + + +
          +
        • +

          endMaterialDef

          +
          public static int endMaterialDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialTextureDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialTextureDef.html new file mode 100644 index 00000000..a3263c40 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialTextureDef.html @@ -0,0 +1,626 @@ + + + + + +MaterialTextureDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MaterialTextureDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class MaterialTextureDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MaterialTextureDef

          +
          public MaterialTextureDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          name

          +
          public String name()
          +
        • +
        + + + +
          +
        • +

          nameAsByteBuffer

          +
          public ByteBuffer nameAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          usage

          +
          public int usage()
          +
        • +
        + + + +
          +
        • +

          usagePerChannel

          +
          public int usagePerChannel​(int j)
          +
          For textures with multiple usages, this array describes the usage of each + channel.
          +
        • +
        + + + +
          +
        • +

          usagePerChannelLength

          +
          public int usagePerChannelLength()
          +
        • +
        + + + +
          +
        • +

          usagePerChannelAsByteBuffer

          +
          public ByteBuffer usagePerChannelAsByteBuffer()
          +
        • +
        + + + +
          +
        • +

          usagePerChannelInByteBuffer

          +
          public ByteBuffer usagePerChannelInByteBuffer​(ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          createMaterialTextureDef

          +
          public static int createMaterialTextureDef​(FlatBufferBuilder builder,
          +                                           int nameOffset,
          +                                           int usage,
          +                                           int usage_per_channelOffset)
          +
        • +
        + + + +
          +
        • +

          startMaterialTextureDef

          +
          public static void startMaterialTextureDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addName

          +
          public static void addName​(FlatBufferBuilder builder,
          +                           int nameOffset)
          +
        • +
        + + + +
          +
        • +

          addUsage

          +
          public static void addUsage​(FlatBufferBuilder builder,
          +                            int usage)
          +
        • +
        + + + +
          +
        • +

          addUsagePerChannel

          +
          public static void addUsagePerChannel​(FlatBufferBuilder builder,
          +                                      int usagePerChannelOffset)
          +
        • +
        + + + +
          +
        • +

          createUsagePerChannelVector

          +
          public static int createUsagePerChannelVector​(FlatBufferBuilder builder,
          +                                              int[] data)
          +
        • +
        + + + +
          +
        • +

          startUsagePerChannelVector

          +
          public static void startUsagePerChannelVector​(FlatBufferBuilder builder,
          +                                              int numElems)
          +
        • +
        + + + +
          +
        • +

          endMaterialTextureDef

          +
          public static int endMaterialTextureDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialTextureUsage.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialTextureUsage.html new file mode 100644 index 00000000..d0d769ea --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/MaterialTextureUsage.html @@ -0,0 +1,614 @@ + + + + + +MaterialTextureUsage (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MaterialTextureUsage

    +
    +
    + +
    +
      +
    • +
      +
      public final class MaterialTextureUsage
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelDef.html new file mode 100644 index 00000000..f7ff7e37 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelDef.html @@ -0,0 +1,760 @@ + + + + + +ModelDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ModelDef

          +
          public ModelDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          version

          +
          public int version()
          +
          Version number to help decide how to interpret the flatbuffer data.
          +
        • +
        + + + +
          +
        • +

          lods

          +
          public ModelInstanceDef lods​(int j)
          +
          Model data for different LODs.
          +
        • +
        + + + + + + + +
          +
        • +

          lodsLength

          +
          public int lodsLength()
          +
        • +
        + + + +
          +
        • +

          skeleton

          +
          public SkeletonDef skeleton()
          +
          The skeletal information used by the RigSystem to support skinned + animations.
          +
        • +
        + + + + + + + +
          +
        • +

          boundingBox

          +
          public AabbDef boundingBox()
          +
          The minimum and maximum bounds contained in the vertex data.
          +
        • +
        + + + + + + + +
          +
        • +

          textures

          +
          public TextureDef textures​(int j)
          +
          A collection of embedded textures associated with this model.
          +
        • +
        + + + + + + + +
          +
        • +

          texturesLength

          +
          public int texturesLength()
          +
        • +
        + + + +
          +
        • +

          startModelDef

          +
          public static void startModelDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addVersion

          +
          public static void addVersion​(FlatBufferBuilder builder,
          +                              int version)
          +
        • +
        + + + +
          +
        • +

          addLods

          +
          public static void addLods​(FlatBufferBuilder builder,
          +                           int lodsOffset)
          +
        • +
        + + + +
          +
        • +

          createLodsVector

          +
          public static int createLodsVector​(FlatBufferBuilder builder,
          +                                   int[] data)
          +
        • +
        + + + +
          +
        • +

          startLodsVector

          +
          public static void startLodsVector​(FlatBufferBuilder builder,
          +                                   int numElems)
          +
        • +
        + + + +
          +
        • +

          addSkeleton

          +
          public static void addSkeleton​(FlatBufferBuilder builder,
          +                               int skeletonOffset)
          +
        • +
        + + + +
          +
        • +

          addBoundingBox

          +
          public static void addBoundingBox​(FlatBufferBuilder builder,
          +                                  int boundingBoxOffset)
          +
        • +
        + + + +
          +
        • +

          addTextures

          +
          public static void addTextures​(FlatBufferBuilder builder,
          +                               int texturesOffset)
          +
        • +
        + + + +
          +
        • +

          createTexturesVector

          +
          public static int createTexturesVector​(FlatBufferBuilder builder,
          +                                       int[] data)
          +
        • +
        + + + +
          +
        • +

          startTexturesVector

          +
          public static void startTexturesVector​(FlatBufferBuilder builder,
          +                                       int numElems)
          +
        • +
        + + + + + + + +
          +
        • +

          finishModelDefBuffer

          +
          public static void finishModelDefBuffer​(FlatBufferBuilder builder,
          +                                        int offset)
          +
        • +
        + + + +
          +
        • +

          finishSizePrefixedModelDefBuffer

          +
          public static void finishSizePrefixedModelDefBuffer​(FlatBufferBuilder builder,
          +                                                    int offset)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelIndexRange.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelIndexRange.html new file mode 100644 index 00000000..e5576de2 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelIndexRange.html @@ -0,0 +1,397 @@ + + + + + +ModelIndexRange (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelIndexRange

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelIndexRange
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ModelIndexRange

          +
          public ModelIndexRange()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          start

          +
          public long start()
          +
        • +
        + + + +
          +
        • +

          end

          +
          public long end()
          +
        • +
        + + + +
          +
        • +

          createModelIndexRange

          +
          public static int createModelIndexRange​(FlatBufferBuilder builder,
          +                                        long start,
          +                                        long end)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelInstanceDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelInstanceDef.html new file mode 100644 index 00000000..3b37777b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelInstanceDef.html @@ -0,0 +1,1495 @@ + + + + + +ModelInstanceDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelInstanceDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelInstanceDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ModelInstanceDef

          +
          public ModelInstanceDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          vertexData

          +
          public int vertexData​(int j)
          +
          The "raw" vertex data stored as a byte array.
          +
        • +
        + + + +
          +
        • +

          vertexDataLength

          +
          public int vertexDataLength()
          +
        • +
        + + + +
          +
        • +

          vertexDataAsByteBuffer

          +
          public ByteBuffer vertexDataAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          indices16

          +
          public int indices16​(int j)
          +
          Indices into the vertex data. Will either be an array of 16-bit or 32-bit + values.
          +
        • +
        + + + +
          +
        • +

          indices16Length

          +
          public int indices16Length()
          +
        • +
        + + + +
          +
        • +

          indices16AsByteBuffer

          +
          public ByteBuffer indices16AsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          indices32

          +
          public long indices32​(int j)
          +
        • +
        + + + +
          +
        • +

          indices32Length

          +
          public int indices32Length()
          +
        • +
        + + + +
          +
        • +

          indices32AsByteBuffer

          +
          public ByteBuffer indices32AsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          ranges

          +
          public ModelIndexRange ranges​(int j)
          +
          The range of indices for each submesh.
          +
        • +
        + + + + + + + +
          +
        • +

          rangesLength

          +
          public int rangesLength()
          +
        • +
        + + + +
          +
        • +

          materials

          +
          public MaterialDef materials​(int j)
          +
          The material describing the "look" of each submesh.
          +
        • +
        + + + + + + + +
          +
        • +

          materialsLength

          +
          public int materialsLength()
          +
        • +
        + + + +
          +
        • +

          vertexAttributes

          +
          public VertexAttribute vertexAttributes​(int j)
          +
          Describes the structure of the vertex data, effectively the VertexFormat.
          +
        • +
        + + + + + + + +
          +
        • +

          vertexAttributesLength

          +
          public int vertexAttributesLength()
          +
        • +
        + + + +
          +
        • +

          numVertices

          +
          public long numVertices()
          +
          The total number of vertices stored in the vertex data.
          +
        • +
        + + + +
          +
        • +

          interleaved

          +
          public boolean interleaved()
          +
          Whether or not the attributes in the vertex data are interleaved.
          +
        • +
        + + + +
          +
        • +

          shaderToMeshBones

          +
          public int shaderToMeshBones​(int j)
          +
          Maps the skeleton bone index to the shader bone index. The shader bones + are only the bones that have at least one vertex weighted to them and, as + such, are a subset of all the bones in the skeleton.
          +
        • +
        + + + +
          +
        • +

          shaderToMeshBonesLength

          +
          public int shaderToMeshBonesLength()
          +
        • +
        + + + +
          +
        • +

          shaderToMeshBonesAsByteBuffer

          +
          public ByteBuffer shaderToMeshBonesAsByteBuffer()
          +
        • +
        + + + +
          +
        • +

          shaderToMeshBonesInByteBuffer

          +
          public ByteBuffer shaderToMeshBonesInByteBuffer​(ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          blendShapes

          +
          public BlendShape blendShapes​(int j)
          +
          A collection of blendshapes, if they exist.
          +
        • +
        + + + + + + + +
          +
        • +

          blendShapesLength

          +
          public int blendShapesLength()
          +
        • +
        + + + +
          +
        • +

          blendAttributes

          +
          public VertexAttribute blendAttributes​(int j)
          +
          Describes the structure of the vertex data for the blend shapes.
          +
        • +
        + + + + + + + +
          +
        • +

          blendAttributesLength

          +
          public int blendAttributesLength()
          +
        • +
        + + + +
          +
        • +

          aabbs

          +
          public SubmeshAabb aabbs​(int j)
          +
          A bounding Aabb for each submesh.
          +
        • +
        + + + + + + + +
          +
        • +

          aabbsLength

          +
          public int aabbsLength()
          +
        • +
        + + + +
          +
        • +

          createModelInstanceDef

          +
          public static int createModelInstanceDef​(FlatBufferBuilder builder,
          +                                         int vertex_dataOffset,
          +                                         int indices16Offset,
          +                                         int indices32Offset,
          +                                         int rangesOffset,
          +                                         int materialsOffset,
          +                                         int vertex_attributesOffset,
          +                                         long num_vertices,
          +                                         boolean interleaved,
          +                                         int shader_to_mesh_bonesOffset,
          +                                         int blend_shapesOffset,
          +                                         int blend_attributesOffset,
          +                                         int aabbsOffset)
          +
        • +
        + + + +
          +
        • +

          startModelInstanceDef

          +
          public static void startModelInstanceDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addVertexData

          +
          public static void addVertexData​(FlatBufferBuilder builder,
          +                                 int vertexDataOffset)
          +
        • +
        + + + +
          +
        • +

          createVertexDataVector

          +
          public static int createVertexDataVector​(FlatBufferBuilder builder,
          +                                         byte[] data)
          +
        • +
        + + + + + + + +
          +
        • +

          startVertexDataVector

          +
          public static void startVertexDataVector​(FlatBufferBuilder builder,
          +                                         int numElems)
          +
        • +
        + + + +
          +
        • +

          addIndices16

          +
          public static void addIndices16​(FlatBufferBuilder builder,
          +                                int indices16Offset)
          +
        • +
        + + + +
          +
        • +

          createIndices16Vector

          +
          public static int createIndices16Vector​(FlatBufferBuilder builder,
          +                                        short[] data)
          +
        • +
        + + + +
          +
        • +

          startIndices16Vector

          +
          public static void startIndices16Vector​(FlatBufferBuilder builder,
          +                                        int numElems)
          +
        • +
        + + + +
          +
        • +

          addIndices32

          +
          public static void addIndices32​(FlatBufferBuilder builder,
          +                                int indices32Offset)
          +
        • +
        + + + +
          +
        • +

          createIndices32Vector

          +
          public static int createIndices32Vector​(FlatBufferBuilder builder,
          +                                        int[] data)
          +
        • +
        + + + +
          +
        • +

          startIndices32Vector

          +
          public static void startIndices32Vector​(FlatBufferBuilder builder,
          +                                        int numElems)
          +
        • +
        + + + +
          +
        • +

          addRanges

          +
          public static void addRanges​(FlatBufferBuilder builder,
          +                             int rangesOffset)
          +
        • +
        + + + +
          +
        • +

          startRangesVector

          +
          public static void startRangesVector​(FlatBufferBuilder builder,
          +                                     int numElems)
          +
        • +
        + + + +
          +
        • +

          addMaterials

          +
          public static void addMaterials​(FlatBufferBuilder builder,
          +                                int materialsOffset)
          +
        • +
        + + + +
          +
        • +

          createMaterialsVector

          +
          public static int createMaterialsVector​(FlatBufferBuilder builder,
          +                                        int[] data)
          +
        • +
        + + + +
          +
        • +

          startMaterialsVector

          +
          public static void startMaterialsVector​(FlatBufferBuilder builder,
          +                                        int numElems)
          +
        • +
        + + + +
          +
        • +

          addVertexAttributes

          +
          public static void addVertexAttributes​(FlatBufferBuilder builder,
          +                                       int vertexAttributesOffset)
          +
        • +
        + + + +
          +
        • +

          startVertexAttributesVector

          +
          public static void startVertexAttributesVector​(FlatBufferBuilder builder,
          +                                               int numElems)
          +
        • +
        + + + +
          +
        • +

          addNumVertices

          +
          public static void addNumVertices​(FlatBufferBuilder builder,
          +                                  long numVertices)
          +
        • +
        + + + +
          +
        • +

          addInterleaved

          +
          public static void addInterleaved​(FlatBufferBuilder builder,
          +                                  boolean interleaved)
          +
        • +
        + + + +
          +
        • +

          addShaderToMeshBones

          +
          public static void addShaderToMeshBones​(FlatBufferBuilder builder,
          +                                        int shaderToMeshBonesOffset)
          +
        • +
        + + + +
          +
        • +

          createShaderToMeshBonesVector

          +
          public static int createShaderToMeshBonesVector​(FlatBufferBuilder builder,
          +                                                byte[] data)
          +
        • +
        + + + +
          +
        • +

          createShaderToMeshBonesVector

          +
          public static int createShaderToMeshBonesVector​(FlatBufferBuilder builder,
          +                                                ByteBuffer data)
          +
        • +
        + + + +
          +
        • +

          startShaderToMeshBonesVector

          +
          public static void startShaderToMeshBonesVector​(FlatBufferBuilder builder,
          +                                                int numElems)
          +
        • +
        + + + +
          +
        • +

          addBlendShapes

          +
          public static void addBlendShapes​(FlatBufferBuilder builder,
          +                                  int blendShapesOffset)
          +
        • +
        + + + +
          +
        • +

          createBlendShapesVector

          +
          public static int createBlendShapesVector​(FlatBufferBuilder builder,
          +                                          int[] data)
          +
        • +
        + + + +
          +
        • +

          startBlendShapesVector

          +
          public static void startBlendShapesVector​(FlatBufferBuilder builder,
          +                                          int numElems)
          +
        • +
        + + + +
          +
        • +

          addBlendAttributes

          +
          public static void addBlendAttributes​(FlatBufferBuilder builder,
          +                                      int blendAttributesOffset)
          +
        • +
        + + + +
          +
        • +

          startBlendAttributesVector

          +
          public static void startBlendAttributesVector​(FlatBufferBuilder builder,
          +                                              int numElems)
          +
        • +
        + + + +
          +
        • +

          addAabbs

          +
          public static void addAabbs​(FlatBufferBuilder builder,
          +                            int aabbsOffset)
          +
        • +
        + + + +
          +
        • +

          createAabbsVector

          +
          public static int createAabbsVector​(FlatBufferBuilder builder,
          +                                    int[] data)
          +
        • +
        + + + +
          +
        • +

          startAabbsVector

          +
          public static void startAabbsVector​(FlatBufferBuilder builder,
          +                                    int numElems)
          +
        • +
        + + + +
          +
        • +

          endModelInstanceDef

          +
          public static int endModelInstanceDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineCollidableDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineCollidableDef.html new file mode 100644 index 00000000..885d5377 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineCollidableDef.html @@ -0,0 +1,486 @@ + + + + + +ModelPipelineCollidableDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelPipelineCollidableDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelPipelineCollidableDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineDef.html new file mode 100644 index 00000000..9d654f4f --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineDef.html @@ -0,0 +1,813 @@ + + + + + +ModelPipelineDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelPipelineDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelPipelineDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineImportDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineImportDef.html new file mode 100644 index 00000000..f3ebc48b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineImportDef.html @@ -0,0 +1,1105 @@ + + + + + +ModelPipelineImportDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelPipelineImportDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelPipelineImportDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ModelPipelineImportDef

          +
          public ModelPipelineImportDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          name

          +
          public String name()
          +
          The short name of the asset that is referenced by the individual model + components (eg. renderables, collidables, etc.) below.
          +
        • +
        + + + +
          +
        • +

          nameAsByteBuffer

          +
          public ByteBuffer nameAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          file

          +
          public String file()
          +
          The location of disk of the asset.
          +
        • +
        + + + +
          +
        • +

          fileAsByteBuffer

          +
          public ByteBuffer fileAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          recenter

          +
          public boolean recenter()
          +
          Inserts an extra node into the asset hierarchy so that the resulting model + is centered around the origin.
          +
        • +
        + + + +
          +
        • +

          scale

          +
          public float scale()
          +
          Multiplier applied to the model to change its scale.
          +
        • +
        + + + +
          +
        • +

          axisSystem

          +
          public int axisSystem()
          +
          The axis system used by the model asset.
          +
        • +
        + + + +
          +
        • +

          smoothingAngle

          +
          public float smoothingAngle()
          +
          The limit angle (in degrees) between two normals being considered for + tangent space smoothing.
          +
        • +
        + + + +
          +
        • +

          maxBoneWeights

          +
          public int maxBoneWeights()
          +
          Limit per-vertex bone weights to the N most significant bones.
          +
        • +
        + + + +
          +
        • +

          reportErrorsToStdout

          +
          public boolean reportErrorsToStdout()
          +
          some clients do not use LOG to report errors
          +
        • +
        + + + +
          +
        • +

          flipTextureCoordinates

          +
          public boolean flipTextureCoordinates()
          +
          Inverts vertical texture coordinates when enabled (D3D/OGL difference).
          +
        • +
        + + + +
          +
        • +

          flattenHierarchyAndTransformVerticesToRootSpace

          +
          public boolean flattenHierarchyAndTransformVerticesToRootSpace()
          +
          Pre-transforms vertices by their node hierarchy so that all vertices are + in the same object-space, and the node hierarchy is flattened.
          +
        • +
        + + + +
          +
        • +

          useSpecularGlossinessTexturesIfPresent

          +
          public boolean useSpecularGlossinessTexturesIfPresent()
          +
          If a model contains both metallic-roughness textures and + specular-glossiness textures, this flag causes the import to only use the + specular-glossiness textures. Otherwise, it uses the metallic-rougness + textures.
          +
        • +
        + + + +
          +
        • +

          fixInfacingNormals

          +
          public boolean fixInfacingNormals()
          +
          Toggle for Assimp's aiProcess_FixInfacingNormals process.
          +
        • +
        + + + +
          +
        • +

          ensureVertexOrientationWNotZero

          +
          public boolean ensureVertexOrientationWNotZero()
          +
          Encodes a sign into the w value of the orientation quaternion such that >0 + implies a right handed space, and <0 implies a left handed space. w==0 + should never happen. This allows orientation components to be encoded in a
          +
        • +
        + + + +
          +
        • +

          cmPerUnit

          +
          public float cmPerUnit()
          +
          Distinct from 'scale'; defines the unit we expect positions to be in. + Kept as 0 for backwards compatibility, this would be 100.0 for contexts + where world units would be measured in meters, and 2.54 for inches.
          +
        • +
        + + + +
          +
        • +

          targetMeshes

          +
          public String targetMeshes​(int j)
          +
          The names of the nodes that contain the target meshes to import from the + asset. If a node has a mesh and its name is present in this list, the mesh + data will be added to the output model. If this list is empty, all meshes + will be added to the output model.
          +
        • +
        + + + +
          +
        • +

          targetMeshesLength

          +
          public int targetMeshesLength()
          +
        • +
        + + + +
          +
        • +

          mergeMaterials

          +
          public boolean mergeMaterials()
          +
        • +
        + + + +
          +
        • +

          createModelPipelineImportDef

          +
          public static int createModelPipelineImportDef​(FlatBufferBuilder builder,
          +                                               int nameOffset,
          +                                               int fileOffset,
          +                                               boolean recenter,
          +                                               float scale,
          +                                               int axis_system,
          +                                               float smoothing_angle,
          +                                               int max_bone_weights,
          +                                               boolean report_errors_to_stdout,
          +                                               boolean flip_texture_coordinates,
          +                                               boolean flatten_hierarchy_and_transform_vertices_to_root_space,
          +                                               boolean use_specular_glossiness_textures_if_present,
          +                                               boolean fix_infacing_normals,
          +                                               boolean ensure_vertex_orientation_w_not_zero,
          +                                               float cm_per_unit,
          +                                               int target_meshesOffset,
          +                                               boolean merge_materials)
          +
        • +
        + + + +
          +
        • +

          startModelPipelineImportDef

          +
          public static void startModelPipelineImportDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addName

          +
          public static void addName​(FlatBufferBuilder builder,
          +                           int nameOffset)
          +
        • +
        + + + +
          +
        • +

          addFile

          +
          public static void addFile​(FlatBufferBuilder builder,
          +                           int fileOffset)
          +
        • +
        + + + +
          +
        • +

          addRecenter

          +
          public static void addRecenter​(FlatBufferBuilder builder,
          +                               boolean recenter)
          +
        • +
        + + + +
          +
        • +

          addScale

          +
          public static void addScale​(FlatBufferBuilder builder,
          +                            float scale)
          +
        • +
        + + + +
          +
        • +

          addAxisSystem

          +
          public static void addAxisSystem​(FlatBufferBuilder builder,
          +                                 int axisSystem)
          +
        • +
        + + + +
          +
        • +

          addSmoothingAngle

          +
          public static void addSmoothingAngle​(FlatBufferBuilder builder,
          +                                     float smoothingAngle)
          +
        • +
        + + + +
          +
        • +

          addMaxBoneWeights

          +
          public static void addMaxBoneWeights​(FlatBufferBuilder builder,
          +                                     int maxBoneWeights)
          +
        • +
        + + + +
          +
        • +

          addReportErrorsToStdout

          +
          public static void addReportErrorsToStdout​(FlatBufferBuilder builder,
          +                                           boolean reportErrorsToStdout)
          +
        • +
        + + + +
          +
        • +

          addFlipTextureCoordinates

          +
          public static void addFlipTextureCoordinates​(FlatBufferBuilder builder,
          +                                             boolean flipTextureCoordinates)
          +
        • +
        + + + +
          +
        • +

          addFlattenHierarchyAndTransformVerticesToRootSpace

          +
          public static void addFlattenHierarchyAndTransformVerticesToRootSpace​(FlatBufferBuilder builder,
          +                                                                      boolean flattenHierarchyAndTransformVerticesToRootSpace)
          +
        • +
        + + + +
          +
        • +

          addUseSpecularGlossinessTexturesIfPresent

          +
          public static void addUseSpecularGlossinessTexturesIfPresent​(FlatBufferBuilder builder,
          +                                                             boolean useSpecularGlossinessTexturesIfPresent)
          +
        • +
        + + + +
          +
        • +

          addFixInfacingNormals

          +
          public static void addFixInfacingNormals​(FlatBufferBuilder builder,
          +                                         boolean fixInfacingNormals)
          +
        • +
        + + + +
          +
        • +

          addEnsureVertexOrientationWNotZero

          +
          public static void addEnsureVertexOrientationWNotZero​(FlatBufferBuilder builder,
          +                                                      boolean ensureVertexOrientationWNotZero)
          +
        • +
        + + + +
          +
        • +

          addCmPerUnit

          +
          public static void addCmPerUnit​(FlatBufferBuilder builder,
          +                                float cmPerUnit)
          +
        • +
        + + + +
          +
        • +

          addTargetMeshes

          +
          public static void addTargetMeshes​(FlatBufferBuilder builder,
          +                                   int targetMeshesOffset)
          +
        • +
        + + + +
          +
        • +

          createTargetMeshesVector

          +
          public static int createTargetMeshesVector​(FlatBufferBuilder builder,
          +                                           int[] data)
          +
        • +
        + + + +
          +
        • +

          startTargetMeshesVector

          +
          public static void startTargetMeshesVector​(FlatBufferBuilder builder,
          +                                           int numElems)
          +
        • +
        + + + +
          +
        • +

          addMergeMaterials

          +
          public static void addMergeMaterials​(FlatBufferBuilder builder,
          +                                     boolean mergeMaterials)
          +
        • +
        + + + +
          +
        • +

          endModelPipelineImportDef

          +
          public static int endModelPipelineImportDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineMaterialDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineMaterialDef.html new file mode 100644 index 00000000..c62ff207 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineMaterialDef.html @@ -0,0 +1,535 @@ + + + + + +ModelPipelineMaterialDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelPipelineMaterialDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelPipelineMaterialDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ModelPipelineMaterialDef

          +
          public ModelPipelineMaterialDef()
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineRenderableDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineRenderableDef.html new file mode 100644 index 00000000..081fda65 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineRenderableDef.html @@ -0,0 +1,695 @@ + + + + + +ModelPipelineRenderableDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelPipelineRenderableDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelPipelineRenderableDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ModelPipelineRenderableDef

          +
          public ModelPipelineRenderableDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          source

          +
          public String source()
          +
          The name of ModelPipelineImportDef defining this model.
          +
        • +
        + + + +
          +
        • +

          sourceAsByteBuffer

          +
          public ByteBuffer sourceAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          materials

          +
          public ModelPipelineMaterialDef materials​(int j)
          +
          The material properties for the model. Each index in the array corresponds + to a submesh in the model.
          +
        • +
        + + + + + + + +
          +
        • +

          materialsLength

          +
          public int materialsLength()
          +
        • +
        + + + +
          +
        • +

          attributes

          +
          public int attributes​(int j)
          +
          Specific vertex attributes to export. For multiple attributes with the + same usage (eg. two uv-coords for textures), simply list the attribute + twice, regardless of order.
          +
        • +
        + + + +
          +
        • +

          attributesLength

          +
          public int attributesLength()
          +
        • +
        + + + +
          +
        • +

          attributesAsByteBuffer

          +
          public ByteBuffer attributesAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          createModelPipelineRenderableDef

          +
          public static int createModelPipelineRenderableDef​(FlatBufferBuilder builder,
          +                                                   int sourceOffset,
          +                                                   int materialsOffset,
          +                                                   int attributesOffset)
          +
        • +
        + + + +
          +
        • +

          startModelPipelineRenderableDef

          +
          public static void startModelPipelineRenderableDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addSource

          +
          public static void addSource​(FlatBufferBuilder builder,
          +                             int sourceOffset)
          +
        • +
        + + + +
          +
        • +

          addMaterials

          +
          public static void addMaterials​(FlatBufferBuilder builder,
          +                                int materialsOffset)
          +
        • +
        + + + +
          +
        • +

          createMaterialsVector

          +
          public static int createMaterialsVector​(FlatBufferBuilder builder,
          +                                        int[] data)
          +
        • +
        + + + +
          +
        • +

          startMaterialsVector

          +
          public static void startMaterialsVector​(FlatBufferBuilder builder,
          +                                        int numElems)
          +
        • +
        + + + +
          +
        • +

          addAttributes

          +
          public static void addAttributes​(FlatBufferBuilder builder,
          +                                 int attributesOffset)
          +
        • +
        + + + +
          +
        • +

          createAttributesVector

          +
          public static int createAttributesVector​(FlatBufferBuilder builder,
          +                                         int[] data)
          +
        • +
        + + + +
          +
        • +

          startAttributesVector

          +
          public static void startAttributesVector​(FlatBufferBuilder builder,
          +                                         int numElems)
          +
        • +
        + + + +
          +
        • +

          endModelPipelineRenderableDef

          +
          public static int endModelPipelineRenderableDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineSkeletonDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineSkeletonDef.html new file mode 100644 index 00000000..841c9a66 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/ModelPipelineSkeletonDef.html @@ -0,0 +1,486 @@ + + + + + +ModelPipelineSkeletonDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelPipelineSkeletonDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class ModelPipelineSkeletonDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/OptionalBool.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/OptionalBool.html new file mode 100644 index 00000000..2b6a2d77 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/OptionalBool.html @@ -0,0 +1,369 @@ + + + + + +OptionalBool (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class OptionalBool

    +
    +
    + +
    +
      +
    • +
      +
      public final class OptionalBool
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          Unset

          +
          public static final int Unset
          +
          Don't force the value on entity create.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          True

          +
          public static final int True
          +
          Force the value to true when created.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          False

          +
          public static final int False
          +
          Force the value to false when created.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          names

          +
          public static final String[] names
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          name

          +
          public static String name​(int e)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Quat.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Quat.html new file mode 100644 index 00000000..6efa1692 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Quat.html @@ -0,0 +1,429 @@ + + + + + +Quat (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Quat

    +
    +
    + +
    +
      +
    • +
      +
      public final class Quat
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Quat

          +
          public Quat()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          __assign

          +
          public Quat __assign​(int _i,
          +                     ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          x

          +
          public float x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y()
          +
        • +
        + + + +
          +
        • +

          z

          +
          public float z()
          +
        • +
        + + + +
          +
        • +

          w

          +
          public float w()
          +
        • +
        + + + +
          +
        • +

          createQuat

          +
          public static int createQuat​(FlatBufferBuilder builder,
          +                             float x,
          +                             float y,
          +                             float z,
          +                             float w)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Rect.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Rect.html new file mode 100644 index 00000000..0ea04fb5 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Rect.html @@ -0,0 +1,429 @@ + + + + + +Rect (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Rect

    +
    +
    + +
    +
      +
    • +
      +
      public final class Rect
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Rect

          +
          public Rect()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          __assign

          +
          public Rect __assign​(int _i,
          +                     ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          x

          +
          public float x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y()
          +
        • +
        + + + +
          +
        • +

          w

          +
          public float w()
          +
        • +
        + + + +
          +
        • +

          h

          +
          public float h()
          +
        • +
        + + + +
          +
        • +

          createRect

          +
          public static int createRect​(FlatBufferBuilder builder,
          +                             float x,
          +                             float y,
          +                             float w,
          +                             float h)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Recti.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Recti.html new file mode 100644 index 00000000..7128a906 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Recti.html @@ -0,0 +1,429 @@ + + + + + +Recti (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Recti

    +
    +
    + +
    +
      +
    • +
      +
      public final class Recti
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Recti

          +
          public Recti()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          x

          +
          public int x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public int y()
          +
        • +
        + + + +
          +
        • +

          w

          +
          public int w()
          +
        • +
        + + + +
          +
        • +

          h

          +
          public int h()
          +
        • +
        + + + +
          +
        • +

          createRecti

          +
          public static int createRecti​(FlatBufferBuilder builder,
          +                              int x,
          +                              int y,
          +                              int w,
          +                              int h)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/SkeletonDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/SkeletonDef.html new file mode 100644 index 00000000..28ab0395 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/SkeletonDef.html @@ -0,0 +1,715 @@ + + + + + +SkeletonDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SkeletonDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class SkeletonDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SkeletonDef

          +
          public SkeletonDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          boneNames

          +
          public String boneNames​(int j)
          +
          The names of each bone in the skeleton. Each bone in the skeleton can + be uniquely identified by an index into this array.
          +
        • +
        + + + +
          +
        • +

          boneNamesLength

          +
          public int boneNamesLength()
          +
        • +
        + + + +
          +
        • +

          boneParents

          +
          public int boneParents​(int j)
          +
          Effectively a map of a bone to its parent bone.
          +
        • +
        + + + +
          +
        • +

          boneParentsLength

          +
          public int boneParentsLength()
          +
        • +
        + + + +
          +
        • +

          boneParentsAsByteBuffer

          +
          public ByteBuffer boneParentsAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          boneTransforms

          +
          public Mat4x3 boneTransforms​(int j)
          +
          For information on how the matrices below are used for skinning, see + RigSystem::UpdateShaderTransforms(). + The "inverse bind matrices" for each bone. Transforms from mesh space to + bone space so that skinning may be applied.
          +
        • +
        + + + +
          +
        • +

          boneTransforms

          +
          public Mat4x3 boneTransforms​(Mat4x3 obj,
          +                             int j)
          +
        • +
        + + + +
          +
        • +

          boneTransformsLength

          +
          public int boneTransformsLength()
          +
        • +
        + + + +
          +
        • +

          createSkeletonDef

          +
          public static int createSkeletonDef​(FlatBufferBuilder builder,
          +                                    int bone_namesOffset,
          +                                    int bone_parentsOffset,
          +                                    int bone_transformsOffset)
          +
        • +
        + + + +
          +
        • +

          startSkeletonDef

          +
          public static void startSkeletonDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addBoneNames

          +
          public static void addBoneNames​(FlatBufferBuilder builder,
          +                                int boneNamesOffset)
          +
        • +
        + + + +
          +
        • +

          createBoneNamesVector

          +
          public static int createBoneNamesVector​(FlatBufferBuilder builder,
          +                                        int[] data)
          +
        • +
        + + + +
          +
        • +

          startBoneNamesVector

          +
          public static void startBoneNamesVector​(FlatBufferBuilder builder,
          +                                        int numElems)
          +
        • +
        + + + +
          +
        • +

          addBoneParents

          +
          public static void addBoneParents​(FlatBufferBuilder builder,
          +                                  int boneParentsOffset)
          +
        • +
        + + + +
          +
        • +

          createBoneParentsVector

          +
          public static int createBoneParentsVector​(FlatBufferBuilder builder,
          +                                          byte[] data)
          +
        • +
        + + + + + + + +
          +
        • +

          startBoneParentsVector

          +
          public static void startBoneParentsVector​(FlatBufferBuilder builder,
          +                                          int numElems)
          +
        • +
        + + + +
          +
        • +

          addBoneTransforms

          +
          public static void addBoneTransforms​(FlatBufferBuilder builder,
          +                                     int boneTransformsOffset)
          +
        • +
        + + + +
          +
        • +

          startBoneTransformsVector

          +
          public static void startBoneTransformsVector​(FlatBufferBuilder builder,
          +                                             int numElems)
          +
        • +
        + + + +
          +
        • +

          endSkeletonDef

          +
          public static int endSkeletonDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/SubmeshAabb.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/SubmeshAabb.html new file mode 100644 index 00000000..233ebb0a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/SubmeshAabb.html @@ -0,0 +1,497 @@ + + + + + +SubmeshAabb (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SubmeshAabb

    +
    +
    + +
    +
      +
    • +
      +
      public final class SubmeshAabb
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SubmeshAabb

          +
          public SubmeshAabb()
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureDef.html new file mode 100644 index 00000000..e754d22a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureDef.html @@ -0,0 +1,953 @@ + + + + + +TextureDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TextureDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class TextureDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TextureDef

          +
          public TextureDef()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          name

          +
          public String name()
          +
        • +
        + + + +
          +
        • +

          nameAsByteBuffer

          +
          public ByteBuffer nameAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          file

          +
          public String file()
          +
        • +
        + + + +
          +
        • +

          fileAsByteBuffer

          +
          public ByteBuffer fileAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          data

          +
          public int data​(int j)
          +
        • +
        + + + +
          +
        • +

          dataLength

          +
          public int dataLength()
          +
        • +
        + + + +
          +
        • +

          dataAsByteBuffer

          +
          public ByteBuffer dataAsByteBuffer()
          +
        • +
        + + + + + + + +
          +
        • +

          generateMipmaps

          +
          public boolean generateMipmaps()
          +
        • +
        + + + +
          +
        • +

          premultiplyAlpha

          +
          public boolean premultiplyAlpha()
          +
        • +
        + + + +
          +
        • +

          minFilter

          +
          public int minFilter()
          +
        • +
        + + + +
          +
        • +

          magFilter

          +
          public int magFilter()
          +
        • +
        + + + +
          +
        • +

          wrapS

          +
          public int wrapS()
          +
        • +
        + + + +
          +
        • +

          wrapT

          +
          public int wrapT()
          +
        • +
        + + + +
          +
        • +

          wrapR

          +
          public int wrapR()
          +
        • +
        + + + +
          +
        • +

          targetType

          +
          public int targetType()
          +
        • +
        + + + +
          +
        • +

          isRgbm

          +
          public boolean isRgbm()
          +
        • +
        + + + +
          +
        • +

          createTextureDef

          +
          public static int createTextureDef​(FlatBufferBuilder builder,
          +                                   int nameOffset,
          +                                   int fileOffset,
          +                                   int dataOffset,
          +                                   boolean generate_mipmaps,
          +                                   boolean premultiply_alpha,
          +                                   int min_filter,
          +                                   int mag_filter,
          +                                   int wrap_s,
          +                                   int wrap_t,
          +                                   int wrap_r,
          +                                   int target_type,
          +                                   boolean is_rgbm)
          +
        • +
        + + + +
          +
        • +

          startTextureDef

          +
          public static void startTextureDef​(FlatBufferBuilder builder)
          +
        • +
        + + + +
          +
        • +

          addName

          +
          public static void addName​(FlatBufferBuilder builder,
          +                           int nameOffset)
          +
        • +
        + + + +
          +
        • +

          addFile

          +
          public static void addFile​(FlatBufferBuilder builder,
          +                           int fileOffset)
          +
        • +
        + + + +
          +
        • +

          addData

          +
          public static void addData​(FlatBufferBuilder builder,
          +                           int dataOffset)
          +
        • +
        + + + +
          +
        • +

          createDataVector

          +
          public static int createDataVector​(FlatBufferBuilder builder,
          +                                   byte[] data)
          +
        • +
        + + + + + + + +
          +
        • +

          startDataVector

          +
          public static void startDataVector​(FlatBufferBuilder builder,
          +                                   int numElems)
          +
        • +
        + + + +
          +
        • +

          addGenerateMipmaps

          +
          public static void addGenerateMipmaps​(FlatBufferBuilder builder,
          +                                      boolean generateMipmaps)
          +
        • +
        + + + +
          +
        • +

          addPremultiplyAlpha

          +
          public static void addPremultiplyAlpha​(FlatBufferBuilder builder,
          +                                       boolean premultiplyAlpha)
          +
        • +
        + + + +
          +
        • +

          addMinFilter

          +
          public static void addMinFilter​(FlatBufferBuilder builder,
          +                                int minFilter)
          +
        • +
        + + + +
          +
        • +

          addMagFilter

          +
          public static void addMagFilter​(FlatBufferBuilder builder,
          +                                int magFilter)
          +
        • +
        + + + +
          +
        • +

          addWrapS

          +
          public static void addWrapS​(FlatBufferBuilder builder,
          +                            int wrapS)
          +
        • +
        + + + +
          +
        • +

          addWrapT

          +
          public static void addWrapT​(FlatBufferBuilder builder,
          +                            int wrapT)
          +
        • +
        + + + +
          +
        • +

          addWrapR

          +
          public static void addWrapR​(FlatBufferBuilder builder,
          +                            int wrapR)
          +
        • +
        + + + +
          +
        • +

          addTargetType

          +
          public static void addTargetType​(FlatBufferBuilder builder,
          +                                 int targetType)
          +
        • +
        + + + +
          +
        • +

          addIsRgbm

          +
          public static void addIsRgbm​(FlatBufferBuilder builder,
          +                             boolean isRgbm)
          +
        • +
        + + + +
          +
        • +

          endTextureDef

          +
          public static int endTextureDef​(FlatBufferBuilder builder)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureFiltering.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureFiltering.html new file mode 100644 index 00000000..13cd012d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureFiltering.html @@ -0,0 +1,414 @@ + + + + + +TextureFiltering (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TextureFiltering

    +
    +
    + +
    +
      +
    • +
      +
      public final class TextureFiltering
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureTargetType.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureTargetType.html new file mode 100644 index 00000000..17244714 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureTargetType.html @@ -0,0 +1,342 @@ + + + + + +TextureTargetType (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TextureTargetType

    +
    +
    + +
    +
      +
    • +
      +
      public final class TextureTargetType
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureWrap.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureWrap.html new file mode 100644 index 00000000..1d9e9203 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/TextureWrap.html @@ -0,0 +1,396 @@ + + + + + +TextureWrap (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TextureWrap

    +
    +
    + +
    +
      +
    • +
      +
      public final class TextureWrap
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantArrayDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantArrayDef.html new file mode 100644 index 00000000..69165e29 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantArrayDef.html @@ -0,0 +1,517 @@ + + + + + +VariantArrayDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VariantArrayDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class VariantArrayDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantArrayDefImpl.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantArrayDefImpl.html new file mode 100644 index 00000000..5c9d8024 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantArrayDefImpl.html @@ -0,0 +1,487 @@ + + + + + +VariantArrayDefImpl (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VariantArrayDefImpl

    +
    +
    + +
    +
      +
    • +
      +
      public final class VariantArrayDefImpl
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantDef.html new file mode 100644 index 00000000..f216f789 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantDef.html @@ -0,0 +1,541 @@ + + + + + +VariantDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VariantDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class VariantDef
      +extends Object
      +
      A variant type that can be converted into a lull::Variant.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantMapDef.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantMapDef.html new file mode 100644 index 00000000..c1472b0e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VariantMapDef.html @@ -0,0 +1,517 @@ + + + + + +VariantMapDef (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VariantMapDef

    +
    +
    + +
    +
      +
    • +
      +
      public final class VariantMapDef
      +extends Table
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec2.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec2.html new file mode 100644 index 00000000..c693254c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec2.html @@ -0,0 +1,397 @@ + + + + + +Vec2 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vec2

    +
    +
    + +
    +
      +
    • +
      +
      public final class Vec2
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Vec2

          +
          public Vec2()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          __assign

          +
          public Vec2 __assign​(int _i,
          +                     ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          x

          +
          public float x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y()
          +
        • +
        + + + +
          +
        • +

          createVec2

          +
          public static int createVec2​(FlatBufferBuilder builder,
          +                             float x,
          +                             float y)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec2i.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec2i.html new file mode 100644 index 00000000..fcea991c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec2i.html @@ -0,0 +1,397 @@ + + + + + +Vec2i (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vec2i

    +
    +
    + +
    +
      +
    • +
      +
      public final class Vec2i
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Vec2i

          +
          public Vec2i()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          x

          +
          public int x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public int y()
          +
        • +
        + + + +
          +
        • +

          createVec2i

          +
          public static int createVec2i​(FlatBufferBuilder builder,
          +                              int x,
          +                              int y)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec3.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec3.html new file mode 100644 index 00000000..d393d50e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec3.html @@ -0,0 +1,413 @@ + + + + + +Vec3 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vec3

    +
    +
    + +
    +
      +
    • +
      +
      public final class Vec3
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Vec3

          +
          public Vec3()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          __assign

          +
          public Vec3 __assign​(int _i,
          +                     ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          x

          +
          public float x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y()
          +
        • +
        + + + +
          +
        • +

          z

          +
          public float z()
          +
        • +
        + + + +
          +
        • +

          createVec3

          +
          public static int createVec3​(FlatBufferBuilder builder,
          +                             float x,
          +                             float y,
          +                             float z)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec4.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec4.html new file mode 100644 index 00000000..413f8b41 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/Vec4.html @@ -0,0 +1,429 @@ + + + + + +Vec4 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vec4

    +
    +
    + +
    +
      +
    • +
      +
      public final class Vec4
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Vec4

          +
          public Vec4()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          __assign

          +
          public Vec4 __assign​(int _i,
          +                     ByteBuffer _bb)
          +
        • +
        + + + +
          +
        • +

          x

          +
          public float x()
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y()
          +
        • +
        + + + +
          +
        • +

          z

          +
          public float z()
          +
        • +
        + + + +
          +
        • +

          w

          +
          public float w()
          +
        • +
        + + + +
          +
        • +

          createVec4

          +
          public static int createVec4​(FlatBufferBuilder builder,
          +                             float x,
          +                             float y,
          +                             float z,
          +                             float w)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttribute.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttribute.html new file mode 100644 index 00000000..65d68e27 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttribute.html @@ -0,0 +1,397 @@ + + + + + +VertexAttribute (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VertexAttribute

    +
    +
    + +
    +
      +
    • +
      +
      public final class VertexAttribute
      +extends Struct
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          VertexAttribute

          +
          public VertexAttribute()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __init

          +
          public void __init​(int _i,
          +                   ByteBuffer _bb)
          +
        • +
        + + + + + + + +
          +
        • +

          usage

          +
          public int usage()
          +
        • +
        + + + +
          +
        • +

          type

          +
          public int type()
          +
        • +
        + + + +
          +
        • +

          createVertexAttribute

          +
          public static int createVertexAttribute​(FlatBufferBuilder builder,
          +                                        int usage,
          +                                        int type)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttributeType.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttributeType.html new file mode 100644 index 00000000..b863f6f4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttributeType.html @@ -0,0 +1,452 @@ + + + + + +VertexAttributeType (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VertexAttributeType

    +
    +
    + +
    +
      +
    • +
      +
      public final class VertexAttributeType
      +extends Object
      +
      Defines the data structure of a single attribute in a vertex. Each type is + assumed to be 4-byte aligned.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttributeUsage.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttributeUsage.html new file mode 100644 index 00000000..3c4df426 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/VertexAttributeUsage.html @@ -0,0 +1,469 @@ + + + + + +VertexAttributeUsage (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class VertexAttributeUsage

    +
    +
    + +
    +
      +
    • +
      +
      public final class VertexAttributeUsage
      +extends Object
      +
      Defines how data in a vertex is interpreted by the shader.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/package-summary.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/package-summary.html new file mode 100644 index 00000000..197e5c6d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/package-summary.html @@ -0,0 +1,393 @@ + + + + + +com.google.ar.sceneform.lullmodel (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform.lullmodel

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/lullmodel/package-tree.html b/docs/javadoc/com/google/ar/sceneform/lullmodel/package-tree.html new file mode 100644 index 00000000..c64d7475 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/lullmodel/package-tree.html @@ -0,0 +1,222 @@ + + + + + +com.google.ar.sceneform.lullmodel Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform.lullmodel

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/MathHelper.html b/docs/javadoc/com/google/ar/sceneform/math/MathHelper.html new file mode 100644 index 00000000..e0593341 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/MathHelper.html @@ -0,0 +1,361 @@ + + + + + +MathHelper (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MathHelper

    +
    +
    + +
    +
      +
    • +
      +
      public class MathHelper
      +extends Object
      +
      Static functions for common math operations.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MathHelper

          +
          public MathHelper()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          almostEqualRelativeAndAbs

          +
          public static boolean almostEqualRelativeAndAbs​(float a,
          +                                                float b)
          +
          Returns true if two floats are equal within a tolerance. Useful for comparing floating point + numbers while accounting for the limitations in floating point precision.
          +
        • +
        + + + +
          +
        • +

          clamp

          +
          public static float clamp​(float value,
          +                          float min,
          +                          float max)
          +
          Clamps a value between a minimum and maximum range.
          +
        • +
        + + + +
          +
        • +

          lerp

          +
          public static float lerp​(float a,
          +                         float b,
          +                         float t)
          +
          Linearly interpolates between a and b by a ratio.
          +
          +
          Parameters:
          +
          a - the beginning value
          +
          b - the ending value
          +
          t - ratio between the two floats
          +
          Returns:
          +
          interpolated value between the two floats
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/Matrix.html b/docs/javadoc/com/google/ar/sceneform/math/Matrix.html new file mode 100644 index 00000000..4ee2a9c2 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/Matrix.html @@ -0,0 +1,642 @@ + + + + + +Matrix (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Matrix

    +
    +
    + +
    +
      +
    • +
      +
      public class Matrix
      +extends Object
      +
      4x4 Matrix representing translation, scale, and rotation. Column major, right handed [0, 4, 8, + 12] [1, 5, 9, 13] [2, 6, 10, 14] [3, 7, 11, 15]
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          IDENTITY_DATA

          +
          public static final float[] IDENTITY_DATA
          +
        • +
        + + + +
          +
        • +

          data

          +
          public float[] data
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Matrix

          +
          public Matrix()
          +
        • +
        + + + +
          +
        • +

          Matrix

          +
          public Matrix​(float[] data)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          set

          +
          public void set​(float[] data)
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(Matrix m)
          +
        • +
        + + + +
          +
        • +

          decomposeTranslation

          +
          public void decomposeTranslation​(Vector3 destTranslation)
          +
        • +
        + + + +
          +
        • +

          decomposeScale

          +
          public void decomposeScale​(Vector3 destScale)
          +
        • +
        + + + +
          +
        • +

          decomposeRotation

          +
          public void decomposeRotation​(Vector3 decomposedScale,
          +                              Quaternion destRotation)
          +
        • +
        + + + +
          +
        • +

          decomposeRotation

          +
          public void decomposeRotation​(Vector3 decomposedScale,
          +                              Matrix destMatrix)
          +
        • +
        + + + +
          +
        • +

          extractQuaternion

          +
          public void extractQuaternion​(Quaternion destQuaternion)
          +
        • +
        + + + +
          +
        • +

          makeTranslation

          +
          public void makeTranslation​(Vector3 translation)
          +
        • +
        + + + +
          +
        • +

          setTranslation

          +
          public void setTranslation​(Vector3 translation)
          +
        • +
        + + + +
          +
        • +

          makeRotation

          +
          public void makeRotation​(Quaternion rotation)
          +
        • +
        + + + +
          +
        • +

          makeScale

          +
          public void makeScale​(float scale)
          +
        • +
        + + + +
          +
        • +

          makeScale

          +
          public void makeScale​(Vector3 scale)
          +
        • +
        + + + + + + + +
          +
        • +

          multiply

          +
          public static void multiply​(Matrix lhs,
          +                            Matrix rhs,
          +                            Matrix dest)
          +
        • +
        + + + +
          +
        • +

          transformPoint

          +
          public Vector3 transformPoint​(Vector3 vector)
          +
        • +
        + + + +
          +
        • +

          transformDirection

          +
          public Vector3 transformDirection​(Vector3 vector)
          +
          Transforms a direction by ignoring any translation. + +

          If the matrix is uniformly (positively) scaled, then the resulting direction will be correct + but scaled by the same factor. If a unit direction is required then the result should be + normalized. + +

          If the scale is non-uniform or negative then the result vector will be distorted. In this + case the matrix used should be the inverse transpose of the incoming matrix.

          +
        • +
        + + + +
          +
        • +

          invert

          +
          public static boolean invert​(Matrix matrix,
          +                             Matrix dest)
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public static boolean equals​(Matrix lhs,
          +                             Matrix rhs)
          +
          Compares Matrix values
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/Quaternion.html b/docs/javadoc/com/google/ar/sceneform/math/Quaternion.html new file mode 100644 index 00000000..61b83420 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/Quaternion.html @@ -0,0 +1,871 @@ + + + + + +Quaternion (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Quaternion

    +
    +
    + +
    +
      +
    • +
      +
      public class Quaternion
      +extends Object
      +
      A Sceneform quaternion class for floats. + +

      Quaternion operations are Hamiltonian using the right-hand-rule convention.

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          x

          +
          public float x
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y
          +
        • +
        + + + +
          +
        • +

          z

          +
          public float z
          +
        • +
        + + + +
          +
        • +

          w

          +
          public float w
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Quaternion

          +
          public Quaternion()
          +
          Construct Quaternion and set to Identity
          +
        • +
        + + + +
          +
        • +

          Quaternion

          +
          public Quaternion​(float x,
          +                  float y,
          +                  float z,
          +                  float w)
          +
          Construct Quaternion and set each value. The Quaternion will be normalized during construction
          +
        • +
        + + + +
          +
        • +

          Quaternion

          +
          public Quaternion​(Quaternion q)
          +
          Construct Quaternion using values from another Quaternion
          +
        • +
        + + + +
          +
        • +

          Quaternion

          +
          public Quaternion​(Vector3 axis,
          +                  float angle)
          +
          Construct Quaternion using an axis/angle to define the rotation
          +
          +
          Parameters:
          +
          axis - Sets rotation direction
          +
          angle - Angle size in degrees
          +
          +
        • +
        + + + +
          +
        • +

          Quaternion

          +
          public Quaternion​(Vector3 eulerAngles)
          +
          Construct Quaternion based on eulerAngles.
          +
          +
          Parameters:
          +
          eulerAngles - - the angle in degrees for each axis.
          +
          See Also:
          +
          eulerAngles(Vector3 eulerAngles)
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          set

          +
          public void set​(Quaternion q)
          +
          Copy values from another Quaternion into this one
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(Vector3 axis,
          +                float angle)
          +
          Update this Quaternion using an axis/angle to define the rotation
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(float qx,
          +                float qy,
          +                float qz,
          +                float qw)
          +
          Set each value and normalize the Quaternion
          +
        • +
        + + + +
          +
        • +

          setIdentity

          +
          public void setIdentity()
          +
          Set the Quaternion to identity
          +
        • +
        + + + +
          +
        • +

          normalize

          +
          public boolean normalize()
          +
          Rescales the quaternion to the unit length. + +

          If the Quaternion can not be scaled, it is set to identity and false is returned.

          +
          +
          Returns:
          +
          true if the Quaternion was non-zero
          +
          +
        • +
        + + + +
          +
        • +

          normalized

          +
          public Quaternion normalized()
          +
          Get a Quaternion with a matching rotation but scaled to unit length.
          +
          +
          Returns:
          +
          the quaternion scaled to the unit length, or zero if that can not be done.
          +
          +
        • +
        + + + +
          +
        • +

          inverted

          +
          public Quaternion inverted()
          +
          Get a Quaternion with the opposite rotation
          +
          +
          Returns:
          +
          the opposite rotation
          +
          +
        • +
        + + + + + + + +
          +
        • +

          rotateVector

          +
          public static Vector3 rotateVector​(Quaternion q,
          +                                   Vector3 src)
          +
          Rotates a Vector3 by a Quaternion
          +
          +
          Returns:
          +
          The rotated vector
          +
          +
        • +
        + + + + + + + +
          +
        • +

          multiply

          +
          public static Quaternion multiply​(Quaternion lhs,
          +                                  Quaternion rhs)
          +
          Create a Quaternion by combining two Quaternions multiply(lhs, rhs) is equivalent to performing + the rhs rotation then lhs rotation Ordering is important for this operation.
          +
          +
          Returns:
          +
          The combined rotation
          +
          +
        • +
        + + + + + + + +
          +
        • +

          axisAngle

          +
          public static Quaternion axisAngle​(Vector3 axis,
          +                                   float degrees)
          +
          Get a new Quaternion using an axis/angle to define the rotation
          +
          +
          Parameters:
          +
          axis - Sets rotation direction
          +
          degrees - Angle size in degrees
          +
          +
        • +
        + + + +
          +
        • +

          eulerAngles

          +
          public static Quaternion eulerAngles​(Vector3 eulerAngles)
          +
          Get a new Quaternion using eulerAngles to define the rotation. + +

          The rotations are applied in Z, Y, X order. This is consistent with other graphics engines. + One thing to note is the coordinate systems are different between Sceneform and Unity, so the + same angles used here will have cause a different orientation than Unity. Carefully check your + parameter values to get the same effect as in other engines.

          +
          +
          Parameters:
          +
          eulerAngles - - the angles in degrees.
          +
          +
        • +
        + + + +
          +
        • +

          rotationBetweenVectors

          +
          public static Quaternion rotationBetweenVectors​(Vector3 start,
          +                                                Vector3 end)
          +
          Get a new Quaternion representing the rotation from one vector to another.
          +
        • +
        + + + +
          +
        • +

          lookRotation

          +
          public static Quaternion lookRotation​(Vector3 forwardInWorld,
          +                                      Vector3 desiredUpInWorld)
          +
          Get a new Quaternion representing a rotation towards a specified forward direction. If + upInWorld is orthogonal to forwardInWorld, then the Y axis is aligned with desiredUpInWorld.
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public static boolean equals​(Quaternion lhs,
          +                             Quaternion rhs)
          +
          Compare two Quaternions + +

          Tests for equality by calculating the dot product of lhs and rhs. lhs and -lhs will not be + equal according to this function.

          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(Object other)
          +
          Returns true if the other object is a Quaternion and the dot product is 1.0 +/- a tolerance.
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        + + + +
          +
        • +

          identity

          +
          public static Quaternion identity()
          +
          Get a Quaternion set to identity
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/QuaternionEvaluator.html b/docs/javadoc/com/google/ar/sceneform/math/QuaternionEvaluator.html new file mode 100644 index 00000000..847e2e75 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/QuaternionEvaluator.html @@ -0,0 +1,318 @@ + + + + + +QuaternionEvaluator (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class QuaternionEvaluator

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/Vector3.html b/docs/javadoc/com/google/ar/sceneform/math/Vector3.html new file mode 100644 index 00000000..76b330e4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/Vector3.html @@ -0,0 +1,916 @@ + + + + + +Vector3 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vector3

    +
    +
    + +
    +
      +
    • +
      +
      public class Vector3
      +extends Object
      +
      A Vector with 3 floats.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        floatx 
        floaty 
        floatz 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Vector3() +
        Construct a Vector3 and assign zero to all values
        +
        Vector3​(float x, + float y, + float z) +
        Construct a Vector3 and assign each value
        +
        Vector3​(Vector3 v) +
        Construct a Vector3 and copy the values
        +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          x

          +
          public float x
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y
          +
        • +
        + + + +
          +
        • +

          z

          +
          public float z
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Vector3

          +
          public Vector3()
          +
          Construct a Vector3 and assign zero to all values
          +
        • +
        + + + +
          +
        • +

          Vector3

          +
          public Vector3​(float x,
          +               float y,
          +               float z)
          +
          Construct a Vector3 and assign each value
          +
        • +
        + + + +
          +
        • +

          Vector3

          +
          public Vector3​(Vector3 v)
          +
          Construct a Vector3 and copy the values
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          set

          +
          public void set​(Vector3 v)
          +
          Copy the values from another Vector3 to this Vector3
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(float vx,
          +                float vy,
          +                float vz)
          +
          Set each value
          +
        • +
        + + + +
          +
        • +

          lengthSquared

          +
          public float lengthSquared()
          +
        • +
        + + + +
          +
        • +

          length

          +
          public float length()
          +
        • +
        + + + + + + + +
          +
        • +

          normalized

          +
          public Vector3 normalized()
          +
          Scales the Vector3 to the unit length
          +
        • +
        + + + +
          +
        • +

          scaled

          +
          public Vector3 scaled​(float a)
          +
          Uniformly scales a Vector3
          +
          +
          Returns:
          +
          a Vector3 multiplied by a scalar amount
          +
          +
        • +
        + + + +
          +
        • +

          negated

          +
          public Vector3 negated()
          +
          Negates a Vector3
          +
          +
          Returns:
          +
          A Vector3 with opposite direction
          +
          +
        • +
        + + + +
          +
        • +

          add

          +
          public static Vector3 add​(Vector3 lhs,
          +                          Vector3 rhs)
          +
          Adds two Vector3's
          +
          +
          Returns:
          +
          The combined Vector3
          +
          +
        • +
        + + + +
          +
        • +

          subtract

          +
          public static Vector3 subtract​(Vector3 lhs,
          +                               Vector3 rhs)
          +
          Subtract two Vector3
          +
          +
          Returns:
          +
          The combined Vector3
          +
          +
        • +
        + + + +
          +
        • +

          dot

          +
          public static float dot​(Vector3 lhs,
          +                        Vector3 rhs)
          +
          Get dot product of two Vector3's
          +
          +
          Returns:
          +
          The scalar product of the Vector3's
          +
          +
        • +
        + + + +
          +
        • +

          cross

          +
          public static Vector3 cross​(Vector3 lhs,
          +                            Vector3 rhs)
          +
          Get cross product of two Vector3's
          +
          +
          Returns:
          +
          A Vector3 perpendicular to Vector3's
          +
          +
        • +
        + + + +
          +
        • +

          min

          +
          public static Vector3 min​(Vector3 lhs,
          +                          Vector3 rhs)
          +
          Get a Vector3 with each value set to the element wise minimum of two Vector3's values
          +
        • +
        + + + +
          +
        • +

          max

          +
          public static Vector3 max​(Vector3 lhs,
          +                          Vector3 rhs)
          +
          Get a Vector3 with each value set to the element wise maximum of two Vector3's values
          +
        • +
        + + + +
          +
        • +

          lerp

          +
          public static Vector3 lerp​(Vector3 a,
          +                           Vector3 b,
          +                           float t)
          +
          Linearly interpolates between a and b.
          +
          +
          Parameters:
          +
          a - the beginning value
          +
          b - the ending value
          +
          t - ratio between the two floats.
          +
          Returns:
          +
          interpolated value between the two floats
          +
          +
        • +
        + + + +
          +
        • +

          angleBetweenVectors

          +
          public static float angleBetweenVectors​(Vector3 a,
          +                                        Vector3 b)
          +
          Returns the shortest angle in degrees between two vectors. The result is never greater than 180 + degrees.
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public static boolean equals​(Vector3 lhs,
          +                             Vector3 rhs)
          +
          Compares two Vector3's are equal if each component is equal within a tolerance.
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(Object other)
          +
          Returns true if the other object is a Vector3 and each component is equal within a tolerance.
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        + + + +
          +
        • +

          zero

          +
          public static Vector3 zero()
          +
          Gets a Vector3 with all values set to zero
          +
        • +
        + + + +
          +
        • +

          one

          +
          public static Vector3 one()
          +
          Gets a Vector3 with all values set to one
          +
        • +
        + + + +
          +
        • +

          forward

          +
          public static Vector3 forward()
          +
          Gets a Vector3 set to (0, 0, -1)
          +
        • +
        + + + +
          +
        • +

          back

          +
          public static Vector3 back()
          +
          Gets a Vector3 set to (0, 0, 1)
          +
        • +
        + + + +
          +
        • +

          up

          +
          public static Vector3 up()
          +
          Gets a Vector3 set to (0, 1, 0)
          +
        • +
        + + + +
          +
        • +

          down

          +
          public static Vector3 down()
          +
          Gets a Vector3 set to (0, -1, 0)
          +
        • +
        + + + +
          +
        • +

          right

          +
          public static Vector3 right()
          +
          Gets a Vector3 set to (1, 0, 0)
          +
        • +
        + + + +
          +
        • +

          left

          +
          public static Vector3 left()
          +
          Gets a Vector3 set to (-1, 0, 0)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/Vector3Evaluator.html b/docs/javadoc/com/google/ar/sceneform/math/Vector3Evaluator.html new file mode 100644 index 00000000..5d6fb7b7 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/Vector3Evaluator.html @@ -0,0 +1,318 @@ + + + + + +Vector3Evaluator (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vector3Evaluator

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/package-summary.html b/docs/javadoc/com/google/ar/sceneform/math/package-summary.html new file mode 100644 index 00000000..64dac093 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/package-summary.html @@ -0,0 +1,196 @@ + + + + + +com.google.ar.sceneform.math (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform.math

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/math/package-tree.html b/docs/javadoc/com/google/ar/sceneform/math/package-tree.html new file mode 100644 index 00000000..0852ae4a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/math/package-tree.html @@ -0,0 +1,166 @@ + + + + + +com.google.ar.sceneform.math Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform.math

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/package-summary.html b/docs/javadoc/com/google/ar/sceneform/package-summary.html new file mode 100644 index 00000000..3c14ba44 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/package-summary.html @@ -0,0 +1,305 @@ + + + + + +com.google.ar.sceneform (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/package-tree.html b/docs/javadoc/com/google/ar/sceneform/package-tree.html new file mode 100644 index 00000000..f3f391e3 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/package-tree.html @@ -0,0 +1,219 @@ + + + + + +com.google.ar.sceneform Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +

    Enum Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/CameraProvider.html b/docs/javadoc/com/google/ar/sceneform/rendering/CameraProvider.html new file mode 100644 index 00000000..3b5000aa --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/CameraProvider.html @@ -0,0 +1,335 @@ + + + + + +CameraProvider (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface CameraProvider

    +
    +
    +
    +
      +
    • +
      +
      All Superinterfaces:
      +
      TransformProvider
      +
      +
      +
      All Known Implementing Classes:
      +
      Camera
      +
      +
      +
      public interface CameraProvider
      +extends TransformProvider
      +
      Required interface for a virtual camera.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isActive

          +
          boolean isActive()
          +
        • +
        + + + +
          +
        • +

          getNearClipPlane

          +
          float getNearClipPlane()
          +
        • +
        + + + +
          +
        • +

          getFarClipPlane

          +
          float getFarClipPlane()
          +
        • +
        + + + +
          +
        • +

          getViewMatrix

          +
          Matrix getViewMatrix()
          +
        • +
        + + + +
          +
        • +

          getProjectionMatrix

          +
          Matrix getProjectionMatrix()
          +
        • +
        + + + +
          +
        • +

          updateTrackedPose

          +
          void updateTrackedPose​(com.google.ar.core.Camera camera)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.DepthMode.html b/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.DepthMode.html new file mode 100644 index 00000000..40966d29 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.DepthMode.html @@ -0,0 +1,413 @@ + + + + + +CameraStream.DepthMode (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum CameraStream.DepthMode

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Comparable<CameraStream.DepthMode>
      +
      +
      +
      Enclosing class:
      +
      CameraStream
      +
      +
      +
      public static enum CameraStream.DepthMode
      +extends Enum<CameraStream.DepthMode>
      +
      The DepthMode Enum is used to reflect the Session configuration + for the DepthMode to decide if the occlusion material should be set and if + frame.acquireDepthImage() or frame.acquireRawDepthImage() should be called to get + the input data for the depth texture.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Detail

        + + + +
          +
        • +

          NO_DEPTH

          +
          public static final CameraStream.DepthMode NO_DEPTH
          +
          + The Session is not configured to use the Depth-API
          +
          + This is the default value
          + 
          +
        • +
        + + + +
          +
        • +

          DEPTH

          +
          public static final CameraStream.DepthMode DEPTH
          +
          The Session is configured to use the DepthMode AUTOMATIC
          +
        • +
        + + + +
          +
        • +

          RAW_DEPTH

          +
          public static final CameraStream.DepthMode RAW_DEPTH
          +
          The Session is configured to use the DepthMode RAW_DEPTH_ONLY
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static CameraStream.DepthMode[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (CameraStream.DepthMode c : CameraStream.DepthMode.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static CameraStream.DepthMode valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.DepthOcclusionMode.html b/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.DepthOcclusionMode.html new file mode 100644 index 00000000..94536311 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.DepthOcclusionMode.html @@ -0,0 +1,405 @@ + + + + + +CameraStream.DepthOcclusionMode (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum CameraStream.DepthOcclusionMode

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Detail

        + + + +
          +
        • +

          DEPTH_OCCLUSION_ENABLED

          +
          public static final CameraStream.DepthOcclusionMode DEPTH_OCCLUSION_ENABLED
          +
          Set the occlusion material. If the Session is not + configured properly the standard camera material is used. + Valid Session configuration for the DepthMode are + Config.DepthMode.AUTOMATIC and Config.DepthMode.RAW_DEPTH_ONLY.
          +
        • +
        + + + +
          +
        • +

          DEPTH_OCCLUSION_DISABLED

          +
          public static final CameraStream.DepthOcclusionMode DEPTH_OCCLUSION_DISABLED
          +
          + Use this value if the standard camera material should be applied to
          + the CameraStream Renderable even if the Session configuration has set
          + the DepthMode to Config.DepthMode.AUTOMATIC or
          + Config.DepthMode.RAW_DEPTH_ONLY. This Option is useful, if you
          + want to use the DepthImage or RawDepthImage or just the DepthPoints without the
          + occlusion effect.
          +
          + This is the default value
          + 
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static CameraStream.DepthOcclusionMode[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (CameraStream.DepthOcclusionMode c : CameraStream.DepthOcclusionMode.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static CameraStream.DepthOcclusionMode valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.html b/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.html new file mode 100644 index 00000000..a3b6b20b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/CameraStream.html @@ -0,0 +1,643 @@ + + + + + +CameraStream (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CameraStream

    +
    +
    + +
    +
      +
    • +
      +
      public class CameraStream
      +extends Object
      +
      Displays the Camera stream using Filament.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CameraStream

          +
          public CameraStream​(int cameraTextureId,
          +                    Renderer renderer)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          checkIfDepthIsEnabled

          +
          public void checkIfDepthIsEnabled​(com.google.ar.core.Session session)
          +
          +     The Session holds the information if the
          +     DepthMode is configured or not. Based on
          +     that result different materials and textures are
          +     used for the camera.
          + 
          +
          +
          Parameters:
          +
          session - Session
          +
          +
        • +
        + + + +
          +
        • +

          isTextureInitialized

          +
          public boolean isTextureInitialized()
          +
        • +
        + + + +
          +
        • +

          initializeTexture

          +
          public void initializeTexture​(com.google.ar.core.Frame frame)
          +
        • +
        + + + +
          +
        • +

          recalculateOcclusion

          +
          public void recalculateOcclusion​(Image depthImage)
          +
          +      Update the DepthTexture.
          + 
          +
          +
          Parameters:
          +
          depthImage - Image
          +
          +
        • +
        + + + +
          +
        • +

          recalculateCameraUvs

          +
          public void recalculateCameraUvs​(com.google.ar.core.Frame frame)
          +
        • +
        + + + +
          +
        • +

          getRenderPriority

          +
          public int getRenderPriority()
          +
        • +
        + + + +
          +
        • +

          setRenderPriority

          +
          public void setRenderPriority​(int priority)
          +
        • +
        + + + +
          +
        • +

          getDepthMode

          +
          public CameraStream.DepthMode getDepthMode()
          +
          Gets the currently applied depth mode depending on the device supported modes.
          +
        • +
        + + + +
          +
        • +

          isDepthOcclusionModeSupported

          +
          public boolean isDepthOcclusionModeSupported​(CameraStream.DepthOcclusionMode depthOcclusionMode)
          +
          Checks whether the provided DepthOcclusionMode is supported on this device with the selected camera configuration and AR config. + The current list of supported devices is documented on the ARCore supported devices page.
          +
          +
          Parameters:
          +
          depthOcclusionMode - The desired depth mode to check.
          +
          Returns:
          +
          True if the depth mode has been activated on the AR session config + and the provided depth occlusion mode is supported on this device.
          +
          +
        • +
        + + + + + + + +
          +
        • +

          setDepthOcclusionMode

          +
          public void setDepthOcclusionMode​(CameraStream.DepthOcclusionMode depthOcclusionMode)
          +
          +     Set the DepthModeUsage to CameraStream.DepthOcclusionMode.DEPTH_OCCLUSION_ENABLED to set the
          +     occlusion Material. This will process the incoming DepthImage to
          +     occlude virtual objects behind real world objects. If the Session configuration
          +     for the Config.DepthMode is set to Config.DepthMode.DISABLED,
          +     the standard camera Material is used.
          +
          +     Set the DepthModeUsage to CameraStream.DepthOcclusionMode.DEPTH_OCCLUSION_DISABLED to set the
          +     standard camera Material.
          +
          +     A good place to set the DepthModeUsage is inside of the onViewCreated() function call.
          +     To make sure that this function is called in your code set the correct listener on
          +     your Ar Fragment
          +
          +     public void onAttachFragment(
          +         FragmentManager fragmentManager,
          +         Fragment fragment
          +     ) {
          +         if (fragment.getId() == R.id.arFragment) {
          +             arFragment = (ArFragment) fragment;
          +             arFragment.setOnViewCreatedListener(this);
          +             arFragment.setOnSessionConfigurationListener(this);
          +         }
          +     }
          +
          +     public void onViewCreated(
          +         ArFragment arFragment,
          +         ArSceneView arSceneView
          +     ) {
          +         arSceneView
          +            .getCameraStream()
          +            .setDepthModeUsage(CameraStream
          +               .setDepthOcclusionMode
          +               .DEPTH_OCCLUSION_DISABLED);
          +     }
          +     
          +
          +     The default value for CameraStream.DepthOcclusionMode is CameraStream.DepthOcclusionMode.DEPTH_OCCLUSION_DISABLED.
          + 
          +
          +
          Parameters:
          +
          depthOcclusionMode - CameraStream.DepthOcclusionMode
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/CleanupRegistry.html b/docs/javadoc/com/google/ar/sceneform/rendering/CleanupRegistry.html new file mode 100644 index 00000000..e54ed921 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/CleanupRegistry.html @@ -0,0 +1,382 @@ + + + + + +CleanupRegistry (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class CleanupRegistry<T>

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          CleanupRegistry

          +
          public CleanupRegistry()
          +
        • +
        + + + +
          +
        • +

          CleanupRegistry

          +
          public CleanupRegistry​(HashSet<com.google.ar.sceneform.rendering.CleanupItem<T>> cleanupItemHashSet,
          +                       ReferenceQueue<T> referenceQueue)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + +
          +
        • +

          register

          +
          public void register​(T trackedObject,
          +                     Runnable cleanupCallback)
          +
          Adds trackedOBject to the ReferenceQueue.
          +
          +
          Parameters:
          +
          trackedObject - The target to be tracked.
          +
          cleanupCallback - Will be called after trackedOBject is disposed.
          +
          +
        • +
        + + + + + + + +
          +
        • +

          destroyAllResources

          +
          public void destroyAllResources()
          +
          Ignores reference count and releases any associated resources
          +
          +
          Specified by:
          +
          destroyAllResources in interface ResourceHolder
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Color.html b/docs/javadoc/com/google/ar/sceneform/rendering/Color.html new file mode 100644 index 00000000..1b4f924c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Color.html @@ -0,0 +1,550 @@ + + + + + +Color (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Color

    +
    +
    + +
    +
      +
    • +
      +
      public class Color
      +extends Object
      +
      An RGBA color. Each component is a value with a range from 0 to 1. Can be created from an Android + ColorInt.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        floata 
        floatb 
        floatg 
        floatr 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Color() +
        Construct a Color and default it to white (1, 1, 1, 1).
        +
        Color​(float r, + float g, + float b) +
        Construct a color with the RGB values passed in and an alpha of 1.
        +
        Color​(float r, + float g, + float b, + float a) +
        Construct a color with the RGBA values passed in.
        +
        Color​(int argb) +
        Construct a color with an integer in the sRGB color space packed as an ARGB value.
        +
        Color​(Color color) +
        Construct a Color with the values of another color.
        +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        ColorinverseTonemap() +
        Returns a new color with Sceneform's tonemapping inversed.
        +
        voidset​(float r, + float g, + float b) +
        Set to the RGB values passed in and an alpha of 1.
        +
        voidset​(float r, + float g, + float b, + float a) +
        Set to the RGBA values passed in.
        +
        voidset​(int argb) +
        Set to RGBA values from an integer in the sRGB color space packed as an ARGB value.
        +
        voidset​(Color color) +
        Set to the values of another color.
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          r

          +
          public float r
          +
        • +
        + + + +
          +
        • +

          g

          +
          public float g
          +
        • +
        + + + +
          +
        • +

          b

          +
          public float b
          +
        • +
        + + + +
          +
        • +

          a

          +
          public float a
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Color

          +
          public Color()
          +
          Construct a Color and default it to white (1, 1, 1, 1).
          +
        • +
        + + + +
          +
        • +

          Color

          +
          public Color​(Color color)
          +
          Construct a Color with the values of another color.
          +
        • +
        + + + +
          +
        • +

          Color

          +
          public Color​(float r,
          +             float g,
          +             float b)
          +
          Construct a color with the RGB values passed in and an alpha of 1.
          +
        • +
        + + + +
          +
        • +

          Color

          +
          public Color​(float r,
          +             float g,
          +             float b,
          +             float a)
          +
          Construct a color with the RGBA values passed in.
          +
        • +
        + + + +
          +
        • +

          Color

          +
          public Color​(int argb)
          +
          Construct a color with an integer in the sRGB color space packed as an ARGB value. Used for + constructing from an Android ColorInt.
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          set

          +
          public void set​(Color color)
          +
          Set to the values of another color.
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(float r,
          +                float g,
          +                float b)
          +
          Set to the RGB values passed in and an alpha of 1.
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(float r,
          +                float g,
          +                float b,
          +                float a)
          +
          Set to the RGBA values passed in.
          +
        • +
        + + + +
          +
        • +

          set

          +
          public void set​(int argb)
          +
          Set to RGBA values from an integer in the sRGB color space packed as an ARGB value. Used for + setting from an Android ColorInt.
          +
        • +
        + + + +
          +
        • +

          inverseTonemap

          +
          public Color inverseTonemap()
          +
          Returns a new color with Sceneform's tonemapping inversed.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/DepthTexture.html b/docs/javadoc/com/google/ar/sceneform/rendering/DepthTexture.html new file mode 100644 index 00000000..b1fc76b1 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/DepthTexture.html @@ -0,0 +1,354 @@ + + + + + +DepthTexture (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DepthTexture

    +
    +
    + +
    +
      +
    • +
      +
      public class DepthTexture
      +extends Object
      +
      +     The DepthTexture class holds a special Texture to store
      +     information from a DepthImage or RawDepthImage to implement the occlusion of
      +     virtual objects behind real world objects.
      + 
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DepthTexture

          +
          public DepthTexture​(int width,
          +                    int height)
          +
          +      A call to this constructor creates a new Filament Texture which is
          +      later used to feed in data from a DepthImage.
          + 
          +
          +
          Parameters:
          +
          width - int
          +
          height - int
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFilamentTexture

          +
          public com.google.android.filament.Texture getFilamentTexture()
          +
        • +
        + + + +
          +
        • +

          updateDepthTexture

          +
          public void updateDepthTexture​(Image depthImage)
          +
          +     This is the most important function of this class.
          +     The Filament Texture is updated based on the newest
          +     DepthImage. To solve a problem with a to early
          +     released DepthImage the ByteBuffer which holds all
          +     necessary data is cloned. The cloned ByteBuffer is unaffected
          +     of a released DepthImage and therefore produces not
          +     a flickering result.
          + 
          +
          +
          Parameters:
          +
          depthImage - Image
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/DpToMetersViewSizer.html b/docs/javadoc/com/google/ar/sceneform/rendering/DpToMetersViewSizer.html new file mode 100644 index 00000000..a0348887 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/DpToMetersViewSizer.html @@ -0,0 +1,357 @@ + + + + + +DpToMetersViewSizer (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class DpToMetersViewSizer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          DpToMetersViewSizer

          +
          public DpToMetersViewSizer​(int dpPerMeters)
          +
          Constructor for creating a sizer for controlling the size of a ViewRenderable by + defining how many dp there are per meter.
          +
          +
          Parameters:
          +
          dpPerMeters - a number greater than zero representing the ratio of dp to meters
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getDpPerMeters

          +
          public int getDpPerMeters()
          +
          Returns the number of dp (density-independent pixels) there are per meter that is used for + controlling the size of a ViewRenderable.
          +
        • +
        + + + +
          +
        • +

          getSize

          +
          public Vector3 getSize​(View view)
          +
          Description copied from interface: ViewSizer
          +
          Calculates the desired size of the view in the Scene. Vector3.x represents the width, and Vector3.y represents the height.
          +
          +
          Specified by:
          +
          getSize in interface ViewSizer
          +
          Parameters:
          +
          view - the view to calculate the size of
          +
          Returns:
          +
          a new vector that represents the view's size in the Scene
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/EngineInstance.html b/docs/javadoc/com/google/ar/sceneform/rendering/EngineInstance.html new file mode 100644 index 00000000..aaa789af --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/EngineInstance.html @@ -0,0 +1,382 @@ + + + + + +EngineInstance (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class EngineInstance

    +
    +
    + +
    +
      +
    • +
      +
      public class EngineInstance
      +extends Object
      +
      Store a single Filament Engine instance.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          EngineInstance

          +
          public EngineInstance()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          enableHeadlessEngine

          +
          public static void enableHeadlessEngine()
          +
        • +
        + + + +
          +
        • +

          disableHeadlessEngine

          +
          public static void disableHeadlessEngine()
          +
        • +
        + + + +
          +
        • +

          isHeadlessMode

          +
          public static boolean isHeadlessMode()
          +
        • +
        + + + +
          +
        • +

          getEngine

          +
          public static IEngine getEngine()
          +
          Get the Filament Engine instance, creating it if necessary.
          +
          +
          Throws:
          +
          IllegalStateException
          +
          +
        • +
        + + + +
          +
        • +

          destroyEngine

          +
          public static void destroyEngine()
          +
        • +
        + + + +
          +
        • +

          isEngineDestroyed

          +
          public static boolean isEngineDestroyed()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/EnvironmentalHdrLightEstimate.html b/docs/javadoc/com/google/ar/sceneform/rendering/EnvironmentalHdrLightEstimate.html new file mode 100644 index 00000000..36ca9dbd --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/EnvironmentalHdrLightEstimate.html @@ -0,0 +1,384 @@ + + + + + +EnvironmentalHdrLightEstimate (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class EnvironmentalHdrLightEstimate

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      public class EnvironmentalHdrLightEstimate
      +extends Object
      +implements Serializable
      +
      Serialization structure for saving light estimate state for offline use, e.g. in tests.
      +
      +
      See Also:
      +
      Serialized Form
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          EnvironmentalHdrLightEstimate

          +
          public EnvironmentalHdrLightEstimate​(@Nullable
          +                                     float[] sphericalHarmonics,
          +                                     @Nullable
          +                                     float[] direction,
          +                                     Color colorCorrection,
          +                                     float relativeIntensity,
          +                                     @Nullable
          +                                     Image[] cubeMap)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getSphericalHarmonics

          +
          @Nullable
          +public float[] getSphericalHarmonics()
          +
        • +
        + + + +
          +
        • +

          getDirection

          +
          @Nullable
          +public float[] getDirection()
          +
        • +
        + + + +
          +
        • +

          getColor

          +
          public Color getColor()
          +
        • +
        + + + +
          +
        • +

          getRelativeIntensity

          +
          public float getRelativeIntensity()
          +
        • +
        + + + +
          +
        • +

          getCubeMap

          +
          @Nullable
          +public com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate.CubeMapImage[] getCubeMap()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ExternalTexture.html b/docs/javadoc/com/google/ar/sceneform/rendering/ExternalTexture.html new file mode 100644 index 00000000..362088ff --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ExternalTexture.html @@ -0,0 +1,334 @@ + + + + + +ExternalTexture (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ExternalTexture

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ExternalTexture

          +
          public ExternalTexture()
          +
          Creates an ExternalTexture with a new Android SurfaceTexture and Surface.
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getSurfaceTexture

          +
          public SurfaceTexture getSurfaceTexture()
          +
          Gets the surface texture created for this ExternalTexture.
          +
        • +
        + + + +
          +
        • +

          getSurface

          +
          public Surface getSurface()
          +
          Gets the surface created for this ExternalTexture that draws to getSurfaceTexture()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/FilamentEngineWrapper.html b/docs/javadoc/com/google/ar/sceneform/rendering/FilamentEngineWrapper.html new file mode 100644 index 00000000..230047d1 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/FilamentEngineWrapper.html @@ -0,0 +1,876 @@ + + + + + +FilamentEngineWrapper (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class FilamentEngineWrapper

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      IEngine
      +
      +
      +
      Direct Known Subclasses:
      +
      HeadlessEngineWrapper
      +
      +
      +
      public class FilamentEngineWrapper
      +extends Object
      +implements IEngine
      +
      Wraps calls to Filament engine.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FilamentEngineWrapper

          +
          public FilamentEngineWrapper​(com.google.android.filament.Engine engine)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFilamentEngine

          +
          public com.google.android.filament.Engine getFilamentEngine()
          +
          +
          Specified by:
          +
          getFilamentEngine in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          isValid

          +
          public boolean isValid()
          +
          +
          Specified by:
          +
          isValid in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroy

          +
          public void destroy()
          +
          +
          Specified by:
          +
          destroy in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createSwapChain

          +
          public com.google.android.filament.SwapChain createSwapChain​(Object surface)
          +
          Description copied from interface: IEngine
          +
          Valid surface types: - Android: Surface - Other: none
          +
          +
          Specified by:
          +
          createSwapChain in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createSwapChain

          +
          public com.google.android.filament.SwapChain createSwapChain​(Object surface,
          +                                                             long flags)
          +
          Description copied from interface: IEngine
          +
          Valid surface types: - Android: Surface - Other: none + +

          Flags: see CONFIG flags in SwapChain.

          +
          +
          Specified by:
          +
          createSwapChain in interface IEngine
          +
          See Also:
          +
          SwapChain.CONFIG_DEFAULT, +SwapChain.CONFIG_TRANSPARENT, +SwapChain.CONFIG_READABLE
          +
          +
        • +
        + + + +
          +
        • +

          createSwapChainFromNativeSurface

          +
          public com.google.android.filament.SwapChain createSwapChainFromNativeSurface​(com.google.android.filament.NativeSurface surface,
          +                                                                              long flags)
          +
          +
          Specified by:
          +
          createSwapChainFromNativeSurface in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroySwapChain

          +
          public void destroySwapChain​(com.google.android.filament.SwapChain swapChain)
          +
          +
          Specified by:
          +
          destroySwapChain in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createView

          +
          public com.google.android.filament.View createView()
          +
          +
          Specified by:
          +
          createView in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyView

          +
          public void destroyView​(com.google.android.filament.View view)
          +
          +
          Specified by:
          +
          destroyView in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createRenderer

          +
          public com.google.android.filament.Renderer createRenderer()
          +
          +
          Specified by:
          +
          createRenderer in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyRenderer

          +
          public void destroyRenderer​(com.google.android.filament.Renderer renderer)
          +
          +
          Specified by:
          +
          destroyRenderer in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createCamera

          +
          public com.google.android.filament.Camera createCamera()
          +
          +
          Specified by:
          +
          createCamera in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createCamera

          +
          public com.google.android.filament.Camera createCamera​(int entity)
          +
          +
          Specified by:
          +
          createCamera in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyCamera

          +
          public void destroyCamera​(com.google.android.filament.Camera camera)
          +
          +
          Specified by:
          +
          destroyCamera in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createScene

          +
          public com.google.android.filament.Scene createScene()
          +
          +
          Specified by:
          +
          createScene in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyScene

          +
          public void destroyScene​(com.google.android.filament.Scene scene)
          +
          +
          Specified by:
          +
          destroyScene in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyStream

          +
          public void destroyStream​(com.google.android.filament.Stream stream)
          +
          +
          Specified by:
          +
          destroyStream in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          createFence

          +
          public com.google.android.filament.Fence createFence()
          +
          +
          Specified by:
          +
          createFence in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyFence

          +
          public void destroyFence​(com.google.android.filament.Fence fence)
          +
          +
          Specified by:
          +
          destroyFence in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyIndexBuffer

          +
          public void destroyIndexBuffer​(com.google.android.filament.IndexBuffer indexBuffer)
          +
          +
          Specified by:
          +
          destroyIndexBuffer in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyVertexBuffer

          +
          public void destroyVertexBuffer​(com.google.android.filament.VertexBuffer vertexBuffer)
          +
          +
          Specified by:
          +
          destroyVertexBuffer in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyIndirectLight

          +
          public void destroyIndirectLight​(com.google.android.filament.IndirectLight ibl)
          +
          +
          Specified by:
          +
          destroyIndirectLight in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyMaterial

          +
          public void destroyMaterial​(com.google.android.filament.Material material)
          +
          +
          Specified by:
          +
          destroyMaterial in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyMaterialInstance

          +
          public void destroyMaterialInstance​(com.google.android.filament.MaterialInstance materialInstance)
          +
          +
          Specified by:
          +
          destroyMaterialInstance in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroySkybox

          +
          public void destroySkybox​(com.google.android.filament.Skybox skybox)
          +
          +
          Specified by:
          +
          destroySkybox in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyTexture

          +
          public void destroyTexture​(com.google.android.filament.Texture texture)
          +
          +
          Specified by:
          +
          destroyTexture in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          destroyEntity

          +
          public void destroyEntity​(int entity)
          +
          +
          Specified by:
          +
          destroyEntity in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          getTransformManager

          +
          public com.google.android.filament.TransformManager getTransformManager()
          +
          +
          Specified by:
          +
          getTransformManager in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          getLightManager

          +
          public com.google.android.filament.LightManager getLightManager()
          +
          +
          Specified by:
          +
          getLightManager in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          getRenderableManager

          +
          public com.google.android.filament.RenderableManager getRenderableManager()
          +
          +
          Specified by:
          +
          getRenderableManager in interface IEngine
          +
          +
        • +
        + + + +
          +
        • +

          flushAndWait

          +
          public void flushAndWait()
          +
          +
          Specified by:
          +
          flushAndWait in interface IEngine
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/FixedHeightViewSizer.html b/docs/javadoc/com/google/ar/sceneform/rendering/FixedHeightViewSizer.html new file mode 100644 index 00000000..8b22516a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/FixedHeightViewSizer.html @@ -0,0 +1,355 @@ + + + + + +FixedHeightViewSizer (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class FixedHeightViewSizer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FixedHeightViewSizer

          +
          public FixedHeightViewSizer​(float heightMeters)
          +
          Constructor for creating a sizer for controlling the size of a ViewRenderable by + defining a fixed height.
          +
          +
          Parameters:
          +
          heightMeters - a number greater than zero representing the height in meters.
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getHeight

          +
          public float getHeight()
          +
          Returns the height in meters used for controlling the size of a ViewRenderable.
          +
        • +
        + + + +
          +
        • +

          getSize

          +
          public Vector3 getSize​(View view)
          +
          Description copied from interface: ViewSizer
          +
          Calculates the desired size of the view in the Scene. Vector3.x represents the width, and Vector3.y represents the height.
          +
          +
          Specified by:
          +
          getSize in interface ViewSizer
          +
          Parameters:
          +
          view - the view to calculate the size of
          +
          Returns:
          +
          a new vector that represents the view's size in the Scene
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/FixedWidthViewSizer.html b/docs/javadoc/com/google/ar/sceneform/rendering/FixedWidthViewSizer.html new file mode 100644 index 00000000..275ff861 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/FixedWidthViewSizer.html @@ -0,0 +1,355 @@ + + + + + +FixedWidthViewSizer (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class FixedWidthViewSizer

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FixedWidthViewSizer

          +
          public FixedWidthViewSizer​(float widthMeters)
          +
          Constructor for creating a sizer for controlling the size of a ViewRenderable by + defining a fixed width.
          +
          +
          Parameters:
          +
          widthMeters - a number greater than zero representing the width in meters.
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getWidth

          +
          public float getWidth()
          +
          Returns the width in meters used for controlling the size of a ViewRenderable.
          +
        • +
        + + + +
          +
        • +

          getSize

          +
          public Vector3 getSize​(View view)
          +
          Description copied from interface: ViewSizer
          +
          Calculates the desired size of the view in the Scene. Vector3.x represents the width, and Vector3.y represents the height.
          +
          +
          Specified by:
          +
          getSize in interface ViewSizer
          +
          Parameters:
          +
          view - the view to calculate the size of
          +
          Returns:
          +
          a new vector that represents the view's size in the Scene
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/GLHelper.html b/docs/javadoc/com/google/ar/sceneform/rendering/GLHelper.html new file mode 100644 index 00000000..dfcf573e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/GLHelper.html @@ -0,0 +1,347 @@ + + + + + +GLHelper (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class GLHelper

    +
    +
    + +
    +
      +
    • +
      +
      public class GLHelper
      +extends Object
      +
      Convenience class to perform common GL operations
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          GLHelper

          +
          public GLHelper()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          makeContext

          +
          public static EGLContext makeContext()
          +
        • +
        + + + + + + + +
          +
        • +

          createCameraTexture

          +
          public static int createCameraTexture()
          +
        • +
        + + + +
          +
        • +

          destroyContext

          +
          public static void destroyContext​(EGLContext context)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/HeadlessEngineWrapper.html b/docs/javadoc/com/google/ar/sceneform/rendering/HeadlessEngineWrapper.html new file mode 100644 index 00000000..e589ba27 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/HeadlessEngineWrapper.html @@ -0,0 +1,476 @@ + + + + + +HeadlessEngineWrapper (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class HeadlessEngineWrapper

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      IEngine
      +
      +
      +
      public class HeadlessEngineWrapper
      +extends FilamentEngineWrapper
      +
      Interface for the swiftshader backed version of the Filament engine.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/IEngine.html b/docs/javadoc/com/google/ar/sceneform/rendering/IEngine.html new file mode 100644 index 00000000..df8f95fb --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/IEngine.html @@ -0,0 +1,691 @@ + + + + + +IEngine (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface IEngine

    +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFilamentEngine

          +
          com.google.android.filament.Engine getFilamentEngine()
          +
        • +
        + + + +
          +
        • +

          isValid

          +
          boolean isValid()
          +
        • +
        + + + +
          +
        • +

          destroy

          +
          void destroy()
          +
        • +
        + + + +
          +
        • +

          createSwapChain

          +
          com.google.android.filament.SwapChain createSwapChain​(Object surface)
          +
          Valid surface types: - Android: Surface - Other: none
          +
        • +
        + + + +
          +
        • +

          createSwapChain

          +
          com.google.android.filament.SwapChain createSwapChain​(Object surface,
          +                                                      long flags)
          +
          Valid surface types: - Android: Surface - Other: none + +

          Flags: see CONFIG flags in SwapChain.

          +
          +
          See Also:
          +
          SwapChain.CONFIG_DEFAULT, +SwapChain.CONFIG_TRANSPARENT, +SwapChain.CONFIG_READABLE
          +
          +
        • +
        + + + +
          +
        • +

          createSwapChainFromNativeSurface

          +
          com.google.android.filament.SwapChain createSwapChainFromNativeSurface​(com.google.android.filament.NativeSurface surface,
          +                                                                       long flags)
          +
        • +
        + + + +
          +
        • +

          destroySwapChain

          +
          void destroySwapChain​(com.google.android.filament.SwapChain swapChain)
          +
        • +
        + + + +
          +
        • +

          createView

          +
          com.google.android.filament.View createView()
          +
        • +
        + + + +
          +
        • +

          destroyView

          +
          void destroyView​(com.google.android.filament.View view)
          +
        • +
        + + + +
          +
        • +

          createRenderer

          +
          com.google.android.filament.Renderer createRenderer()
          +
        • +
        + + + +
          +
        • +

          destroyRenderer

          +
          void destroyRenderer​(com.google.android.filament.Renderer renderer)
          +
        • +
        + + + +
          +
        • +

          createCamera

          +
          com.google.android.filament.Camera createCamera()
          +
        • +
        + + + +
          +
        • +

          createCamera

          +
          com.google.android.filament.Camera createCamera​(int entity)
          +
        • +
        + + + +
          +
        • +

          destroyCamera

          +
          void destroyCamera​(com.google.android.filament.Camera camera)
          +
        • +
        + + + +
          +
        • +

          createScene

          +
          com.google.android.filament.Scene createScene()
          +
        • +
        + + + +
          +
        • +

          destroyScene

          +
          void destroyScene​(com.google.android.filament.Scene scene)
          +
        • +
        + + + +
          +
        • +

          destroyStream

          +
          void destroyStream​(com.google.android.filament.Stream stream)
          +
        • +
        + + + +
          +
        • +

          createFence

          +
          com.google.android.filament.Fence createFence()
          +
        • +
        + + + +
          +
        • +

          destroyFence

          +
          void destroyFence​(com.google.android.filament.Fence fence)
          +
        • +
        + + + +
          +
        • +

          destroyIndexBuffer

          +
          void destroyIndexBuffer​(com.google.android.filament.IndexBuffer indexBuffer)
          +
        • +
        + + + +
          +
        • +

          destroyVertexBuffer

          +
          void destroyVertexBuffer​(com.google.android.filament.VertexBuffer vertexBuffer)
          +
        • +
        + + + +
          +
        • +

          destroyIndirectLight

          +
          void destroyIndirectLight​(com.google.android.filament.IndirectLight ibl)
          +
        • +
        + + + +
          +
        • +

          destroyMaterial

          +
          void destroyMaterial​(com.google.android.filament.Material material)
          +
        • +
        + + + +
          +
        • +

          destroyMaterialInstance

          +
          void destroyMaterialInstance​(com.google.android.filament.MaterialInstance materialInstance)
          +
        • +
        + + + +
          +
        • +

          destroySkybox

          +
          void destroySkybox​(com.google.android.filament.Skybox skybox)
          +
        • +
        + + + +
          +
        • +

          destroyTexture

          +
          void destroyTexture​(com.google.android.filament.Texture texture)
          +
        • +
        + + + +
          +
        • +

          destroyEntity

          +
          void destroyEntity​(int entity)
          +
        • +
        + + + +
          +
        • +

          getTransformManager

          +
          com.google.android.filament.TransformManager getTransformManager()
          +
        • +
        + + + +
          +
        • +

          getLightManager

          +
          com.google.android.filament.LightManager getLightManager()
          +
        • +
        + + + +
          +
        • +

          getRenderableManager

          +
          com.google.android.filament.RenderableManager getRenderableManager()
          +
        • +
        + + + +
          +
        • +

          flushAndWait

          +
          void flushAndWait()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Light.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/Light.Builder.html new file mode 100644 index 00000000..7061ece8 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Light.Builder.html @@ -0,0 +1,438 @@ + + + + + +Light.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Light.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Light
      +
      +
      +
      public static final class Light.Builder
      +extends Object
      +
      Factory class for Light
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setShadowCastingEnabled

          +
          public Light.Builder setShadowCastingEnabled​(boolean enableShadows)
          +
          Determines whether the light casts shadows, or whether synthetic objects can block the light.
          +
          +
          Parameters:
          +
          enableShadows - true to enable to shadows, false to disable; default is false.
          +
          +
        • +
        + + + +
          +
        • +

          setColor

          +
          public Light.Builder setColor​(Color color)
          +
          Sets the "RGB" color of the light. Note that intensity if is a separate parameter, so you + should set the pure color (i.e. each channel is in the [0,1] range). However setting values + outside that range is valid.
          +
          +
          Parameters:
          +
          color - "RGB" color, default is (1, 1, 1)
          +
          +
        • +
        + + + +
          +
        • +

          setColorTemperature

          +
          public Light.Builder setColorTemperature​(float temperature)
          +
          Sets the "RGB" color of the light based on the desired "color temperature."
          +
          +
          Parameters:
          +
          temperature - color temperature in Kelvin on a scale from 1,000 to 10,000K. Typical + commercial and residential lighting falls somewhere in the 2000K to 6500K range.
          +
          +
        • +
        + + + +
          +
        • +

          setIntensity

          +
          public Light.Builder setIntensity​(float intensity)
          +
          Sets the light intensity which determines how bright the light is in Lux (lx) or Lumens (lm) + (depending on the light type). Larger values produce brighter lights and near zero values + generate very little light. A household light bulb will generally have an intensity between + 800 - 2500 lm whereas sunlight will be around 120,000 lx. There is no absolute upper bound + but values larger than sunlight (120,000 lx) are generally not needed.
          +
          +
          Parameters:
          +
          intensity - the intensity of the light, values greater than one are valid. The intensity + will be clamped and cannot be zero or negative. For directional lights the default is 420 + lx. For other other lights the default is 2500 lm.
          +
          +
        • +
        + + + +
          +
        • +

          setFalloffRadius

          +
          public Light.Builder setFalloffRadius​(float falloffRadius)
          +
          Sets the range that the light intensity falls off to zero. This has no affect on infinite + light types - the Directional types.
          +
          +
          Parameters:
          +
          falloffRadius - the light radius in world units, default is 10.0f.
          +
          +
        • +
        + + + +
          +
        • +

          setInnerConeAngle

          +
          public Light.Builder setInnerConeAngle​(float coneInner)
          +
          Spotlights shine light in a cone, this value determines the size of the inner part of the + cone. The intensity is interpolated between the inner and outer cone angles - meaning if they + are the same than the cone is perfectly sharp. Generally you will want the inner cone to be + smaller than the outer cone to avoid aliasing.
          +
          +
          Parameters:
          +
          coneInner - inner cone angle in radians, default is 0.5
          +
          +
        • +
        + + + +
          +
        • +

          setOuterConeAngle

          +
          public Light.Builder setOuterConeAngle​(float coneOuter)
          +
          Spotlights shine light in a cone, this value determines the size of the outer part of the + cone. The intensity is interpolated between the inner and outer cone angles - meaning if they + are the same than the cone is perfectly sharp. Generally you will want the inner cone to be + smaller than the outer cone to avoid aliasing.
          +
          +
          Parameters:
          +
          coneOuter - outer cone angle in radians, default is 0.6
          +
          +
        • +
        + + + +
          +
        • +

          build

          +
          public Light build()
          +
          Creates a new Light based on the parameters set previously
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Light.Type.html b/docs/javadoc/com/google/ar/sceneform/rendering/Light.Type.html new file mode 100644 index 00000000..f6427473 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Light.Type.html @@ -0,0 +1,426 @@ + + + + + +Light.Type (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum Light.Type

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Detail

        + + + +
          +
        • +

          POINT

          +
          public static final Light.Type POINT
          +
          Approximates light radiating in all directions from a single point in space, where the + intensity falls off with the inverse square of the distance. Point lights have a position but + no direction. Use Light.setFalloffRadius(float) to control the falloff.
          +
        • +
        + + + +
          +
        • +

          DIRECTIONAL

          +
          public static final Light.Type DIRECTIONAL
          +
          Approximates an infinitely far away, purely directional light
          +
        • +
        + + + +
          +
        • +

          SPOTLIGHT

          +
          public static final Light.Type SPOTLIGHT
          +
          Similar to a point light but radiating light in a cone rather than all directions. Note that + as you make the cone wider, the energy is spread causing the lighting to appear dimmer. A + spotlight has a position and a direction. Use Light.setInnerConeAngle(float) and Light.setOuterConeAngle(float) to control the cone size.
          +
        • +
        + + + + +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static Light.Type[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (Light.Type c : Light.Type.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static Light.Type valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Light.html b/docs/javadoc/com/google/ar/sceneform/rendering/Light.html new file mode 100644 index 00000000..78f107fa --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Light.html @@ -0,0 +1,603 @@ + + + + + +Light (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Light

    +
    +
    + +
    +
      +
    • +
      +
      public class Light
      +extends Object
      +
      Light property store.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          builder

          +
          public static Light.Builder builder​(Light.Type type)
          +
          Constructs a default light, if nothing else is set
          +
        • +
        + + + +
          +
        • +

          setColor

          +
          public void setColor​(Color color)
          +
          Sets the "RGB" color of the light. Note that intensity is a separate parameter, so you should + set the pure color (i.e. each channel is in the [0,1] range). However setting values outside + that range is valid.
          +
          +
          Parameters:
          +
          color - "RGB" color, the default is 0xffffffff
          +
          +
        • +
        + + + +
          +
        • +

          setColorTemperature

          +
          public void setColorTemperature​(float temperature)
          +
          Sets the "RGB" color of the light based on the desired "color temperature."
          +
          +
          Parameters:
          +
          temperature - color temperature in Kelvin on a scale from 1,000 to 10,000K. Typical + commercial and residential lighting falls somewhere in the 2000K to 6500K range.
          +
          +
        • +
        + + + +
          +
        • +

          setIntensity

          +
          public void setIntensity​(float intensity)
          +
          Sets the light intensity which determines how bright the light is in Lux (lx) or Lumens (lm) + (depending on the light type). Larger values produce brighter lights and near zero values + generate very little light. A household light bulb will generally have an intensity between 800 + - 2500 lm whereas sunlight will be around 120,000 lx. There is no absolute upper bound but + values larger than sunlight (120,000 lx) are generally not needed.
          +
          +
          Parameters:
          +
          intensity - the intensity of the light, values greater than one are valid. The intensity + will be clamped and cannot be zero or negative. For directional lights the default is 420 + lx. For other other lights the default is 2500 lm.
          +
          +
        • +
        + + + +
          +
        • +

          setFalloffRadius

          +
          public void setFalloffRadius​(float falloffRadius)
          +
          Sets the range that the light intensity falls off to zero. This has no affect on the Light.Type.DIRECTIONAL type.
          +
          +
          Parameters:
          +
          falloffRadius - the light radius in world units, default is 10.0
          +
          +
        • +
        + + + +
          +
        • +

          setInnerConeAngle

          +
          public void setInnerConeAngle​(float coneInner)
          +
          Spotlights shine light in a cone, this value determines the size of the inner part of the cone. + The intensity is interpolated between the inner and outer cone angles - meaning if they are the + same than the cone is perfectly sharp. Generally you will want the inner cone to be smaller + than the outer cone to avoid aliasing.
          +
          +
          Parameters:
          +
          coneInner - inner cone angle in radians, default 0.5
          +
          +
        • +
        + + + +
          +
        • +

          setOuterConeAngle

          +
          public void setOuterConeAngle​(float coneOuter)
          +
          Spotlights shine light in a cone, this value determines the size of the outer part of the cone. + The intensity is interpolated between the inner and outer cone angles - meaning if they are the + same than the cone is perfectly sharp. Generally you will want the inner cone to be smaller + than the outer cone to avoid aliasing.
          +
          +
          Parameters:
          +
          coneOuter - outer cone angle in radians, default is 0.6
          +
          +
        • +
        + + + + + + + +
          +
        • +

          isShadowCastingEnabled

          +
          public boolean isShadowCastingEnabled()
          +
          Returns true if the light has shadow casting enabled.
          +
        • +
        + + + +
          +
        • +

          getLocalPosition

          +
          public Vector3 getLocalPosition()
          +
        • +
        + + + +
          +
        • +

          getLocalDirection

          +
          public Vector3 getLocalDirection()
          +
        • +
        + + + +
          +
        • +

          getColor

          +
          public Color getColor()
          +
          Get the RGB Color of the light.
          +
        • +
        + + + +
          +
        • +

          getIntensity

          +
          public float getIntensity()
          +
          Get the intensity of the light.
          +
        • +
        + + + +
          +
        • +

          getFalloffRadius

          +
          public float getFalloffRadius()
          +
          Get the falloff radius of the light.
          +
        • +
        + + + +
          +
        • +

          getInnerConeAngle

          +
          public float getInnerConeAngle()
          +
          Get the inner cone angle for spotlights.
          +
        • +
        + + + +
          +
        • +

          getOuterConeAngle

          +
          public float getOuterConeAngle()
          +
          Get the outer cone angle for spotlights.
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LightInstance.html b/docs/javadoc/com/google/ar/sceneform/rendering/LightInstance.html new file mode 100644 index 00000000..cf89890b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LightInstance.html @@ -0,0 +1,342 @@ + + + + + +LightInstance (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LightInstance

    +
    +
    + +
    +
      +
    • +
      +
      public class LightInstance
      +extends Object
      +
      Wraps a Filament Light.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          updateTransform

          +
          public void updateTransform()
          +
        • +
        + + + +
          +
        • +

          attachToRenderer

          +
          public void attachToRenderer​(Renderer renderer)
          +
        • +
        + + + +
          +
        • +

          detachFromRenderer

          +
          public void detachFromRenderer()
          +
        • +
        + + + +
          +
        • +

          getLight

          +
          public Light getLight()
          +
        • +
        + + + +
          +
        • +

          dispose

          +
          public void dispose()
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LightProbe.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/LightProbe.Builder.html new file mode 100644 index 00000000..7c68010c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LightProbe.Builder.html @@ -0,0 +1,403 @@ + + + + + +LightProbe.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LightProbe.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      LightProbe
      +
      +
      +
      public static final class LightProbe.Builder
      +extends Object
      +
      Factory class for LightProbe
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setIntensity

          +
          public LightProbe.Builder setIntensity​(float intensity)
          +
          Set the intensity of the indirect lighting.
          +
          +
          Parameters:
          +
          intensity - intensity of the indirect lighting, the default is 220.
          +
          +
        • +
        + + + +
          +
        • +

          setRotation

          +
          public LightProbe.Builder setRotation​(@Nullable
          +                                      Quaternion rotation)
          +
          Sets the rotation of the indirect light.
          +
          +
          Parameters:
          +
          rotation - the rotation of the indirect light, identity when null
          +
          +
        • +
        + + + +
          +
        • +

          setAssetName

          +
          public LightProbe.Builder setAssetName​(String name)
          +
          Set the name of the Light Probe to load if the binary bundle file contains more than one.
          +
          +
          Parameters:
          +
          name - the name of the Light Probe to load.
          +
          +
        • +
        + + + +
          +
        • +

          setSource

          +
          public LightProbe.Builder setSource​(Context context,
          +                                    Uri sourceUri)
          +
          Allows a LightProbe to be constructed from Uri. Construction will be + asynchronous.
          +
          +
          Parameters:
          +
          context - a context used for loading the resource
          +
          sourceUri - a remote Uri or android resource Uri.
          +
          +
        • +
        + + + +
          +
        • +

          setSource

          +
          public LightProbe.Builder setSource​(Context context,
          +                                    int resource)
          +
          Allows a LightProbe to be constructed from resource. Construction will be + asynchronous.
          +
          +
          Parameters:
          +
          context - a context used for loading the resource
          +
          resource - an android resource with raw type.
          +
          +
        • +
        + + + + + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LightProbe.html b/docs/javadoc/com/google/ar/sceneform/rendering/LightProbe.html new file mode 100644 index 00000000..24e669b3 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LightProbe.html @@ -0,0 +1,480 @@ + + + + + +LightProbe (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LightProbe

    +
    +
    + +
    +
      +
    • +
      +
      public class LightProbe
      +extends Object
      +
      Loads "light probe" data needed for Image Based Lighting. This includes a cubemap with mip maps + generated to match the lighting model used by Sceneform and Spherical Harmonics coefficients for + diffuse image based lighting.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          builder

          +
          public static LightProbe.Builder builder()
          +
          Constructs a default LightProbe, if nothing else is set
          +
        • +
        + + + +
          +
        • +

          setIntensity

          +
          public void setIntensity​(float intensity)
          +
          Set the overall intensity of the indirect light.
          +
          +
          Parameters:
          +
          intensity - the intensity of indirect lighting, the default is 220.0
          +
          +
        • +
        + + + +
          +
        • +

          getIntensity

          +
          public float getIntensity()
          +
          Get the overall intensity of the indirect light.
          +
        • +
        + + + +
          +
        • +

          setRotation

          +
          public void setRotation​(@Nullable
          +                        Quaternion rotation)
          +
          Sets the rotation of the indirect light.
          +
          +
          Parameters:
          +
          rotation - the rotation of the indirect light, identity when null
          +
          +
        • +
        + + + +
          +
        • +

          getRotation

          +
          @Nullable
          +public Quaternion getRotation()
          +
          Gets the rotation of the indirect light, identity if null.
          +
        • +
        + + + +
          +
        • +

          isReady

          +
          public boolean isReady()
          +
          Returns true if the LightProbe is ready to be used for rendering.
          +
        • +
        + + + + + + + +
          +
        • +

          dispose

          +
          public void dispose()
          +
        • +
        + + + +
          +
        • +

          setEnvironmentalHdrSphericalHarmonics

          +
          public void setEnvironmentalHdrSphericalHarmonics​(float[] sphericalHarmonics,
          +                                                  float exposure,
          +                                                  EnvironmentalHdrParameters environmentalHdrParameters)
          +
          Updates spherical harmonics with values not premultiplied by the SH basis.
          +
        • +
        + + + +
          +
        • +

          setLightEstimate

          +
          public void setLightEstimate​(Color colorCorrection,
          +                             float estimate)
          +
          Modify light intensity using ArCore light estimation. ArCore light estimation is not compatible + with Environmental HDR, only one may be used.
          +
        • +
        + + + +
          +
        • +

          setCubeMap

          +
          public void setCubeMap​(Image[] cubemapImageArray)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LoadGltfListener.GltfLoadStage.html b/docs/javadoc/com/google/ar/sceneform/rendering/LoadGltfListener.GltfLoadStage.html new file mode 100644 index 00000000..ccbb8284 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LoadGltfListener.GltfLoadStage.html @@ -0,0 +1,446 @@ + + + + + +LoadGltfListener.GltfLoadStage (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum LoadGltfListener.GltfLoadStage

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static LoadGltfListener.GltfLoadStage[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (LoadGltfListener.GltfLoadStage c : LoadGltfListener.GltfLoadStage.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static LoadGltfListener.GltfLoadStage valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LoadGltfListener.html b/docs/javadoc/com/google/ar/sceneform/rendering/LoadGltfListener.html new file mode 100644 index 00000000..d4b1ce97 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LoadGltfListener.html @@ -0,0 +1,358 @@ + + + + + +LoadGltfListener (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface LoadGltfListener

    +
    +
    +
    +
      +
    • +
      +
      public interface LoadGltfListener
      +
      Interface callbacks for events that occur when loading a gltf file into a renderable.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          reportBytesDownloaded

          +
          void reportBytesDownloaded​(long bytes)
          +
        • +
        + + + +
          +
        • +

          onFinishedFetchingMaterials

          +
          void onFinishedFetchingMaterials()
          +
        • +
        + + + +
          +
        • +

          onFinishedLoadingModel

          +
          void onFinishedLoadingModel​(long durationMs)
          +
        • +
        + + + +
          +
        • +

          onFinishedReadingFiles

          +
          void onFinishedReadingFiles​(long durationMs)
          +
        • +
        + + + +
          +
        • +

          setModelSize

          +
          void setModelSize​(float modelSizeMeters)
          +
        • +
        + + + +
          +
        • +

          onReadingFilesFailed

          +
          void onReadingFilesFailed​(Exception exception)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LoadRenderableFromFilamentGltfTask.html b/docs/javadoc/com/google/ar/sceneform/rendering/LoadRenderableFromFilamentGltfTask.html new file mode 100644 index 00000000..0157010e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LoadRenderableFromFilamentGltfTask.html @@ -0,0 +1,268 @@ + + + + + +LoadRenderableFromFilamentGltfTask (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LoadRenderableFromFilamentGltfTask<T extends Renderable>

    +
    +
    + +
    +
      +
    • +
      +
      public class LoadRenderableFromFilamentGltfTask<T extends Renderable>
      +extends Object
      +
      Task for initializing a renderable with glTF data loaded with gltfio.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/LullModel.html b/docs/javadoc/com/google/ar/sceneform/rendering/LullModel.html new file mode 100644 index 00000000..4ac2cca9 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/LullModel.html @@ -0,0 +1,389 @@ + + + + + +LullModel (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LullModel

    +
    +
    + +
    +
      +
    • +
      +
      public class LullModel
      +extends Object
      +
      Helper functions for loading and processing lull models.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          fromLullWrapMode

          +
          public static final com.google.android.filament.TextureSampler.WrapMode[] fromLullWrapMode
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          LullModel

          +
          public LullModel()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isLullModel

          +
          public static boolean isLullModel​(ByteBuffer buffer)
          +
        • +
        + + + +
          +
        • +

          getByteCountPerVertex

          +
          public static int getByteCountPerVertex​(com.google.ar.schemas.lull.ModelInstanceDef modelInstanceDef)
          +
        • +
        + + + +
          +
        • +

          fromLullToMinFilter

          +
          public static com.google.android.filament.TextureSampler.MinFilter fromLullToMinFilter​(com.google.ar.schemas.lull.TextureDef textureDef)
          +
        • +
        + + + +
          +
        • +

          fromLullToMagFilter

          +
          public static com.google.android.filament.TextureSampler.MagFilter fromLullToMagFilter​(com.google.ar.schemas.lull.TextureDef textureDef)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Material.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/Material.Builder.html new file mode 100644 index 00000000..63370482 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Material.Builder.html @@ -0,0 +1,404 @@ + + + + + +Material.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Material.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Material
      +
      +
      +
      public static final class Material.Builder
      +extends Object
      +
      Builder for constructing a Material
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          setSource

          +
          public Material.Builder setSource​(Context context,
          +                                  Uri sourceUri)
          +
          Allows a Material to be constructed from Uri. Construction will be + asynchronous.
          +
          +
          Parameters:
          +
          context - Sets the Context used for loading the resource
          +
          sourceUri - Sets a remote Uri or android resource Uri. The material will be added to the + registry using the Uri. A previously registered material with the same Uri will be + re-used.
          +
          Returns:
          +
          Material.Builder for chaining setup calls
          +
          +
        • +
        + + + +
          +
        • +

          setSource

          +
          public Material.Builder setSource​(Context context,
          +                                  int resource)
          +
          Allows a Material to be constructed from resource. + +

          Construction will be asynchronous.

          +
          +
          Parameters:
          +
          context - Sets the Context used for loading the resource
          +
          resource - an android resource with raw type. A previously registered material with the + same resource id will be re-used.
          +
          Returns:
          +
          Material.Builder for chaining setup calls
          +
          +
        • +
        + + + + + + + +
          +
        • +

          setRegistryId

          +
          public Material.Builder setRegistryId​(Object registryId)
          +
          Allows a Material to be reused. If registryId is non-null it will be saved in a + registry and the registry will be checked for this id before construction.
          +
          +
          Parameters:
          +
          registryId - allows the function to be skipped and a previous material to be re-used
          +
          Returns:
          +
          Material.Builder for chaining setup calls
          +
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Material.html b/docs/javadoc/com/google/ar/sceneform/rendering/Material.html new file mode 100644 index 00000000..3ec560bc --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Material.html @@ -0,0 +1,672 @@ + + + + + +Material (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Material

    +
    +
    + +
    +
      +
    • +
      +
      public class Material
      +extends Object
      +
      Represents a reference to a material.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          makeCopy

          +
          public Material makeCopy()
          +
          Creates a new instance of this Material. + +

          The new material will have a unique copy of the material parameters that can be changed + independently. The getFilamentEngine material resource is immutable and will be shared between + instances.

          +
        • +
        + + + +
          +
        • +

          setBoolean

          +
          public void setBoolean​(String name,
          +                       boolean x)
          +
        • +
        + + + +
          +
        • +

          setBoolean2

          +
          public void setBoolean2​(String name,
          +                        boolean x,
          +                        boolean y)
          +
        • +
        + + + +
          +
        • +

          setBoolean3

          +
          public void setBoolean3​(String name,
          +                        boolean x,
          +                        boolean y,
          +                        boolean z)
          +
        • +
        + + + +
          +
        • +

          setBoolean4

          +
          public void setBoolean4​(String name,
          +                        boolean x,
          +                        boolean y,
          +                        boolean z,
          +                        boolean w)
          +
        • +
        + + + +
          +
        • +

          setFloat

          +
          public void setFloat​(String name,
          +                     float x)
          +
        • +
        + + + +
          +
        • +

          setFloat2

          +
          public void setFloat2​(String name,
          +                      float x,
          +                      float y)
          +
        • +
        + + + +
          +
        • +

          setFloat3

          +
          public void setFloat3​(String name,
          +                      float x,
          +                      float y,
          +                      float z)
          +
        • +
        + + + +
          +
        • +

          setFloat3

          +
          public void setFloat3​(String name,
          +                      Vector3 value)
          +
        • +
        + + + +
          +
        • +

          setFloat3

          +
          public void setFloat3​(String name,
          +                      Color color)
          +
        • +
        + + + +
          +
        • +

          setFloat4

          +
          public void setFloat4​(String name,
          +                      float x,
          +                      float y,
          +                      float z,
          +                      float w)
          +
        • +
        + + + +
          +
        • +

          setFloat4

          +
          public void setFloat4​(String name,
          +                      Color color)
          +
        • +
        + + + +
          +
        • +

          setInt

          +
          public void setInt​(String name,
          +                   int x)
          +
        • +
        + + + +
          +
        • +

          setInt2

          +
          public void setInt2​(String name,
          +                    int x,
          +                    int y)
          +
        • +
        + + + +
          +
        • +

          setInt3

          +
          public void setInt3​(String name,
          +                    int x,
          +                    int y,
          +                    int z)
          +
        • +
        + + + +
          +
        • +

          setInt4

          +
          public void setInt4​(String name,
          +                    int x,
          +                    int y,
          +                    int z,
          +                    int w)
          +
        • +
        + + + +
          +
        • +

          setTexture

          +
          public void setTexture​(String name,
          +                       Texture texture)
          +
        • +
        + + + +
          +
        • +

          setDepthTexture

          +
          public void setDepthTexture​(String name,
          +                            DepthTexture depthTexture)
          +
          +     Sets a DepthTexture to a parameter of the type 'sampler2d' on this material.
          + 
          +
          +
          Parameters:
          +
          name - the name of the parameter in the material
          +
          depthTexture - the texture to set
          +
          +
        • +
        + + + +
          +
        • +

          setExternalTexture

          +
          public void setExternalTexture​(String name,
          +                               ExternalTexture externalTexture)
          +
          Sets an ExternalTexture to a parameter of type 'samplerExternal' on this material.
          +
          +
          Parameters:
          +
          name - the name of the parameter in the material
          +
          externalTexture - the texture to set
          +
          +
        • +
        + + + + + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/MaterialFactory.html b/docs/javadoc/com/google/ar/sceneform/rendering/MaterialFactory.html new file mode 100644 index 00000000..816b045a --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/MaterialFactory.html @@ -0,0 +1,570 @@ + + + + + +MaterialFactory (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MaterialFactory

    +
    +
    + +
    +
      +
    • +
      +
      public final class MaterialFactory
      +extends Object
      +
      Utility class used to construct default Materials.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/MaterialInternalDataGltfImpl.html b/docs/javadoc/com/google/ar/sceneform/rendering/MaterialInternalDataGltfImpl.html new file mode 100644 index 00000000..98207fd1 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/MaterialInternalDataGltfImpl.html @@ -0,0 +1,280 @@ + + + + + +MaterialInternalDataGltfImpl (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MaterialInternalDataGltfImpl

    +
    +
    + +
    +
      +
    • +
      +
      public class MaterialInternalDataGltfImpl
      +extends SharedReference
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ModelRenderable.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/ModelRenderable.Builder.html new file mode 100644 index 00000000..cdda633c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ModelRenderable.Builder.html @@ -0,0 +1,612 @@ + + + + + +ModelRenderable.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelRenderable.Builder

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          registryId

          +
          @Nullable
          +protected Object registryId
          +
        • +
        + + + +
          +
        • +

          context

          +
          @Nullable
          +protected Context context
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Builder

          +
          public Builder()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + + + + + + + + + + + + + +
          +
        • +

          setSource

          +
          public B setSource​(Context context,
          +                   Uri sourceUri)
          +
        • +
        + + + +
          +
        • +

          setSource

          +
          public B setSource​(Context context,
          +                   Uri sourceUri,
          +                   boolean enableCaching)
          +
        • +
        + + + +
          +
        • +

          setSource

          +
          public B setSource​(Context context,
          +                   int resource)
          +
        • +
        + + + + + + + +
          +
        • +

          setRegistryId

          +
          public B setRegistryId​(@Nullable
          +                       Object registryId)
          +
        • +
        + + + +
          +
        • +

          setIsFilamentGltf

          +
          public B setIsFilamentGltf​(boolean isFilamentGltf)
          +
        • +
        + + + +
          +
        • +

          setAsyncLoadEnabled

          +
          public B setAsyncLoadEnabled​(boolean asyncLoadEnabled)
          +
          Enable textures async loading after first rendering. + Default is false.
          +
        • +
        + + + +
          +
        • +

          setAnimationFrameRate

          +
          public B setAnimationFrameRate​(int frameRate)
          +
          Sets the number of frames per seconds defined in the asset.
          +
          +
          Parameters:
          +
          frameRate - The number of frames during one second
          +
          +
        • +
        + + + +
          +
        • +

          hasSource

          +
          public Boolean hasSource()
          +
          True if a source function will be called during build
          +
        • +
        + + + + + + + +
          +
        • +

          checkPreconditions

          +
          protected void checkPreconditions()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ModelRenderable.html b/docs/javadoc/com/google/ar/sceneform/rendering/ModelRenderable.html new file mode 100644 index 00000000..ec722ba5 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ModelRenderable.html @@ -0,0 +1,352 @@ + + + + + +ModelRenderable (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ModelRenderable

    +
    +
    + +
    +
      +
    • +
      +
      public class ModelRenderable
      +extends Renderable
      +
      Renders a 3D Model by attaching it to a Node with Node.setRenderable(Renderable). + +
      
      + future = ModelRenderable.builder().setSource(context, R.raw.renderable).build();
      + renderable = future.thenAccept(...);
      + 
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          makeCopy

          +
          public ModelRenderable makeCopy()
          +
          Creates a new instance of this ModelRenderable. + +

          The new renderable will have unique copy of all mutable state. All materials referenced by + the ModelRenderable will also be instanced. Immutable data will be shared between the + instances.

          +
          +
          Specified by:
          +
          makeCopy in class Renderable
          +
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/PlaneFactory.html b/docs/javadoc/com/google/ar/sceneform/rendering/PlaneFactory.html new file mode 100644 index 00000000..fdceb6c4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/PlaneFactory.html @@ -0,0 +1,319 @@ + + + + + +PlaneFactory (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class PlaneFactory

    +
    +
    + +
    +
      +
    • +
      +
      public class PlaneFactory
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PlaneFactory

          +
          public PlaneFactory()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          makePlane

          +
          public static ModelRenderable makePlane​(Vector3 size,
          +                                        Vector3 center,
          +                                        Material material)
          +
          Creates a ModelRenderable in the shape of a plane with the given specifications.
          +
          +
          Parameters:
          +
          size - the size of the constructed plane
          +
          center - the center of the constructed plane
          +
          material - the material to use for rendering the plane
          +
          Returns:
          +
          renderable representing a plane with the given parameters
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/PlaneRenderer.PlaneRendererMode.html b/docs/javadoc/com/google/ar/sceneform/rendering/PlaneRenderer.PlaneRendererMode.html new file mode 100644 index 00000000..61b4f8d9 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/PlaneRenderer.PlaneRendererMode.html @@ -0,0 +1,391 @@ + + + + + +PlaneRenderer.PlaneRendererMode (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum PlaneRenderer.PlaneRendererMode

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static PlaneRenderer.PlaneRendererMode[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (PlaneRenderer.PlaneRendererMode c : PlaneRenderer.PlaneRendererMode.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static PlaneRenderer.PlaneRendererMode valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/PlaneRenderer.html b/docs/javadoc/com/google/ar/sceneform/rendering/PlaneRenderer.html new file mode 100644 index 00000000..16f9e0f1 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/PlaneRenderer.html @@ -0,0 +1,633 @@ + + + + + +PlaneRenderer (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class PlaneRenderer

    +
    +
    + +
    +
      +
    • +
      +
      public class PlaneRenderer
      +extends Object
      +
      Control rendering of ARCore planes. + +

      Used to visualize detected planes and to control whether Renderables cast shadows on them.

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          MATERIAL_TEXTURE

          +
          public static final String MATERIAL_TEXTURE
          +
          Material parameter that controls what texture is being used when rendering the planes.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          MATERIAL_UV_SCALE

          +
          public static final String MATERIAL_UV_SCALE
          +
          Float2 material parameter to control the X/Y scaling of the texture's UV coordinates. Can be + used to adjust for the texture's aspect ratio and control the frequency of tiling.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          MATERIAL_COLOR

          +
          public static final String MATERIAL_COLOR
          +
          Float3 material parameter to control the RGB tint of the plane.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          MATERIAL_SPOTLIGHT_RADIUS

          +
          public static final String MATERIAL_SPOTLIGHT_RADIUS
          +
          Float material parameter to control the radius of the spotlight.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          PlaneRenderer

          +
          public PlaneRenderer​(Renderer renderer)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isEnabled

          +
          public boolean isEnabled()
          +
          Check if the plane renderer is enabled.
          +
        • +
        + + + +
          +
        • +

          setEnabled

          +
          public void setEnabled​(boolean enabled)
          +
          Enable/disable the plane renderer.
          +
        • +
        + + + +
          +
        • +

          isShadowReceiver

          +
          public boolean isShadowReceiver()
          +
          Return true if Renderables in the scene cast shadows onto the planes.
          +
        • +
        + + + +
          +
        • +

          setShadowReceiver

          +
          public void setShadowReceiver​(boolean shadowReceiver)
          +
          Control whether Renderables in the scene should cast shadows onto the planes. + +

          If false - no planes receive shadows, regardless of the per-plane setting.

          +
        • +
        + + + +
          +
        • +

          isVisible

          +
          public boolean isVisible()
          +
          Return true if plane visualization is visible.
          +
        • +
        + + + +
          +
        • +

          setVisible

          +
          public void setVisible​(boolean visible)
          +
          Control visibility of plane visualization. + +

          If false - no planes are drawn. Note that shadow visibility is independent of plane + visibility.

          +
        • +
        + + + +
          +
        • +

          getMaterial

          +
          public CompletableFuture<Material> getMaterial()
          +
          Returns default material instance used to render the planes.
          +
        • +
        + + + + + + + +
          +
        • +

          setPlaneRendererMode

          +
          public void setPlaneRendererMode​(PlaneRenderer.PlaneRendererMode planeRendererMode)
          +
          +     Set here how tracked planes should be visualized on the screen. Two options are available,
          +     RENDER_ALL and RENDER_TOP_MOST.
          +     To see all tracked planes which are visible to the camera set the PlaneRendererMode to
          +     RENDER_ALL. This mode eats up quite a few resources and should only be set
          +     with care. To optimize the rendering set the mode to RENDER_TOP_MOST.
          +     In that case only the top most plane visible to a camera is rendered on the screen.
          +     Especially on weaker smartphone models this improves the overall performance.
          +
          +     The default mode is RENDER_TOP_MOST
          + 
          +
          +
          Parameters:
          +
          planeRendererMode - PlaneRenderer.PlaneRendererMode
          +
          +
        • +
        + + + +
          +
        • +

          update

          +
          public void update​(com.google.ar.core.Frame frame,
          +                   int viewWidth,
          +                   int viewHeight)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Renderable.html b/docs/javadoc/com/google/ar/sceneform/rendering/Renderable.html new file mode 100644 index 00000000..24ecc59d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Renderable.html @@ -0,0 +1,789 @@ + + + + + +Renderable (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Renderable

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          asyncLoadEnabled

          +
          protected boolean asyncLoadEnabled
          +
        • +
        + + + +
          +
        • +

          collisionShape

          +
          @Nullable
          +protected CollisionShape collisionShape
          +
        • +
        + + + +
          +
        • +

          RENDER_PRIORITY_DEFAULT

          +
          public static final int RENDER_PRIORITY_DEFAULT
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          RENDER_PRIORITY_FIRST

          +
          public static final int RENDER_PRIORITY_FIRST
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          RENDER_PRIORITY_LAST

          +
          public static final int RENDER_PRIORITY_LAST
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_ANIMATION_FRAME_RATE

          +
          public static final int DEFAULT_ANIMATION_FRAME_RATE
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Renderable

          +
          protected Renderable​(com.google.ar.sceneform.rendering.Renderable.Builder<? extends Renderable,​? extends com.google.ar.sceneform.rendering.Renderable.Builder<?,​?>> builder)
          +
        • +
        + + + +
          +
        • +

          Renderable

          +
          protected Renderable​(Renderable other)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          getMaterial

          +
          public Material getMaterial()
          +
          Returns the material bound to the first submesh.
          +
        • +
        + + + +
          +
        • +

          getMaterial

          +
          public Material getMaterial​(int submeshIndex)
          +
          Returns the material bound to the specified submesh.
          +
        • +
        + + + +
          +
        • +

          setMaterial

          +
          public void setMaterial​(Material material)
          +
          Sets the material bound to the first submesh.
          +
        • +
        + + + +
          +
        • +

          setMaterial

          +
          public void setMaterial​(int submeshIndex,
          +                        Material material)
          +
          Sets the material bound to the specified submesh.
          +
        • +
        + + + +
          +
        • +

          getSubmeshName

          +
          public String getSubmeshName​(int submeshIndex)
          +
          Returns the name associated with the specified submesh.
          +
          +
          Throws:
          +
          IllegalArgumentException - if the index is out of range
          +
          +
        • +
        + + + +
          +
        • +

          getRenderPriority

          +
          public int getRenderPriority()
          +
          Get the render priority that controls the order of rendering. The priority is between a range + of 0 (rendered first) and 7 (rendered last). The default value is 4.
          +
        • +
        + + + +
          +
        • +

          setRenderPriority

          +
          public void setRenderPriority​(int renderPriority)
          +
          Set the render priority to control the order of rendering. The priority is between a range of 0 + (rendered first) and 7 (rendered last). The default value is 4.
          +
        • +
        + + + +
          +
        • +

          isShadowCaster

          +
          public boolean isShadowCaster()
          +
          Returns true if configured to cast shadows on other renderables.
          +
        • +
        + + + +
          +
        • +

          setShadowCaster

          +
          public void setShadowCaster​(boolean isShadowCaster)
          +
          Sets whether the renderable casts shadow on other renderables in the scene.
          +
        • +
        + + + +
          +
        • +

          isShadowReceiver

          +
          public boolean isShadowReceiver()
          +
          Returns true if configured to receive shadows cast by other renderables.
          +
        • +
        + + + +
          +
        • +

          setShadowReceiver

          +
          public void setShadowReceiver​(boolean isShadowReceiver)
          +
          Sets whether the renderable receives shadows cast by other renderables in the scene.
          +
        • +
        + + + +
          +
        • +

          getAnimationFrameRate

          +
          public int getAnimationFrameRate()
          +
          Gets the number of frames per seconds defined in the asset animation.
          +
        • +
        + + + +
          +
        • +

          getSubmeshCount

          +
          public int getSubmeshCount()
          +
          Returns the number of submeshes that this renderable has. All Renderables have at least one.
          +
        • +
        + + + +
          +
        • +

          getId

          +
          public ChangeId getId()
          +
        • +
        + + + + + + + +
          +
        • +

          updateFromDefinition

          +
          public void updateFromDefinition​(RenderableDefinition definition)
          +
        • +
        + + + +
          +
        • +

          makeCopy

          +
          public abstract Renderable makeCopy()
          +
          Creates a new instance of this Renderable. + +

          The new renderable will have unique copy of all mutable state. All materials referenced by + the Renderable will also be instanced. Immutable data will be shared between the instances.

          +
        • +
        + + + +
          +
        • +

          getFinalModelMatrix

          +
          public Matrix getFinalModelMatrix​(Matrix originalMatrix)
          +
          Gets the final model matrix to use for rendering this Renderable based on the matrix + passed in. Default implementation simply passes through the original matrix. WARNING: Do not + modify the originalMatrix! If the final matrix isn't the same as the original matrix, then a + new instance must be returned.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Builder.html new file mode 100644 index 00000000..ecc824af --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Builder.html @@ -0,0 +1,337 @@ + + + + + +RenderableDefinition.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RenderableDefinition.Builder

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Submesh.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Submesh.Builder.html new file mode 100644 index 00000000..67ebb214 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Submesh.Builder.html @@ -0,0 +1,351 @@ + + + + + +RenderableDefinition.Submesh.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RenderableDefinition.Submesh.Builder

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Submesh.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Submesh.html new file mode 100644 index 00000000..feb5f325 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.Submesh.html @@ -0,0 +1,380 @@ + + + + + +RenderableDefinition.Submesh (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RenderableDefinition.Submesh

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      RenderableDefinition
      +
      +
      +
      public static class RenderableDefinition.Submesh
      +extends Object
      +
      Represents a Submesh for a RenderableDefinition. Each RenderableDefinition may have multiple + Submeshes.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.html new file mode 100644 index 00000000..7c1d7925 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableDefinition.html @@ -0,0 +1,331 @@ + + + + + +RenderableDefinition (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RenderableDefinition

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInstance.SkinningModifier.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInstance.SkinningModifier.html new file mode 100644 index 00000000..137a1393 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInstance.SkinningModifier.html @@ -0,0 +1,277 @@ + + + + + +RenderableInstance.SkinningModifier (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface RenderableInstance.SkinningModifier

    +
    +
    +
    +
      +
    • +
      +
      Enclosing class:
      +
      RenderableInstance
      +
      +
      +
      public static interface RenderableInstance.SkinningModifier
      +
      Interface for modifying the bone transforms for this specific RenderableInstance. Used by + SkeletonNode to make it possible to control a bone by moving a + node.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          modifyMaterialBoneTransformsBuffer

          +
          FloatBuffer modifyMaterialBoneTransformsBuffer​(FloatBuffer originalBuffer)
          +
          Takes the original boneTransforms and output new boneTransforms used to render the mesh.
          +
          +
          Parameters:
          +
          originalBuffer - contains the bone transforms from the current animation state of the + skeleton, buffer is read only
          +
          +
        • +
        + + + +
          +
        • +

          isModifiedSinceLastRender

          +
          boolean isModifiedSinceLastRender()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInstance.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInstance.html new file mode 100644 index 00000000..349b0418 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInstance.html @@ -0,0 +1,850 @@ + + + + + +RenderableInstance (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RenderableInstance

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      AnimatableModel
      +
      +
      +
      public class RenderableInstance
      +extends Object
      +implements AnimatableModel
      +
      Controls how a Renderable is displayed. There can be multiple RenderableInstances + displaying a single Renderable.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFilamentAsset

          +
          @Nullable
          +public com.google.android.filament.gltfio.FilamentAsset getFilamentAsset()
          +
        • +
        + + + + + + + +
          +
        • +

          getEntity

          +
          public int getEntity()
          +
        • +
        + + + +
          +
        • +

          getRenderedEntity

          +
          public int getRenderedEntity()
          +
        • +
        + + + +
          +
        • +

          getRenderPriority

          +
          public int getRenderPriority()
          +
          Get the render priority that controls the order of rendering. The priority is between a range + of 0 (rendered first) and 7 (rendered last). The default value is 4.
          +
        • +
        + + + +
          +
        • +

          setRenderPriority

          +
          public void setRenderPriority​(int renderPriority)
          +
          Set the render priority to control the order of rendering. The priority is between a range of 0 + (rendered first) and 7 (rendered last). The default value is 4.
          +
        • +
        + + + +
          +
        • +

          isShadowCaster

          +
          public boolean isShadowCaster()
          +
          Returns true if configured to cast shadows on other renderables.
          +
        • +
        + + + +
          +
        • +

          setShadowCaster

          +
          public void setShadowCaster​(boolean isShadowCaster)
          +
          Sets whether the renderable casts shadow on other renderables in the scene.
          +
        • +
        + + + +
          +
        • +

          isShadowReceiver

          +
          public boolean isShadowReceiver()
          +
          Returns true if configured to receive shadows cast by other renderables.
          +
        • +
        + + + +
          +
        • +

          setShadowReceiver

          +
          public void setShadowReceiver​(boolean isShadowReceiver)
          +
          Sets whether the renderable receives shadows cast by other renderables in the scene.
          +
        • +
        + + + +
          +
        • +

          getMaterial

          +
          public Material getMaterial()
          +
          Returns the material bound to the first submesh.
          +
        • +
        + + + +
          +
        • +

          getMaterialsCount

          +
          public int getMaterialsCount()
          +
          Returns the number of materials.
          +
        • +
        + + + +
          +
        • +

          getMaterial

          +
          public Material getMaterial​(int index)
          +
          Returns the material bound to the specified index.
          +
        • +
        + + + +
          +
        • +

          getMaterial

          +
          public Material getMaterial​(String name)
          +
          Returns the material bound to the specified name.
          +
        • +
        + + + +
          +
        • +

          setMaterial

          +
          public void setMaterial​(Material material)
          +
          Sets the material bound to the first index.
          +
        • +
        + + + +
          +
        • +

          setMaterial

          +
          public void setMaterial​(int primitiveIndex,
          +                        Material material)
          +
          Sets the material bound to the specified index.
          +
        • +
        + + + +
          +
        • +

          setMaterial

          +
          public void setMaterial​(int entityIndex,
          +                        int primitiveIndex,
          +                        Material material)
          +
          Sets the material bound to the specified index and entityIndex
          +
        • +
        + + + +
          +
        • +

          getMaterialName

          +
          public String getMaterialName​(int index)
          +
          Returns the name associated with the specified index.
          +
        • +
        + + + +
          +
        • +

          getWorldModelMatrix

          +
          public Matrix getWorldModelMatrix()
          +
        • +
        + + + + + + + + + + + + + + + + + + + +
          +
        • +

          prepareForDraw

          +
          public void prepareForDraw()
          +
        • +
        + + + +
          +
        • +

          attachToRenderer

          +
          public void attachToRenderer​(Renderer renderer)
          +
        • +
        + + + +
          +
        • +

          detachFromRenderer

          +
          public void detachFromRenderer()
          +
        • +
        + + + +
          +
        • +

          getRelativeTransform

          +
          @Nullable
          +public Matrix getRelativeTransform()
          +
          Returns the transform of this renderable relative to it's node. This will be non-null if the + .sfa file includes a scale other than 1 or has recentering turned on.
          +
        • +
        + + + +
          +
        • +

          getRelativeTransformInverse

          +
          @Nullable
          +public Matrix getRelativeTransformInverse()
          +
          Returns the inverse transform of this renderable relative to it's node. This will be non-null + if the .sfa file includes a scale other than 1 or has recentering turned on.
          +
        • +
        + + + +
          +
        • +

          updateAnimations

          +
          public boolean updateAnimations​(boolean force)
          +
          Apply animations changes if fore==true or the animation has dirty values.
          +
          +
          Parameters:
          +
          force - Update even if the animation time position didn't changed.
          +
          Returns:
          +
          true if any animation update has been made.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInternalFilamentAssetData.html b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInternalFilamentAssetData.html new file mode 100644 index 00000000..bb28b8ff --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/RenderableInternalFilamentAssetData.html @@ -0,0 +1,715 @@ + + + + + +RenderableInternalFilamentAssetData (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RenderableInternalFilamentAssetData

    +
    +
    + +
    +
      +
    • +
      +
      public class RenderableInternalFilamentAssetData
      +extends Object
      +
      Represents the data used by a Renderable for rendering natively loaded glTF data.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RenderableInternalFilamentAssetData

          +
          public RenderableInternalFilamentAssetData()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setCenterAabb

          +
          public void setCenterAabb​(Vector3 center)
          +
        • +
        + + + +
          +
        • +

          getCenterAabb

          +
          public Vector3 getCenterAabb()
          +
        • +
        + + + +
          +
        • +

          setExtentsAabb

          +
          public void setExtentsAabb​(Vector3 halfExtents)
          +
        • +
        + + + +
          +
        • +

          getExtentsAabb

          +
          public Vector3 getExtentsAabb()
          +
        • +
        + + + +
          +
        • +

          getSizeAabb

          +
          public Vector3 getSizeAabb()
          +
        • +
        + + + +
          +
        • +

          setTransformScale

          +
          public void setTransformScale​(float scale)
          +
        • +
        + + + +
          +
        • +

          getTransformScale

          +
          public float getTransformScale()
          +
        • +
        + + + +
          +
        • +

          setTransformOffset

          +
          public void setTransformOffset​(Vector3 offset)
          +
        • +
        + + + +
          +
        • +

          getTransformOffset

          +
          public Vector3 getTransformOffset()
          +
        • +
        + + + +
          +
        • +

          getMeshes

          +
          public ArrayList<com.google.ar.sceneform.rendering.RenderableInternalData.MeshData> getMeshes()
          +
        • +
        + + + +
          +
        • +

          getMaterialBindingIds

          +
          public ArrayList<Integer> getMaterialBindingIds()
          +
        • +
        + + + +
          +
        • +

          setIndexBuffer

          +
          public void setIndexBuffer​(@Nullable
          +                           com.google.android.filament.IndexBuffer indexBuffer)
          +
        • +
        + + + +
          +
        • +

          getIndexBuffer

          +
          @Nullable
          +public com.google.android.filament.IndexBuffer getIndexBuffer()
          +
        • +
        + + + +
          +
        • +

          setVertexBuffer

          +
          public void setVertexBuffer​(@Nullable
          +                            com.google.android.filament.VertexBuffer vertexBuffer)
          +
        • +
        + + + +
          +
        • +

          getVertexBuffer

          +
          @Nullable
          +public com.google.android.filament.VertexBuffer getVertexBuffer()
          +
        • +
        + + + +
          +
        • +

          setRawIndexBuffer

          +
          public void setRawIndexBuffer​(@Nullable
          +                              IntBuffer rawIndexBuffer)
          +
        • +
        + + + +
          +
        • +

          getRawIndexBuffer

          +
          @Nullable
          +public IntBuffer getRawIndexBuffer()
          +
        • +
        + + + +
          +
        • +

          setRawPositionBuffer

          +
          public void setRawPositionBuffer​(@Nullable
          +                                 FloatBuffer rawPositionBuffer)
          +
        • +
        + + + +
          +
        • +

          getRawPositionBuffer

          +
          @Nullable
          +public FloatBuffer getRawPositionBuffer()
          +
        • +
        + + + +
          +
        • +

          setRawTangentsBuffer

          +
          public void setRawTangentsBuffer​(@Nullable
          +                                 FloatBuffer rawTangentsBuffer)
          +
        • +
        + + + +
          +
        • +

          getRawTangentsBuffer

          +
          @Nullable
          +public FloatBuffer getRawTangentsBuffer()
          +
        • +
        + + + +
          +
        • +

          setRawUvBuffer

          +
          public void setRawUvBuffer​(@Nullable
          +                           FloatBuffer rawUvBuffer)
          +
        • +
        + + + +
          +
        • +

          getRawUvBuffer

          +
          @Nullable
          +public FloatBuffer getRawUvBuffer()
          +
        • +
        + + + +
          +
        • +

          setRawColorBuffer

          +
          public void setRawColorBuffer​(@Nullable
          +                              FloatBuffer rawColorBuffer)
          +
        • +
        + + + +
          +
        • +

          getRawColorBuffer

          +
          @Nullable
          +public FloatBuffer getRawColorBuffer()
          +
        • +
        + + + +
          +
        • +

          setAnimationNames

          +
          public void setAnimationNames​(@NonNull
          +                              List<String> animationNames)
          +
        • +
        + + + +
          +
        • +

          getAnimationNames

          +
          @NonNull
          +public List<String> getAnimationNames()
          +
        • +
        + + + +
          +
        • +

          buildInstanceData

          +
          public void buildInstanceData​(RenderableInstance instance,
          +                              int renderedEntity)
          +
        • +
        + + + +
          +
        • +

          dispose

          +
          public void dispose()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/ux/ArFragment.OnTapModelListener.html b/docs/javadoc/com/google/ar/sceneform/rendering/Renderer.PreRenderCallback.html similarity index 54% rename from docs/javadoc/com/google/ar/sceneform/ux/ArFragment.OnTapModelListener.html rename to docs/javadoc/com/google/ar/sceneform/rendering/Renderer.PreRenderCallback.html index b4bd9b8e..8a214a1a 100644 --- a/docs/javadoc/com/google/ar/sceneform/ux/ArFragment.OnTapModelListener.html +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Renderer.PreRenderCallback.html @@ -1,42 +1,58 @@ - + -ArFragment.OnTapModelListener (ux API) +Renderer.PreRenderCallback (core 1.19.4 API) + + + + + + + + +var pathtoroot = "../../../../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    com.google.ar.sceneform.ux
    -

    Interface ArFragment.OnTapModelListener

    + +

    Interface Renderer.PreRenderCallback

    @@ -98,11 +124,10 @@

    Interface ArFr
  • Enclosing class:
    -
    ArFragment
    +
    Renderer

    -
    -
    public static interface ArFragment.OnTapModelListener
    +
    public static interface Renderer.PreRenderCallback
  • @@ -110,28 +135,30 @@

    Interface ArFr
    • +
        -
      • +
      • Method Summary

        - +
        - + + - - - - - + +
        All Methods Instance Methods Abstract Methods 
        Modifier and TypeMethod and DescriptionMethodDescription
        voidonModelAdded(RenderableInstance renderableInstance) 
        voidonModelError(java.lang.Throwable exception) preRender​(com.google.android.filament.Renderer renderer, + com.google.android.filament.SwapChain swapChain, + com.google.android.filament.Camera camera) 
      +

    @@ -139,46 +166,45 @@

    Method Summary

    +
    + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Renderer.html b/docs/javadoc/com/google/ar/sceneform/rendering/Renderer.html new file mode 100644 index 00000000..c020bdee --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Renderer.html @@ -0,0 +1,916 @@ + + + + + +Renderer (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Renderer

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      com.google.android.filament.android.UiHelper.RendererCallback
      +
      +
      +
      public class Renderer
      +extends Object
      +implements com.google.android.filament.android.UiHelper.RendererCallback
      +
      A rendering context. + +

      Contains everything that will be drawn on a surface.

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          startMirroring

          +
          public void startMirroring​(Surface surface,
          +                           int left,
          +                           int bottom,
          +                           int width,
          +                           int height)
          +
          Starts mirroring to the specified Surface.
          +
        • +
        + + + +
          +
        • +

          stopMirroring

          +
          public void stopMirroring​(Surface surface)
          +
          Stops mirroring to the specified Surface.
          +
        • +
        + + + +
          +
        • +

          getFilamentRenderer

          +
          public com.google.android.filament.Renderer getFilamentRenderer()
          +
          Access to the underlying Filament renderer.
          +
        • +
        + + + +
          +
        • +

          getFilamentView

          +
          public com.google.android.filament.View getFilamentView()
          +
          Access to the underlying Filament view.
          +
        • +
        + + + +
          +
        • +

          getSurfaceView

          +
          public SurfaceView getSurfaceView()
          +
        • +
        + + + +
          +
        • +

          setClearColor

          +
          public void setClearColor​(Color color)
          +
        • +
        + + + +
          +
        • +

          setDefaultClearColor

          +
          public void setDefaultClearColor()
          +
        • +
        + + + +
          +
        • +

          setFrontFaceWindingInverted

          +
          public void setFrontFaceWindingInverted​(Boolean inverted)
          +
          Inverts winding for front face rendering.
          +
        • +
        + + + +
          +
        • +

          isFrontFaceWindingInverted

          +
          public boolean isFrontFaceWindingInverted()
          +
          Checks whether winding is inverted for front face rendering.
          +
        • +
        + + + +
          +
        • +

          setCameraProvider

          +
          public void setCameraProvider​(@Nullable
          +                              CameraProvider cameraProvider)
          +
        • +
        + + + +
          +
        • +

          onPause

          +
          public void onPause()
          +
        • +
        + + + +
          +
        • +

          onResume

          +
          public void onResume()
          +
        • +
        + + + +
          +
        • +

          setFrameRenderDebugCallback

          +
          public void setFrameRenderDebugCallback​(Runnable onFrameRenderDebugCallback)
          +
          Sets a callback to happen after each frame is rendered. This can be used to log performance + metrics for a given frame.
          +
        • +
        + + + + + + + +
          +
        • +

          render

          +
          public void render​(long frameTimeNanos,
          +                   boolean debugEnabled)
          +
        • +
        + + + +
          +
        • +

          dispose

          +
          public void dispose()
          +
        • +
        + + + +
          +
        • +

          getContext

          +
          public Context getContext()
          +
        • +
        + + + +
          +
        • +

          setLightProbe

          +
          public void setLightProbe​(LightProbe lightProbe)
          +
          Set the Light Probe used for reflections and indirect light.
          +
        • +
        + + + +
          +
        • +

          setDesiredSize

          +
          public void setDesiredSize​(int width,
          +                           int height)
          +
        • +
        + + + +
          +
        • +

          getDesiredWidth

          +
          public int getDesiredWidth()
          +
        • +
        + + + +
          +
        • +

          getDesiredHeight

          +
          public int getDesiredHeight()
          +
        • +
        + + + +
          +
        • +

          onNativeWindowChanged

          +
          public void onNativeWindowChanged​(Surface surface)
          +
          +
          Specified by:
          +
          onNativeWindowChanged in interface com.google.android.filament.android.UiHelper.RendererCallback
          +
          +
        • +
        + + + +
          +
        • +

          onDetachedFromSurface

          +
          public void onDetachedFromSurface()
          +
          +
          Specified by:
          +
          onDetachedFromSurface in interface com.google.android.filament.android.UiHelper.RendererCallback
          +
          +
        • +
        + + + +
          +
        • +

          setDynamicResolutionEnabled

          +
          public void setDynamicResolutionEnabled​(boolean isEnabled)
          +
        • +
        + + + +
          +
        • +

          setAntiAliasing

          +
          public void setAntiAliasing​(com.google.android.filament.View.AntiAliasing antiAliasing)
          +
        • +
        + + + +
          +
        • +

          setDithering

          +
          public void setDithering​(com.google.android.filament.View.Dithering dithering)
          +
        • +
        + + + +
          +
        • +

          setPostProcessingEnabled

          +
          public void setPostProcessingEnabled​(boolean enablePostProcessing)
          +
        • +
        + + + +
          +
        • +

          setRenderQuality

          +
          public void setRenderQuality​(com.google.android.filament.View.RenderQuality renderQuality)
          +
        • +
        + + + +
          +
        • +

          enablePerformanceMode

          +
          public void enablePerformanceMode()
          +
          Sets a high performance configuration for the filament view. Disables MSAA, disables + post-process, disables dynamic resolution, sets quality to 'low'.
          +
        • +
        + + + +
          +
        • +

          getEnvironmentalHdrParameters

          +
          public EnvironmentalHdrParameters getEnvironmentalHdrParameters()
          +
          Getter to help convert between filament and Environmental HDR.
          +
        • +
        + + + +
          +
        • +

          setEnvironmentalHdrParameters

          +
          public void setEnvironmentalHdrParameters​(EnvironmentalHdrParameters environmentalHdrParameters)
          +
          Setter to help convert between filament and Environmental HDR.
          +
        • +
        + + + +
          +
        • +

          onResized

          +
          public void onResized​(int width,
          +                      int height)
          +
          +
          Specified by:
          +
          onResized in interface com.google.android.filament.android.UiHelper.RendererCallback
          +
          +
        • +
        + + + +
          +
        • +

          getFilamentScene

          +
          @NonNull
          +public com.google.android.filament.Scene getFilamentScene()
          +
        • +
        + + + +
          +
        • +

          setUseHdrLightEstimate

          +
          public void setUseHdrLightEstimate​(boolean useHdrLightEstimate)
          +
        • +
        + + + +
          +
        • +

          getExposure

          +
          public float getExposure()
          +
          Returns the exposure setting for renderering.
          +
        • +
        + + + +
          +
        • +

          reclaimReleasedResources

          +
          public static long reclaimReleasedResources()
          +
          Releases rendering resources ready for garbage collection
          +
          +
          Returns:
          +
          Count of resources currently in use
          +
          +
        • +
        + + + +
          +
        • +

          destroyAllResources

          +
          public static void destroyAllResources()
          +
          Immediately releases all rendering resources, even if in use.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ResourceManager.html b/docs/javadoc/com/google/ar/sceneform/rendering/ResourceManager.html new file mode 100644 index 00000000..3c840798 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ResourceManager.html @@ -0,0 +1,325 @@ + + + + + +ResourceManager (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ResourceManager

    +
    +
    + +
    +
      +
    • +
      +
      public class ResourceManager
      +extends Object
      +
      Minimal resource manager. Maintains mappings from ids to created resources and a task executor + dedicated to loading resources asynchronously.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          reclaimReleasedResources

          +
          public long reclaimReleasedResources()
          +
        • +
        + + + +
          +
        • +

          destroyAllResources

          +
          public void destroyAllResources()
          +
          Forcibly deletes all tracked references
          +
        • +
        + + + +
          +
        • +

          addResourceHolder

          +
          public void addResourceHolder​(ResourceHolder resource)
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/SceneformBundle.html b/docs/javadoc/com/google/ar/sceneform/rendering/SceneformBundle.html new file mode 100644 index 00000000..2df6b3dd --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/SceneformBundle.html @@ -0,0 +1,408 @@ + + + + + +SceneformBundle (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SceneformBundle

    +
    +
    + +
    +
      +
    • +
      +
      public final class SceneformBundle
      +extends Object
      +
      Helper functions for loading and processing rendercore bundles.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SceneformBundle

          +
          public SceneformBundle()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          tryLoadSceneformBundle

          +
          @Nullable
          +public static com.google.ar.schemas.sceneform.SceneformBundleDef tryLoadSceneformBundle​(ByteBuffer buffer)
          +                                                                                 throws com.google.ar.sceneform.rendering.SceneformBundle.VersionException
          +
          +
          Throws:
          +
          com.google.ar.sceneform.rendering.SceneformBundle.VersionException
          +
          +
        • +
        + + + +
          +
        • +

          readCollisionGeometry

          +
          public static CollisionShape readCollisionGeometry​(com.google.ar.schemas.sceneform.SceneformBundleDef rcb)
          +                                            throws IOException
          +
          +
          Throws:
          +
          IOException
          +
          +
        • +
        + + + +
          +
        • +

          isSceneformBundle

          +
          public static boolean isSceneformBundle​(ByteBuffer buffer)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ShapeFactory.html b/docs/javadoc/com/google/ar/sceneform/rendering/ShapeFactory.html new file mode 100644 index 00000000..216d69ce --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ShapeFactory.html @@ -0,0 +1,381 @@ + + + + + +ShapeFactory (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ShapeFactory

    +
    +
    + +
    +
      +
    • +
      +
      public final class ShapeFactory
      +extends Object
      +
      Utility class used to dynamically construct ModelRenderables for various shapes.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ShapeFactory

          +
          public ShapeFactory()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          makeCube

          +
          public static ModelRenderable makeCube​(Vector3 size,
          +                                       Vector3 center,
          +                                       Material material)
          +
          Creates a ModelRenderable in the shape of a cube with the give specifications.
          +
          +
          Parameters:
          +
          size - the size of the constructed cube
          +
          center - the center of the constructed cube
          +
          material - the material to use for rendering the cube
          +
          Returns:
          +
          renderable representing a cube with the given parameters
          +
          +
        • +
        + + + +
          +
        • +

          makeSphere

          +
          public static ModelRenderable makeSphere​(float radius,
          +                                         Vector3 center,
          +                                         Material material)
          +
          Creates a ModelRenderable in the shape of a sphere with the give specifications.
          +
          +
          Parameters:
          +
          radius - the radius of the constructed sphere
          +
          center - the center of the constructed sphere
          +
          material - the material to use for rendering the sphere
          +
          Returns:
          +
          renderable representing a sphere with the given parameters
          +
          +
        • +
        + + + +
          +
        • +

          makeCylinder

          +
          public static ModelRenderable makeCylinder​(float radius,
          +                                           float height,
          +                                           Vector3 center,
          +                                           Material material)
          +
          Creates a ModelRenderable in the shape of a cylinder with the give specifications.
          +
          +
          Parameters:
          +
          radius - the radius of the constructed cylinder
          +
          height - the height of the constructed cylinder
          +
          center - the center of the constructed cylinder
          +
          material - the material to use for rendering the cylinder
          +
          Returns:
          +
          renderable representing a cylinder with the given parameters
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Builder.html new file mode 100644 index 00000000..20765d3f --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Builder.html @@ -0,0 +1,474 @@ + + + + + +Texture.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Texture.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Texture
      +
      +
      +
      public static final class Texture.Builder
      +extends Object
      +
      Factory class for Texture
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setSource

          +
          public Texture.Builder setSource​(Context context,
          +                                 Uri sourceUri)
          +
          Allows a Texture to be constructed from Uri. Construction will be + asynchronous.
          +
          +
          Parameters:
          +
          sourceUri - Sets a remote Uri or android resource Uri. The texture will be added to the + registry using the Uri A previously registered texture with the same Uri will be re-used.
          +
          context - Sets the Context used to resolve sourceUri
          +
          Returns:
          +
          Texture.Builder for chaining setup calls.
          +
          +
        • +
        + + + + + + + +
          +
        • +

          setSource

          +
          public Texture.Builder setSource​(Context context,
          +                                 int resource)
          +
          Allows a Texture to be constructed from resource. Construction will be asynchronous.
          +
          +
          Parameters:
          +
          resource - an android resource with raw type. A previously registered texture with the + same resource id will be re-used.
          +
          context - Context used for resolution
          +
          Returns:
          +
          Texture.Builder for chaining setup calls.
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          setRegistryId

          +
          public Texture.Builder setRegistryId​(Object registryId)
          +
          Allows a Texture to be reused. If registryId is non-null it will be saved in a + registry and the registry will be checked for this id before construction.
          +
          +
          Parameters:
          +
          registryId - Allows the function to be skipped and a previous texture to be re-used.
          +
          Returns:
          +
          Texture.Builder for chaining setup calls.
          +
          +
        • +
        + + + + + + + + + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.Builder.html new file mode 100644 index 00000000..1d169b43 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.Builder.html @@ -0,0 +1,439 @@ + + + + + +Texture.Sampler.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Texture.Sampler.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Texture.Sampler
      +
      +
      +
      public static class Texture.Sampler.Builder
      +extends Object
      +
      Builder for constructing Sampler objects.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.MagFilter.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.MagFilter.html new file mode 100644 index 00000000..9748e6fe --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.MagFilter.html @@ -0,0 +1,381 @@ + + + + + +Texture.Sampler.MagFilter (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum Texture.Sampler.MagFilter

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static Texture.Sampler.MagFilter[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (Texture.Sampler.MagFilter c : Texture.Sampler.MagFilter.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static Texture.Sampler.MagFilter valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.MinFilter.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.MinFilter.html new file mode 100644 index 00000000..26cd6539 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.MinFilter.html @@ -0,0 +1,433 @@ + + + + + +Texture.Sampler.MinFilter (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum Texture.Sampler.MinFilter

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static Texture.Sampler.MinFilter[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (Texture.Sampler.MinFilter c : Texture.Sampler.MinFilter.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static Texture.Sampler.MinFilter valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.WrapMode.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.WrapMode.html new file mode 100644 index 00000000..f13a52ee --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.WrapMode.html @@ -0,0 +1,394 @@ + + + + + +Texture.Sampler.WrapMode (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum Texture.Sampler.WrapMode

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static Texture.Sampler.WrapMode[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (Texture.Sampler.WrapMode c : Texture.Sampler.WrapMode.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static Texture.Sampler.WrapMode valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.html new file mode 100644 index 00000000..ae5bba80 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Sampler.html @@ -0,0 +1,407 @@ + + + + + +Texture.Sampler (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Texture.Sampler

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Texture
      +
      +
      +
      public static class Texture.Sampler
      +extends Object
      +
      Controls what settings are used to sample Textures when rendering.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getMinFilter

          +
          public Texture.Sampler.MinFilter getMinFilter()
          +
          Get the minifying function used whenever the level-of-detail function determines that the + texture should be minified.
          +
        • +
        + + + +
          +
        • +

          getMagFilter

          +
          public Texture.Sampler.MagFilter getMagFilter()
          +
          Get the magnification function used whenever the level-of-detail function determines that the + texture should be magnified.
          +
        • +
        + + + +
          +
        • +

          getWrapModeS

          +
          public Texture.Sampler.WrapMode getWrapModeS()
          +
          Get the wrap mode for texture coordinate S. The wrap mode determines how a texture is + rendered for uv coordinates outside the range of [0, 1].
          +
        • +
        + + + +
          +
        • +

          getWrapModeT

          +
          public Texture.Sampler.WrapMode getWrapModeT()
          +
          Get the wrap mode for texture coordinate T. The wrap mode determines how a texture is + rendered for uv coordinates outside the range of [0, 1].
          +
        • +
        + + + +
          +
        • +

          getWrapModeR

          +
          public Texture.Sampler.WrapMode getWrapModeR()
          +
          Get the wrap mode for texture coordinate R. The wrap mode determines how a texture is + rendered for uv coordinates outside the range of [0, 1].
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Usage.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Usage.html new file mode 100644 index 00000000..fb07db7b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.Usage.html @@ -0,0 +1,403 @@ + + + + + +Texture.Usage (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum Texture.Usage

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Detail

        + + + +
          +
        • +

          COLOR

          +
          public static final Texture.Usage COLOR
          +
          Texture contains a color map
          +
        • +
        + + + +
          +
        • +

          NORMAL

          +
          public static final Texture.Usage NORMAL
          +
          Texture contains a normal map
          +
        • +
        + + + +
          +
        • +

          DATA

          +
          public static final Texture.Usage DATA
          +
          Texture contains arbitrary data
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static Texture.Usage[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (Texture.Usage c : Texture.Usage.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static Texture.Usage valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Texture.html b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.html new file mode 100644 index 00000000..28378449 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Texture.html @@ -0,0 +1,307 @@ + + + + + +Texture (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Texture

    +
    +
    + +
    +
      +
    • +
      +
      public class Texture
      +extends Object
      +
      Represents a reference to a texture.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          builder

          +
          public static Texture.Builder builder()
          +
          Constructs a default texture, if nothing else is set
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/TextureInternalData.html b/docs/javadoc/com/google/ar/sceneform/rendering/TextureInternalData.html new file mode 100644 index 00000000..614a73fb --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/TextureInternalData.html @@ -0,0 +1,324 @@ + + + + + +TextureInternalData (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TextureInternalData

    +
    +
    + +
    +
      +
    • +
      +
      public class TextureInternalData
      +extends SharedReference
      +
      Represents shared data used by Textures for rendering. The data will be released when all + Textures using this data are finalized.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TextureInternalData

          +
          public TextureInternalData​(com.google.android.filament.Texture filamentTexture,
          +                           Texture.Sampler sampler)
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ThreadPools.html b/docs/javadoc/com/google/ar/sceneform/rendering/ThreadPools.html new file mode 100644 index 00000000..fe46743b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ThreadPools.html @@ -0,0 +1,322 @@ + + + + + +ThreadPools (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ThreadPools

    +
    +
    + +
    +
      +
    • +
      +
      public class ThreadPools
      +extends Object
      +
      Provides access to default Executors to be used
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getMainExecutor

          +
          public static Executor getMainExecutor()
          +
          Executor for anything that that touches Renderer state
          +
        • +
        + + + +
          +
        • +

          setMainExecutor

          +
          public static void setMainExecutor​(Executor executor)
          +
          +
          Parameters:
          +
          executor - provides access to the main thread.
          +
          +
        • +
        + + + +
          +
        • +

          getThreadPoolExecutor

          +
          public static Executor getThreadPoolExecutor()
          +
          Default background Executor for async operations including file reading.
          +
        • +
        + + + +
          +
        • +

          setThreadPoolExecutor

          +
          public static void setThreadPoolExecutor​(Executor executor)
          +
          Sets the default background Executor. + +

          Tasks may be long running. This should not include the main thread

          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.Builder.html new file mode 100644 index 00000000..ed447188 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.Builder.html @@ -0,0 +1,368 @@ + + + + + +Vertex.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vertex.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Vertex
      +
      +
      +
      public static final class Vertex.Builder
      +extends Object
      +
      Factory class for Vertex.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.UvCoordinate.html b/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.UvCoordinate.html new file mode 100644 index 00000000..1d6ed98f --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.UvCoordinate.html @@ -0,0 +1,329 @@ + + + + + +Vertex.UvCoordinate (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vertex.UvCoordinate

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      Vertex
      +
      +
      +
      public static final class Vertex.UvCoordinate
      +extends Object
      +
      Represents a texture Coordinate for a Vertex. Values should be between 0 and 1.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          x

          +
          public float x
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          UvCoordinate

          +
          public UvCoordinate​(float x,
          +                    float y)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.html b/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.html new file mode 100644 index 00000000..353e731b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/Vertex.html @@ -0,0 +1,421 @@ + + + + + +Vertex (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Vertex

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setPosition

          +
          public void setPosition​(Vector3 position)
          +
        • +
        + + + +
          +
        • +

          getPosition

          +
          public Vector3 getPosition()
          +
        • +
        + + + +
          +
        • +

          setNormal

          +
          public void setNormal​(@Nullable
          +                      Vector3 normal)
          +
        • +
        + + + +
          +
        • +

          getNormal

          +
          @Nullable
          +public Vector3 getNormal()
          +
        • +
        + + + +
          +
        • +

          setUvCoordinate

          +
          public void setUvCoordinate​(@Nullable
          +                            Vertex.UvCoordinate uvCoordinate)
          +
        • +
        + + + + + + + +
          +
        • +

          setColor

          +
          public void setColor​(@Nullable
          +                     Color color)
          +
        • +
        + + + +
          +
        • +

          getColor

          +
          @Nullable
          +public Color getColor()
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.Builder.html b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.Builder.html new file mode 100644 index 00000000..d6ef214d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.Builder.html @@ -0,0 +1,665 @@ + + + + + +ViewRenderable.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ViewRenderable.Builder

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.HorizontalAlignment.html b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.HorizontalAlignment.html new file mode 100644 index 00000000..64661f4c --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.HorizontalAlignment.html @@ -0,0 +1,394 @@ + + + + + +ViewRenderable.HorizontalAlignment (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum ViewRenderable.HorizontalAlignment

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static ViewRenderable.HorizontalAlignment[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (ViewRenderable.HorizontalAlignment c : ViewRenderable.HorizontalAlignment.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static ViewRenderable.HorizontalAlignment valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.VerticalAlignment.html b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.VerticalAlignment.html new file mode 100644 index 00000000..6bdaadba --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.VerticalAlignment.html @@ -0,0 +1,394 @@ + + + + + +ViewRenderable.VerticalAlignment (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum ViewRenderable.VerticalAlignment

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static ViewRenderable.VerticalAlignment[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (ViewRenderable.VerticalAlignment c : ViewRenderable.VerticalAlignment.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static ViewRenderable.VerticalAlignment valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.html b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.html new file mode 100644 index 00000000..179673a6 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ViewRenderable.html @@ -0,0 +1,549 @@ + + + + + +ViewRenderable (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ViewRenderable

    +
    +
    + +
    +
      +
    • +
      +
      public class ViewRenderable
      +extends Renderable
      +
      Renders a 2D Android view in 3D space by attaching it to a Node + with Node.setRenderable(Renderable). By default, the size of the + view is 1 meter in the Scene per 250dp in the layout. Use a + ViewSizer to control how the size of the view in the Scene is calculated. + +
      
      + future = ViewRenderable.builder().setView(context, R.layout.view).build();
      + viewRenderable = future.thenAccept(...);
      + 
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/ViewSizer.html b/docs/javadoc/com/google/ar/sceneform/rendering/ViewSizer.html new file mode 100644 index 00000000..e9e541f0 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/ViewSizer.html @@ -0,0 +1,264 @@ + + + + + +ViewSizer (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface ViewSizer

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getSize

          +
          Vector3 getSize​(View view)
          +
          Calculates the desired size of the view in the Scene. Vector3.x represents the width, and Vector3.y represents the height.
          +
          +
          Parameters:
          +
          view - the view to calculate the size of
          +
          Returns:
          +
          a new vector that represents the view's size in the Scene
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/package-summary.html b/docs/javadoc/com/google/ar/sceneform/rendering/package-summary.html new file mode 100644 index 00000000..d5aa8699 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/package-summary.html @@ -0,0 +1,593 @@ + + + + + +com.google.ar.sceneform.rendering (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform.rendering

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/rendering/package-tree.html b/docs/javadoc/com/google/ar/sceneform/rendering/package-tree.html new file mode 100644 index 00000000..934de3d8 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/rendering/package-tree.html @@ -0,0 +1,259 @@ + + + + + +com.google.ar.sceneform.rendering Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform.rendering

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +

    Enum Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnTapArPlaneListener.html b/docs/javadoc/com/google/ar/sceneform/resources/ResourceHolder.html similarity index 50% rename from docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnTapArPlaneListener.html rename to docs/javadoc/com/google/ar/sceneform/resources/ResourceHolder.html index ae95bfa2..9e7b33dd 100644 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnTapArPlaneListener.html +++ b/docs/javadoc/com/google/ar/sceneform/resources/ResourceHolder.html @@ -1,42 +1,58 @@ - + -BaseArFragment.OnTapArPlaneListener (ux API) +ResourceHolder (core 1.19.4 API) + + + + + + + + +var pathtoroot = "../../../../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    -
    com.google.ar.sceneform.ux
    -

    Interface BaseArFragment.OnTapArPlaneListener

    + +

    Interface ResourceHolder

    • -
      Enclosing class:
      -
      BaseArFragment
      +
      All Known Implementing Classes:
      +
      CleanupRegistry, ResourceRegistry

      -
      -
      public static interface BaseArFragment.OnTapArPlaneListener
      -
      Invoked when an ARCore plane is tapped.
      +
      public interface ResourceHolder
      +
      Pool or cachce for resources
    @@ -111,28 +136,37 @@

    Interfac
    • +
        -
      • +
      • Method Summary

        - +
        - + + - + + + + + +
        All Methods Instance Methods Abstract Methods 
        Modifier and TypeMethod and DescriptionMethodDescription
        voidonTapPlane(HitResult hitResult, - Plane plane, - android.view.MotionEvent motionEvent) -
        Called when an ARCore plane is tapped.
        +
        destroyAllResources() +
        Ignores reference count and disposes any associated resources.
        +
        longreclaimReleasedResources() +
        Polls for garbage collected objects and disposes associated data.
      +

    @@ -140,48 +174,58 @@

    Method Summary

    +
    + diff --git a/docs/javadoc/com/google/ar/sceneform/resources/ResourceRegistry.html b/docs/javadoc/com/google/ar/sceneform/resources/ResourceRegistry.html new file mode 100644 index 00000000..7a9af967 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/resources/ResourceRegistry.html @@ -0,0 +1,384 @@ + + + + + +ResourceRegistry (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ResourceRegistry<T>

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      ResourceHolder
      +
      +
      +
      public class ResourceRegistry<T>
      +extends Object
      +implements ResourceHolder
      +
      ResourceRegistry keeps track of resources that have been loaded and are in the process of being + loaded. The registry maintains only weak references and doesn't prevent resources from being + collected.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ResourceRegistry

          +
          public ResourceRegistry()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          get

          +
          @Nullable
          +public CompletableFuture<T> get​(Object id)
          +
          Returns a future to a resource previously registered with the same id. If resource has not yet + been registered or was garbage collected, returns null. The future may be to a resource that + has already finished loading, in which case CompletableFuture.isDone() will be true.
          +
        • +
        + + + + + + + +
          +
        • +

          destroyAllResources

          +
          public void destroyAllResources()
          +
          Removes all cache entries. Cancels any in progress futures. cancel does not interrupt work in + progress. It only prevents the final stage from starting.
          +
          +
          Specified by:
          +
          destroyAllResources in interface ResourceHolder
          +
          +
        • +
        + + + +
          +
        • +

          reclaimReleasedResources

          +
          public long reclaimReleasedResources()
          +
          Description copied from interface: ResourceHolder
          +
          Polls for garbage collected objects and disposes associated data.
          +
          +
          Specified by:
          +
          reclaimReleasedResources in interface ResourceHolder
          +
          Returns:
          +
          Count of resources in use.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/resources/SharedReference.html b/docs/javadoc/com/google/ar/sceneform/resources/SharedReference.html new file mode 100644 index 00000000..c302dce8 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/resources/SharedReference.html @@ -0,0 +1,337 @@ + + + + + +SharedReference (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SharedReference

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SharedReference

          +
          public SharedReference()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          retain

          +
          public void retain()
          +
        • +
        + + + +
          +
        • +

          release

          +
          public void release()
          +
        • +
        + + + +
          +
        • +

          onDispose

          +
          protected abstract void onDispose()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/resources/package-summary.html b/docs/javadoc/com/google/ar/sceneform/resources/package-summary.html new file mode 100644 index 00000000..f626f5a9 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/resources/package-summary.html @@ -0,0 +1,190 @@ + + + + + +com.google.ar.sceneform.resources (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform.resources

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/resources/package-tree.html b/docs/javadoc/com/google/ar/sceneform/resources/package-tree.html new file mode 100644 index 00000000..216e03d3 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/resources/package-tree.html @@ -0,0 +1,168 @@ + + + + + +com.google.ar.sceneform.resources Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform.resources

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/AndroidPreconditions.html b/docs/javadoc/com/google/ar/sceneform/utilities/AndroidPreconditions.html new file mode 100644 index 00000000..d3d4be07 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/AndroidPreconditions.html @@ -0,0 +1,396 @@ + + + + + +AndroidPreconditions (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class AndroidPreconditions

    +
    +
    + +
    +
      +
    • +
      +
      public class AndroidPreconditions
      +extends Object
      +
      Helper class for common android specific preconditions used inside of RenderCore.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          AndroidPreconditions

          +
          public AndroidPreconditions()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          checkUiThread

          +
          public static void checkUiThread()
          +
          Ensure that the code is being executed on Android's UI thread. Null-Op if the Android API isn't + available (i.e. for unit tests.
          +
        • +
        + + + +
          +
        • +

          checkMinAndroidApiLevel

          +
          public static void checkMinAndroidApiLevel()
          +
          Enforce the minimum Android api level
          +
          +
          Throws:
          +
          IllegalStateException - if the api level is not high enough
          +
          +
        • +
        + + + +
          +
        • +

          isAndroidApiAvailable

          +
          public static boolean isAndroidApiAvailable()
          +
          Returns true if the Android API is currently available. Useful for branching functionality to + make it testable via junit. The android API is available for Robolectric tests and android + emulator tests.
          +
        • +
        + + + +
          +
        • +

          isUnderTesting

          +
          public static boolean isUnderTesting()
          +
        • +
        + + + +
          +
        • +

          isMinAndroidApiLevel

          +
          public static boolean isMinAndroidApiLevel()
          +
          Returns true if the Android api level is above the minimum or if not on Android. + +

          Also returns true if not on Android or in a test.

          +
        • +
        + + + +
          +
        • +

          setUnderTesting

          +
          public static void setUnderTesting​(boolean isUnderTesting)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/ArCoreVersion.html b/docs/javadoc/com/google/ar/sceneform/utilities/ArCoreVersion.html new file mode 100644 index 00000000..703d9634 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/ArCoreVersion.html @@ -0,0 +1,351 @@ + + + + + +ArCoreVersion (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ArCoreVersion

    +
    +
    + +
    +
      +
    • +
      +
      public class ArCoreVersion
      +extends Object
      +
      Utilities for detecting and handling the version of Ar Core.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ArCoreVersion

          +
          public ArCoreVersion()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getMinArCoreVersionCode

          +
          public static int getMinArCoreVersionCode​(Context context)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/BufferHelper.html b/docs/javadoc/com/google/ar/sceneform/utilities/BufferHelper.html new file mode 100644 index 00000000..837d8b6f --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/BufferHelper.html @@ -0,0 +1,318 @@ + + + + + +BufferHelper (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class BufferHelper

    +
    +
    + +
    +
      +
    • +
      +
      public class BufferHelper
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          BufferHelper

          +
          public BufferHelper()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          cloneByteBuffer

          +
          public static ByteBuffer cloneByteBuffer​(ByteBuffer original)
          +
          +     Create a new independent ByteBuffer from a
          +     source ByteBuffer.
          + 
          +
          +
          Parameters:
          +
          original - ByteBuffer
          +
          Returns:
          +
          ByteBuffer
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/ChangeId.html b/docs/javadoc/com/google/ar/sceneform/utilities/ChangeId.html new file mode 100644 index 00000000..ff426724 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/ChangeId.html @@ -0,0 +1,398 @@ + + + + + +ChangeId (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class ChangeId

    +
    +
    + +
    +
      +
    • +
      +
      public class ChangeId
      +extends Object
      +
      Used to identify when the state of an object has changed by incrementing an integer id. Other + classes can determine when this object has changed by polling to see if the id has changed. + +

      This is useful as an alternative to an event listener subscription model when there is no safe + point in the lifecycle of an object to unsubscribe from the event listeners. Unlike event + listeners, this cannot cause memory leaks.

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ChangeId

          +
          public ChangeId()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          get

          +
          public int get()
          +
        • +
        + + + +
          +
        • +

          isEmpty

          +
          public boolean isEmpty()
          +
        • +
        + + + +
          +
        • +

          checkChanged

          +
          public boolean checkChanged​(int id)
          +
        • +
        + + + +
          +
        • +

          update

          +
          public void update()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/EnvironmentalHdrParameters.Builder.html b/docs/javadoc/com/google/ar/sceneform/utilities/EnvironmentalHdrParameters.Builder.html new file mode 100644 index 00000000..e22eaafa --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/EnvironmentalHdrParameters.Builder.html @@ -0,0 +1,360 @@ + + + + + +EnvironmentalHdrParameters.Builder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class EnvironmentalHdrParameters.Builder

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      EnvironmentalHdrParameters
      +
      +
      +
      public static class EnvironmentalHdrParameters.Builder
      +extends Object
      +
      Builds ViewerConfig, a collection of runtime config options for the viewer.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Builder

          +
          public Builder()
          +
        • +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/EnvironmentalHdrParameters.html b/docs/javadoc/com/google/ar/sceneform/utilities/EnvironmentalHdrParameters.html new file mode 100644 index 00000000..512d0c5d --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/EnvironmentalHdrParameters.html @@ -0,0 +1,448 @@ + + + + + +EnvironmentalHdrParameters (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class EnvironmentalHdrParameters

    +
    +
    + +
    +
      +
    • +
      +
      public class EnvironmentalHdrParameters
      +extends Object
      +
      Provides scaling factors from Environmental Hdr to Filament. + +

      A conversion is required to convert between Environmental Hdr units and an intensity value + Filament can use.

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          DEFAULT_AMBIENT_SH_SCALE_FOR_FILAMENT

          +
          public static final float DEFAULT_AMBIENT_SH_SCALE_FOR_FILAMENT
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_DIRECT_INTENSITY_FOR_FILAMENT

          +
          public static final float DEFAULT_DIRECT_INTENSITY_FOR_FILAMENT
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        + + + +
          +
        • +

          DEFAULT_REFLECTION_SCALE_FOR_FILAMENT

          +
          public static final float DEFAULT_REFLECTION_SCALE_FOR_FILAMENT
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + + + + + +
          +
        • +

          getAmbientShScaleForFilament

          +
          public float getAmbientShScaleForFilament()
          +
          A scale factor bridging Environmental Hdr's ambient sh to Filament's ambient sh values. + +

          This number has been hand tuned by comparing lighting to reference app + /third_party/arcore/unity/apps/whitebox

          +
        • +
        + + + +
          +
        • +

          getDirectIntensityForFilament

          +
          public float getDirectIntensityForFilament()
          +
          Environmental Hdr provides a relative intensity, a number above zero and often below 8.
          +
        • +
        + + + +
          +
        • +

          getReflectionScaleForFilament

          +
          public float getReflectionScaleForFilament()
          +
          A scale factor bridging Environmental Hdr's relative intensity to a lux based intensity for + reflections only.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/LoadHelper.html b/docs/javadoc/com/google/ar/sceneform/utilities/LoadHelper.html new file mode 100644 index 00000000..24eaa4fb --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/LoadHelper.html @@ -0,0 +1,583 @@ + + + + + +LoadHelper (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class LoadHelper

    +
    +
    + +
    +
      +
    • +
      +
      public class LoadHelper
      +extends Object
      +
      Convenience class to parse Uri's.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          INVALID_RESOURCE_IDENTIFIER

          +
          public static final int INVALID_RESOURCE_IDENTIFIER
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          isAndroidResource

          +
          public static Boolean isAndroidResource​(Uri sourceUri)
          +
          True if the Uri is an Android resource, false if any other uri.
          +
        • +
        + + + +
          +
        • +

          isFileAsset

          +
          public static Boolean isFileAsset​(Uri sourceUri)
          +
          True if the Uri is a filename, false if it is a remote location.
          +
        • +
        + + + +
          +
        • +

          resolveUri

          +
          public static Uri resolveUri​(Uri unresolvedUri,
          +                             @Nullable
          +                             Uri parentUri)
          +
          Normalizes Uri's based on a reference Uri. This function is for convenience only since the Uri + class can do this as well.
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          fromUri

          +
          public static Callable<InputStream> fromUri​(Context context,
          +                                            Uri sourceUri,
          +                                            @Nullable
          +                                            Map<String,​String> requestProperty)
          +
          Creates different InputStreams depending on the contents of the Uri.
          +
          +
          Parameters:
          +
          requestProperty - Adds connection properties to created input stream.
          +
          Throws:
          +
          IllegalArgumentException - for Uri's that can't be loaded.
          +
          +
        • +
        + + + + + + + +
          +
        • +

          rawResourceNameToIdentifier

          +
          public static int rawResourceNameToIdentifier​(Context context,
          +                                              String name)
          +
          Return the integer resource id for the specified resource name.
          +
        • +
        + + + +
          +
        • +

          drawableResourceNameToIdentifier

          +
          public static int drawableResourceNameToIdentifier​(Context context,
          +                                                   String name)
          +
          Return the integer resource id for the specified resource name.
          +
        • +
        + + + +
          +
        • +

          enableCaching

          +
          public static void enableCaching​(Context context)
          +
          Enables HTTP caching with default settings, remote Uri requests responses are cached to + cacheBaseDir/cacheFolderName
          +
        • +
        + + + +
          +
        • +

          enableCaching

          +
          public static void enableCaching​(long cacheByteSize,
          +                                 File cacheBaseDir,
          +                                 String cacheFolderName)
          +
          Enables HTTP caching, remote Uri requests responses are cached to cacheBaseDir/cacheFolderName
          +
        • +
        + + + +
          +
        • +

          flushHttpCache

          +
          public static void flushHttpCache()
          +
        • +
        + + + +
          +
        • +

          isDataUri

          +
          public static boolean isDataUri​(Uri uri)
          +
        • +
        + + + +
          +
        • +

          isGltfDataUri

          +
          public static boolean isGltfDataUri​(Uri uri)
          +
        • +
        + + + +
          +
        • +

          getLastPathSegment

          +
          public static String getLastPathSegment​(Uri uri)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/MovingAverage.html b/docs/javadoc/com/google/ar/sceneform/utilities/MovingAverage.html new file mode 100644 index 00000000..ebbe1138 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/MovingAverage.html @@ -0,0 +1,411 @@ + + + + + +MovingAverage (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MovingAverage

    +
    +
    + +
    +
      +
    • +
      +
      public class MovingAverage
      +extends Object
      +
      Calculates an exponentially weighted moving average for a series of data.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + +
        Fields 
        Modifier and TypeFieldDescription
        static doubleDEFAULT_WEIGHT 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        MovingAverage​(double initialSample) +
        Construct an object to track the exponentially weighted moving average for a series of data.
        +
        MovingAverage​(double initialSample, + double weight) +
        Construct an object to track the exponentially weighted moving average for a series of data.
        +
        +
      • +
      +
      + +
      + +
      +
    • +
    +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MovingAverage

          +
          public MovingAverage​(double initialSample)
          +
          Construct an object to track the exponentially weighted moving average for a series of data. + The weight is set to a default of 0.9, which is good for data with lots of samples when the + average should be resistant to spikes (i.e. frame rate). + +

          The weight is a ratio between 0 and 1 that represents how much of the previous average is + kept compared to the new sample. With a weight of 0.9, 90% of the previous average is kept and + 10% of the new sample is added to the average.

          +
          +
          Parameters:
          +
          initialSample - the first sample in the average
          +
          +
        • +
        + + + +
          +
        • +

          MovingAverage

          +
          public MovingAverage​(double initialSample,
          +                     double weight)
          +
          Construct an object to track the exponentially weighted moving average for a series of data. + +

          The weight is a ratio between 0 and 1 that represents how much of the previous average is + kept compared to the new sample. With a weight of 0.9, 90% of the previous average is kept and + 10% of the new sample is added to the average.

          +
          +
          Parameters:
          +
          initialSample - the first sample in the average
          +
          weight - the weight to used when adding samples
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          addSample

          +
          public void addSample​(double sample)
          +
          Add a sample and calculate a new average.
          +
        • +
        + + + +
          +
        • +

          getAverage

          +
          public double getAverage()
          +
          Returns the current average for all samples.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/MovingAverageMillisecondsTracker.html b/docs/javadoc/com/google/ar/sceneform/utilities/MovingAverageMillisecondsTracker.html new file mode 100644 index 00000000..af35bca4 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/MovingAverageMillisecondsTracker.html @@ -0,0 +1,383 @@ + + + + + +MovingAverageMillisecondsTracker (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class MovingAverageMillisecondsTracker

    +
    +
    + +
    +
      +
    • +
      +
      public class MovingAverageMillisecondsTracker
      +extends Object
      +
      Used to track a MovingAverage that represents the number of milliseconds that elapse + within the execution of a block of code.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MovingAverageMillisecondsTracker

          +
          public MovingAverageMillisecondsTracker()
          +
        • +
        + + + +
          +
        • +

          MovingAverageMillisecondsTracker

          +
          public MovingAverageMillisecondsTracker​(double weight)
          +
        • +
        + + + +
          +
        • +

          MovingAverageMillisecondsTracker

          +
          public MovingAverageMillisecondsTracker​(com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker.Clock clock)
          +
        • +
        + + + +
          +
        • +

          MovingAverageMillisecondsTracker

          +
          public MovingAverageMillisecondsTracker​(com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker.Clock clock,
          +                                        double weight)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          beginSample

          +
          public void beginSample()
          +
          Call at the point in execution when the tracker should start measuring elapsed milliseconds.
          +
        • +
        + + + +
          +
        • +

          endSample

          +
          public void endSample()
          +
          Call at the point in execution when the tracker should stop measuring elapsed milliseconds and + post a new sample.
          +
        • +
        + + + +
          +
        • +

          getAverage

          +
          public double getAverage()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/Preconditions.html b/docs/javadoc/com/google/ar/sceneform/utilities/Preconditions.html new file mode 100644 index 00000000..86d2515e --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/Preconditions.html @@ -0,0 +1,464 @@ + + + + + +Preconditions (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Preconditions

    +
    +
    + +
    +
      +
    • +
      +
      public class Preconditions
      +extends Object
      +
      Static convenience methods that help a method or constructor check whether it was invoked + correctly.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Summary

        + + + + + + + + + + +
        Constructors 
        ConstructorDescription
        Preconditions() 
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Concrete Methods 
        Modifier and TypeMethodDescription
        static voidcheckElementIndex​(int index, + int size) +
        Ensures that index specifies a valid element in an array, list or string of size + size.
        +
        static voidcheckElementIndex​(int index, + int size, + String desc) +
        Ensures that index specifies a valid element in an array, list or string of size + size.
        +
        static <T> TcheckNotNull​(T reference) +
        Ensures that an object reference passed as a parameter to the calling method is not null.
        +
        static <T> TcheckNotNull​(T reference, + Object errorMessage) +
        Ensures that an object reference passed as a parameter to the calling method is not null.
        +
        static voidcheckState​(boolean expression) +
        Ensures the truth of an expression involving the state of the calling instance, but not + involving any parameters to the calling method.
        +
        static voidcheckState​(boolean expression, + Object errorMessage) +
        Ensures the truth of an expression involving the state of the calling instance, but not + involving any parameters to the calling method.
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Preconditions

          +
          public Preconditions()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + + + +
          +
        • +

          checkNotNull

          +
          public static <T> T checkNotNull​(@Nullable
          +                                 T reference)
          +
          Ensures that an object reference passed as a parameter to the calling method is not null.
          +
          +
          Parameters:
          +
          reference - an object reference
          +
          Throws:
          +
          NullPointerException - if reference is null
          +
          +
        • +
        + + + + + +
          +
        • +

          checkNotNull

          +
          public static <T> T checkNotNull​(@Nullable
          +                                 T reference,
          +                                 Object errorMessage)
          +
          Ensures that an object reference passed as a parameter to the calling method is not null.
          +
          +
          Parameters:
          +
          reference - an object reference
          +
          errorMessage - the exception message to use if the check fails; will be converted to a + string using String.valueOf(Object)
          +
          Throws:
          +
          NullPointerException - if reference is null
          +
          +
        • +
        + + + +
          +
        • +

          checkElementIndex

          +
          public static void checkElementIndex​(int index,
          +                                     int size)
          +
          Ensures that index specifies a valid element in an array, list or string of size + size. An element index may range from zero, inclusive, to size, exclusive.
          +
          +
          Parameters:
          +
          index - a user-supplied index identifying an element of an array, list or string
          +
          size - the size of that array, list or string
          +
          Throws:
          +
          IndexOutOfBoundsException - if index is negative or is not less than size
          +
          IllegalArgumentException - if size is negative
          +
          +
        • +
        + + + +
          +
        • +

          checkElementIndex

          +
          public static void checkElementIndex​(int index,
          +                                     int size,
          +                                     String desc)
          +
          Ensures that index specifies a valid element in an array, list or string of size + size. An element index may range from zero, inclusive, to size, exclusive.
          +
          +
          Parameters:
          +
          index - a user-supplied index identifying an element of an array, list or string
          +
          size - the size of that array, list or string
          +
          desc - the text to use to describe this index in an error message
          +
          Throws:
          +
          IndexOutOfBoundsException - if index is negative or is not less than size
          +
          IllegalArgumentException - if size is negative
          +
          +
        • +
        + + + +
          +
        • +

          checkState

          +
          public static void checkState​(boolean expression)
          +
          Ensures the truth of an expression involving the state of the calling instance, but not + involving any parameters to the calling method.
          +
          +
          Parameters:
          +
          expression - a boolean expression
          +
          Throws:
          +
          IllegalStateException - if expression is false
          +
          +
        • +
        + + + +
          +
        • +

          checkState

          +
          public static void checkState​(boolean expression,
          +                              @Nullable
          +                              Object errorMessage)
          +
          Ensures the truth of an expression involving the state of the calling instance, but not + involving any parameters to the calling method.
          +
          +
          Parameters:
          +
          expression - a boolean expression
          +
          errorMessage - the exception message to use if the check fails; will be converted to a + string using String.valueOf(Object)
          +
          Throws:
          +
          IllegalStateException - if expression is false
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/SceneformBufferUtils.html b/docs/javadoc/com/google/ar/sceneform/utilities/SceneformBufferUtils.html new file mode 100644 index 00000000..0b3c99d7 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/SceneformBufferUtils.html @@ -0,0 +1,374 @@ + + + + + +SceneformBufferUtils (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SceneformBufferUtils

    +
    +
    + +
    +
      +
    • +
      +
      public final class SceneformBufferUtils
      +extends Object
      +
      A simple class to read InputStreams Once the data is read it can be accessed as a ByteBuffer.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/TimeAccumulator.html b/docs/javadoc/com/google/ar/sceneform/utilities/TimeAccumulator.html new file mode 100644 index 00000000..a43de979 --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/TimeAccumulator.html @@ -0,0 +1,333 @@ + + + + + +TimeAccumulator (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class TimeAccumulator

    +
    +
    + +
    +
      +
    • +
      +
      public class TimeAccumulator
      +extends Object
      +
      Sums time samples together. Used for tracking the time elapsed of a set of code blocks.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TimeAccumulator

          +
          public TimeAccumulator()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          beginSample

          +
          public void beginSample()
          +
        • +
        + + + +
          +
        • +

          endSample

          +
          public void endSample()
          +
        • +
        + + + +
          +
        • +

          getElapsedTimeMs

          +
          public long getElapsedTimeMs()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/package-summary.html b/docs/javadoc/com/google/ar/sceneform/utilities/package-summary.html new file mode 100644 index 00000000..a0f3db9b --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/package-summary.html @@ -0,0 +1,232 @@ + + + + + +com.google.ar.sceneform.utilities (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.ar.sceneform.utilities

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/utilities/package-tree.html b/docs/javadoc/com/google/ar/sceneform/utilities/package-tree.html new file mode 100644 index 00000000..a8fae7ae --- /dev/null +++ b/docs/javadoc/com/google/ar/sceneform/utilities/package-tree.html @@ -0,0 +1,172 @@ + + + + + +com.google.ar.sceneform.utilities Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.ar.sceneform.utilities

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/com/google/ar/sceneform/ux/ArFragment.html b/docs/javadoc/com/google/ar/sceneform/ux/ArFragment.html deleted file mode 100644 index ad436f82..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/ArFragment.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - -ArFragment (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class ArFragment

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnSessionConfigurationListener.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnSessionConfigurationListener.html deleted file mode 100644 index 1783b9cd..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.OnSessionConfigurationListener.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - -BaseArFragment.OnSessionConfigurationListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface BaseArFragment.OnSessionConfigurationListener

    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.html deleted file mode 100644 index a4fb79bc..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseArFragment.html +++ /dev/null @@ -1,777 +0,0 @@ - - - - - -BaseArFragment (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class BaseArFragment

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseGesture.OnGestureEventListener.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseGesture.OnGestureEventListener.html deleted file mode 100644 index 877f4cca..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseGesture.OnGestureEventListener.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - - -BaseGesture.OnGestureEventListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface BaseGesture.OnGestureEventListener<T extends BaseGesture<T>>

    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseGesture.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseGesture.html deleted file mode 100644 index 980bcd54..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseGesture.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - -BaseGesture (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class BaseGesture<T extends BaseGesture<T>>

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseGestureRecognizer.OnGestureStartedListener.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseGestureRecognizer.OnGestureStartedListener.html deleted file mode 100644 index c66f322c..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseGestureRecognizer.OnGestureStartedListener.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - -BaseGestureRecognizer.OnGestureStartedListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface BaseGestureRecognizer.OnGestureStartedListener<T extends BaseGesture<T>>

    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseGestureRecognizer.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseGestureRecognizer.html deleted file mode 100644 index 400572ff..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseGestureRecognizer.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - -BaseGestureRecognizer (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class BaseGestureRecognizer<T extends BaseGesture<T>>

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseTransformableNode.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseTransformableNode.html deleted file mode 100644 index cf148339..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseTransformableNode.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - -BaseTransformableNode (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class BaseTransformableNode

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/BaseTransformationController.html b/docs/javadoc/com/google/ar/sceneform/ux/BaseTransformationController.html deleted file mode 100644 index 2f2599cf..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/BaseTransformationController.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - -BaseTransformationController (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class BaseTransformationController<T extends BaseGesture<T>>

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/DragGesture.OnGestureEventListener.html b/docs/javadoc/com/google/ar/sceneform/ux/DragGesture.OnGestureEventListener.html deleted file mode 100644 index 576ec1cc..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/DragGesture.OnGestureEventListener.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -DragGesture.OnGestureEventListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface DragGesture.OnGestureEventListener

    -
    -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/DragGesture.html b/docs/javadoc/com/google/ar/sceneform/ux/DragGesture.html deleted file mode 100644 index d0924a8c..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/DragGesture.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - -DragGesture (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class DragGesture

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/DragGestureRecognizer.OnGestureStartedListener.html b/docs/javadoc/com/google/ar/sceneform/ux/DragGestureRecognizer.OnGestureStartedListener.html deleted file mode 100644 index f2bb87e2..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/DragGestureRecognizer.OnGestureStartedListener.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -DragGestureRecognizer.OnGestureStartedListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface DragGestureRecognizer.OnGestureStartedListener

    -
    -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/DragGestureRecognizer.html b/docs/javadoc/com/google/ar/sceneform/ux/DragGestureRecognizer.html deleted file mode 100644 index f086c30d..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/DragGestureRecognizer.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - -DragGestureRecognizer (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class DragGestureRecognizer

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/FootprintSelectionVisualizer.html b/docs/javadoc/com/google/ar/sceneform/ux/FootprintSelectionVisualizer.html deleted file mode 100644 index 683bf6c4..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/FootprintSelectionVisualizer.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - -FootprintSelectionVisualizer (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class FootprintSelectionVisualizer

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/GesturePointersUtility.html b/docs/javadoc/com/google/ar/sceneform/ux/GesturePointersUtility.html deleted file mode 100644 index ae57d320..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/GesturePointersUtility.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - -GesturePointersUtility (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class GesturePointersUtility

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/HandMotionAnimation.html b/docs/javadoc/com/google/ar/sceneform/ux/HandMotionAnimation.html deleted file mode 100644 index 13d23286..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/HandMotionAnimation.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - -HandMotionAnimation (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class HandMotionAnimation

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/HandMotionView.html b/docs/javadoc/com/google/ar/sceneform/ux/HandMotionView.html deleted file mode 100644 index d210f1e2..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/HandMotionView.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - -HandMotionView (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class HandMotionView

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/PinchGesture.OnGestureEventListener.html b/docs/javadoc/com/google/ar/sceneform/ux/PinchGesture.OnGestureEventListener.html deleted file mode 100644 index 1050740e..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/PinchGesture.OnGestureEventListener.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -PinchGesture.OnGestureEventListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface PinchGesture.OnGestureEventListener

    -
    -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/PinchGesture.html b/docs/javadoc/com/google/ar/sceneform/ux/PinchGesture.html deleted file mode 100644 index d8839604..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/PinchGesture.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - -PinchGesture (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class PinchGesture

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/PinchGestureRecognizer.OnGestureStartedListener.html b/docs/javadoc/com/google/ar/sceneform/ux/PinchGestureRecognizer.OnGestureStartedListener.html deleted file mode 100644 index 6d19d818..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/PinchGestureRecognizer.OnGestureStartedListener.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -PinchGestureRecognizer.OnGestureStartedListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface PinchGestureRecognizer.OnGestureStartedListener

    -
    -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/PinchGestureRecognizer.html b/docs/javadoc/com/google/ar/sceneform/ux/PinchGestureRecognizer.html deleted file mode 100644 index 26d65f7d..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/PinchGestureRecognizer.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - -PinchGestureRecognizer (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class PinchGestureRecognizer

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/PlaneDiscoveryController.html b/docs/javadoc/com/google/ar/sceneform/ux/PlaneDiscoveryController.html deleted file mode 100644 index b27fc260..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/PlaneDiscoveryController.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - -PlaneDiscoveryController (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class PlaneDiscoveryController

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/RotationController.html b/docs/javadoc/com/google/ar/sceneform/ux/RotationController.html deleted file mode 100644 index 4a590795..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/RotationController.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - -RotationController (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class RotationController

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/ScaleController.html b/docs/javadoc/com/google/ar/sceneform/ux/ScaleController.html deleted file mode 100644 index 319473d8..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/ScaleController.html +++ /dev/null @@ -1,554 +0,0 @@ - - - - - -ScaleController (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class ScaleController

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/SelectionVisualizer.html b/docs/javadoc/com/google/ar/sceneform/ux/SelectionVisualizer.html deleted file mode 100644 index 869b32d1..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/SelectionVisualizer.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - -SelectionVisualizer (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface SelectionVisualizer

    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TransformableNode.html b/docs/javadoc/com/google/ar/sceneform/ux/TransformableNode.html deleted file mode 100644 index d2870f4c..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TransformableNode.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - -TransformableNode (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class TransformableNode

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TransformationSystem.html b/docs/javadoc/com/google/ar/sceneform/ux/TransformationSystem.html deleted file mode 100644 index 1f3ceaf1..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TransformationSystem.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - -TransformationSystem (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class TransformationSystem

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TranslationController.html b/docs/javadoc/com/google/ar/sceneform/ux/TranslationController.html deleted file mode 100644 index 40998bd5..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TranslationController.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - -TranslationController (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class TranslationController

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TwistGesture.OnGestureEventListener.html b/docs/javadoc/com/google/ar/sceneform/ux/TwistGesture.OnGestureEventListener.html deleted file mode 100644 index d7ae66ce..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TwistGesture.OnGestureEventListener.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -TwistGesture.OnGestureEventListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface TwistGesture.OnGestureEventListener

    -
    -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TwistGesture.html b/docs/javadoc/com/google/ar/sceneform/ux/TwistGesture.html deleted file mode 100644 index 28a3d6b5..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TwistGesture.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - -TwistGesture (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class TwistGesture

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TwistGestureRecognizer.OnGestureStartedListener.html b/docs/javadoc/com/google/ar/sceneform/ux/TwistGestureRecognizer.OnGestureStartedListener.html deleted file mode 100644 index f34374b6..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TwistGestureRecognizer.OnGestureStartedListener.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - -TwistGestureRecognizer.OnGestureStartedListener (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Interface TwistGestureRecognizer.OnGestureStartedListener

    -
    -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/TwistGestureRecognizer.html b/docs/javadoc/com/google/ar/sceneform/ux/TwistGestureRecognizer.html deleted file mode 100644 index 573ff5d9..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/TwistGestureRecognizer.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - -TwistGestureRecognizer (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - - -
    -
    com.google.ar.sceneform.ux
    -

    Class TwistGestureRecognizer

    -
    -
    - -
    - -
    -
    - -
    -
    - -
    -
    - - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/package-frame.html b/docs/javadoc/com/google/ar/sceneform/ux/package-frame.html deleted file mode 100644 index 84aad771..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/package-frame.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -com.google.ar.sceneform.ux (ux API) - - - - -

    com.google.ar.sceneform.ux

    -
    -

    Interfaces

    - -

    Classes

    - -
    - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/package-summary.html b/docs/javadoc/com/google/ar/sceneform/ux/package-summary.html deleted file mode 100644 index 1d69456b..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/package-summary.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - -com.google.ar.sceneform.ux (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - -
    -

    Package com.google.ar.sceneform.ux

    -
    -
    - -
    - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/ar/sceneform/ux/package-tree.html b/docs/javadoc/com/google/ar/sceneform/ux/package-tree.html deleted file mode 100644 index e90f8d2b..00000000 --- a/docs/javadoc/com/google/ar/sceneform/ux/package-tree.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - -com.google.ar.sceneform.ux Class Hierarchy (ux API) - - - - - - - -
    - - -
    Skip navigation links
    - - - - -
    - - -
    -

    Hierarchy For Package com.google.ar.sceneform.ux

    -
    -
    -

    Class Hierarchy

    - -

    Interface Hierarchy

    - -
    - -
    - - -
    Skip navigation links
    - - - - -
    - - - - diff --git a/docs/javadoc/com/google/flatbuffers/Constants.html b/docs/javadoc/com/google/flatbuffers/Constants.html new file mode 100644 index 00000000..baef8f77 --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/Constants.html @@ -0,0 +1,316 @@ + + + + + +Constants (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Constants

    +
    +
    + +
    +
      +
    • +
      +
      public class Constants
      +extends Object
      +
      Class that holds shared constants
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          SIZE_PREFIX_LENGTH

          +
          public static final int SIZE_PREFIX_LENGTH
          +
          The number of bytes in a size prefix.
          +
          +
          See Also:
          +
          Constant Field Values
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Constants

          +
          public Constants()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.ByteBufferFactory.html b/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.ByteBufferFactory.html new file mode 100644 index 00000000..e19c633a --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.ByteBufferFactory.html @@ -0,0 +1,355 @@ + + + + + +FlatBufferBuilder.ByteBufferFactory (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class FlatBufferBuilder.ByteBufferFactory

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      FlatBufferBuilder.HeapByteBufferFactory
      +
      +
      +
      Enclosing class:
      +
      FlatBufferBuilder
      +
      +
      +
      public abstract static class FlatBufferBuilder.ByteBufferFactory
      +extends Object
      +
      An interface that provides a user of the FlatBufferBuilder class the ability to specify + the method in which the internal buffer gets allocated. This allows for alternatives + to the default behavior, which is to allocate memory for a new byte-array + backed `ByteBuffer` array inside the JVM. + + The FlatBufferBuilder class contains the HeapByteBufferFactory class to + preserve the default behavior in the event that the user does not provide + their own implementation of this interface.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ByteBufferFactory

          +
          public ByteBufferFactory()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          newByteBuffer

          +
          public abstract ByteBuffer newByteBuffer​(int capacity)
          +
          Create a `ByteBuffer` with a given capacity. + The returned ByteBuf must have a ByteOrder.LITTLE_ENDIAN ByteOrder.
          +
          +
          Parameters:
          +
          capacity - The size of the `ByteBuffer` to allocate.
          +
          Returns:
          +
          Returns the new `ByteBuffer` that was allocated.
          +
          +
        • +
        + + + +
          +
        • +

          releaseByteBuffer

          +
          public void releaseByteBuffer​(ByteBuffer bb)
          +
          Release a ByteBuffer. Current FlatBufferBuilder + released any reference to it, so it is safe to dispose the buffer + or return it to a pool. + It is not guaranteed that the buffer has been created + with newByteBuffer(int).
          +
          +
          Parameters:
          +
          bb - the buffer to release
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.HeapByteBufferFactory.html b/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.HeapByteBufferFactory.html new file mode 100644 index 00000000..93739692 --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.HeapByteBufferFactory.html @@ -0,0 +1,379 @@ + + + + + +FlatBufferBuilder.HeapByteBufferFactory (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class FlatBufferBuilder.HeapByteBufferFactory

    +
    +
    + +
    +
      +
    • +
      +
      Enclosing class:
      +
      FlatBufferBuilder
      +
      +
      +
      public static final class FlatBufferBuilder.HeapByteBufferFactory
      +extends FlatBufferBuilder.ByteBufferFactory
      +
      An implementation of the ByteBufferFactory interface that is used when + one is not provided by the user. + + Allocate memory for a new byte-array backed `ByteBuffer` array inside the JVM.
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.html b/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.html new file mode 100644 index 00000000..03cecc59 --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/FlatBufferBuilder.html @@ -0,0 +1,1922 @@ + + + + + +FlatBufferBuilder (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class FlatBufferBuilder

    +
    +
    + +
    +
      +
    • +
      +
      public class FlatBufferBuilder
      +extends Object
      +
      Class that helps you build a FlatBuffer. See the section + "Use in Java/C#" in the main FlatBuffers documentation.
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Nested Class Summary

        + + + + + + + + + + + + + + + + + +
        Nested Classes 
        Modifier and TypeClassDescription
        static class FlatBufferBuilder.ByteBufferFactory +
        An interface that provides a user of the FlatBufferBuilder class the ability to specify + the method in which the internal buffer gets allocated.
        +
        static class FlatBufferBuilder.HeapByteBufferFactory +
        An implementation of the ByteBufferFactory interface that is used when + one is not provided by the user.
        +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethodDescription
        voidaddBoolean​(boolean x) +
        Add a `boolean` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddBoolean​(int o, + boolean x, + boolean d) +
        Add a `boolean` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddByte​(byte x) +
        Add a `byte` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddByte​(int o, + byte x, + int d) +
        Add a `byte` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddDouble​(double x) +
        Add a `double` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddDouble​(int o, + double x, + double d) +
        Add a `double` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddFloat​(float x) +
        Add a `float` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddFloat​(int o, + float x, + double d) +
        Add a `float` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddInt​(int x) +
        Add an `int` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddInt​(int o, + int x, + int d) +
        Add an `int` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddLong​(int o, + long x, + long d) +
        Add a `long` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddLong​(long x) +
        Add a `long` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddOffset​(int off) +
        Adds on offset, relative to where it will be written.
        +
        voidaddOffset​(int o, + int x, + int d) +
        Add an `offset` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddShort​(int o, + short x, + int d) +
        Add a `short` to a table at `o` into its vtable, with value `x` and default `d`.
        +
        voidaddShort​(short x) +
        Add a `short` to the buffer, properly aligned, and grows the buffer (if necessary).
        +
        voidaddStruct​(int voffset, + int x, + int d) +
        Add a struct to the table.
        +
        voidclear() +
        Reset the FlatBufferBuilder by purging all data that it holds.
        +
        intcreateByteVector​(byte[] arr) +
        Create a byte array in the buffer.
        +
        intcreateByteVector​(byte[] arr, + int offset, + int length) +
        Create a byte array in the buffer.
        +
        intcreateByteVector​(ByteBuffer byteBuffer) +
        Create a byte array in the buffer.
        +
        <T extends Table>
        int
        createSortedVectorOfTables​(T obj, + int[] offsets) +
        Create a vector of sorted by the key tables.
        +
        intcreateString​(CharSequence s) +
        Encode the string `s` in the buffer using UTF-8.
        +
        intcreateString​(ByteBuffer s) +
        Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer.
        +
        ByteBuffercreateUnintializedVector​(int elem_size, + int num_elems, + int alignment) +
        Create a new array/vector and return a ByteBuffer to be filled later.
        +
        intcreateVectorOfTables​(int[] offsets) +
        Create a vector of tables.
        +
        ByteBufferdataBuffer() +
        Get the ByteBuffer representing the FlatBuffer.
        +
        intendObject() +
        Finish off writing the object that is under construction.
        +
        intendVector() +
        Finish off the creation of an array and all its elements.
        +
        voidfinish​(int root_table) +
        Finalize a buffer, pointing to the given `root_table`.
        +
        protected voidfinish​(int root_table, + boolean size_prefix) +
        Finalize a buffer, pointing to the given `root_table`.
        +
        voidfinish​(int root_table, + String file_identifier) +
        Finalize a buffer, pointing to the given `root_table`.
        +
        protected voidfinish​(int root_table, + String file_identifier, + boolean size_prefix) +
        Finalize a buffer, pointing to the given `root_table`.
        +
        voidfinished() +
        Should not be accessing the final buffer before it is finished.
        +
        voidfinishSizePrefixed​(int root_table) +
        Finalize a buffer, pointing to the given `root_table`, with the size prefixed.
        +
        voidfinishSizePrefixed​(int root_table, + String file_identifier) +
        Finalize a buffer, pointing to the given `root_table`, with the size prefixed.
        +
        FlatBufferBuilderforceDefaults​(boolean forceDefaults) +
        In order to save space, fields that are set to their default value + don't get serialized into the buffer.
        +
        FlatBufferBuilderinit​(ByteBuffer existing_bb, + FlatBufferBuilder.ByteBufferFactory bb_factory) +
        Alternative initializer that allows reusing this object on an existing + `ByteBuffer`.
        +
        static booleanisFieldPresent​(Table table, + int offset) +
        Helper function to test if a field is present in the table
        +
        voidNested​(int obj) +
        Structures are always stored inline, they need to be created right + where they're used.
        +
        voidnotNested() +
        Should not be creating any other object, string or vector + while an object is being constructed.
        +
        intoffset() +
        Offset relative to the end of the buffer.
        +
        voidpad​(int byte_size) +
        Add zero valued bytes to prepare a new entry to be added.
        +
        voidprep​(int size, + int additional_bytes) +
        Prepare to write an element of `size` after `additional_bytes` + have been written, e.g. if you write a string, you need to align such + the int length field is aligned to Constants.SIZEOF_INT, and + the string data follows it directly.
        +
        voidputBoolean​(boolean x) +
        Add a `boolean` to the buffer, backwards from the current location.
        +
        voidputByte​(byte x) +
        Add a `byte` to the buffer, backwards from the current location.
        +
        voidputDouble​(double x) +
        Add a `double` to the buffer, backwards from the current location.
        +
        voidputFloat​(float x) +
        Add a `float` to the buffer, backwards from the current location.
        +
        voidputInt​(int x) +
        Add an `int` to the buffer, backwards from the current location.
        +
        voidputLong​(long x) +
        Add a `long` to the buffer, backwards from the current location.
        +
        voidputShort​(short x) +
        Add a `short` to the buffer, backwards from the current location.
        +
        voidrequired​(int table, + int field) +
        Checks that a required field has been set in a given table that has + just been constructed.
        +
        byte[]sizedByteArray() +
        A utility function to copy and return the ByteBuffer data as a `byte[]`.
        +
        byte[]sizedByteArray​(int start, + int length) +
        A utility function to copy and return the ByteBuffer data from `start` to + `start` + `length` as a `byte[]`.
        +
        InputStreamsizedInputStream() +
        A utility function to return an InputStream to the ByteBuffer data
        +
        voidslot​(int voffset) +
        Set the current vtable at `voffset` to the current location in the buffer.
        +
        voidstartObject​(int numfields) +
        Start encoding a new object in the buffer.
        +
        voidstartVector​(int elem_size, + int num_elems, + int alignment) +
        Start a new array/vector of objects.
        +
        + +
      • +
      +
      +
    • +
    +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          FlatBufferBuilder

          +
          public FlatBufferBuilder​(int initial_size,
          +                         FlatBufferBuilder.ByteBufferFactory bb_factory)
          +
          Start with a buffer of size `initial_size`, then grow as required.
          +
          +
          Parameters:
          +
          initial_size - The initial size of the internal buffer to use.
          +
          bb_factory - The factory to be used for allocating the internal buffer
          +
          +
        • +
        + + + +
          +
        • +

          FlatBufferBuilder

          +
          public FlatBufferBuilder​(int initial_size,
          +                         FlatBufferBuilder.ByteBufferFactory bb_factory,
          +                         ByteBuffer existing_bb,
          +                         Utf8 utf8)
          +
          Start with a buffer of size `initial_size`, then grow as required.
          +
          +
          Parameters:
          +
          initial_size - The initial size of the internal buffer to use.
          +
          bb_factory - The factory to be used for allocating the internal buffer
          +
          existing_bb - The byte buffer to reuse.
          +
          utf8 - The Utf8 codec
          +
          +
        • +
        + + + +
          +
        • +

          FlatBufferBuilder

          +
          public FlatBufferBuilder​(int initial_size)
          +
          Start with a buffer of size `initial_size`, then grow as required.
          +
          +
          Parameters:
          +
          initial_size - The initial size of the internal buffer to use.
          +
          +
        • +
        + + + +
          +
        • +

          FlatBufferBuilder

          +
          public FlatBufferBuilder()
          +
          Start with a buffer of 1KiB, then grow as required.
          +
        • +
        + + + +
          +
        • +

          FlatBufferBuilder

          +
          public FlatBufferBuilder​(ByteBuffer existing_bb,
          +                         FlatBufferBuilder.ByteBufferFactory bb_factory)
          +
          Alternative constructor allowing reuse of ByteBuffers. The builder + can still grow the buffer as necessary. User classes should make sure + to call dataBuffer() to obtain the resulting encoded message.
          +
          +
          Parameters:
          +
          existing_bb - The byte buffer to reuse.
          +
          bb_factory - The factory to be used for allocating a new internal buffer if + the existing buffer needs to grow
          +
          +
        • +
        + + + +
          +
        • +

          FlatBufferBuilder

          +
          public FlatBufferBuilder​(ByteBuffer existing_bb)
          +
          Alternative constructor allowing reuse of ByteBuffers. The builder + can still grow the buffer as necessary. User classes should make sure + to call dataBuffer() to obtain the resulting encoded message.
          +
          +
          Parameters:
          +
          existing_bb - The byte buffer to reuse.
          +
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          init

          +
          public FlatBufferBuilder init​(ByteBuffer existing_bb,
          +                              FlatBufferBuilder.ByteBufferFactory bb_factory)
          +
          Alternative initializer that allows reusing this object on an existing + `ByteBuffer`. This method resets the builder's internal state, but keeps + objects that have been allocated for temporary storage.
          +
          +
          Parameters:
          +
          existing_bb - The byte buffer to reuse.
          +
          bb_factory - The factory to be used for allocating a new internal buffer if + the existing buffer needs to grow
          +
          Returns:
          +
          Returns `this`.
          +
          +
        • +
        + + + +
          +
        • +

          isFieldPresent

          +
          public static boolean isFieldPresent​(Table table,
          +                                     int offset)
          +
          Helper function to test if a field is present in the table
          +
          +
          Parameters:
          +
          table - Flatbuffer table
          +
          offset - virtual table offset
          +
          Returns:
          +
          true if the filed is present
          +
          +
        • +
        + + + +
          +
        • +

          clear

          +
          public void clear()
          +
          Reset the FlatBufferBuilder by purging all data that it holds.
          +
        • +
        + + + +
          +
        • +

          offset

          +
          public int offset()
          +
          Offset relative to the end of the buffer.
          +
          +
          Returns:
          +
          Offset relative to the end of the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          pad

          +
          public void pad​(int byte_size)
          +
          Add zero valued bytes to prepare a new entry to be added.
          +
          +
          Parameters:
          +
          byte_size - Number of bytes to add.
          +
          +
        • +
        + + + +
          +
        • +

          prep

          +
          public void prep​(int size,
          +                 int additional_bytes)
          +
          Prepare to write an element of `size` after `additional_bytes` + have been written, e.g. if you write a string, you need to align such + the int length field is aligned to Constants.SIZEOF_INT, and + the string data follows it directly. If all you need to do is alignment, `additional_bytes` + will be 0.
          +
          +
          Parameters:
          +
          size - This is the of the new element to write.
          +
          additional_bytes - The padding size.
          +
          +
        • +
        + + + +
          +
        • +

          putBoolean

          +
          public void putBoolean​(boolean x)
          +
          Add a `boolean` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - A `boolean` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          putByte

          +
          public void putByte​(byte x)
          +
          Add a `byte` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - A `byte` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          putShort

          +
          public void putShort​(short x)
          +
          Add a `short` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - A `short` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          putInt

          +
          public void putInt​(int x)
          +
          Add an `int` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - An `int` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          putLong

          +
          public void putLong​(long x)
          +
          Add a `long` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - A `long` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          putFloat

          +
          public void putFloat​(float x)
          +
          Add a `float` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - A `float` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          putDouble

          +
          public void putDouble​(double x)
          +
          Add a `double` to the buffer, backwards from the current location. Doesn't align nor + check for space.
          +
          +
          Parameters:
          +
          x - A `double` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addBoolean

          +
          public void addBoolean​(boolean x)
          +
          Add a `boolean` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - A `boolean` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addByte

          +
          public void addByte​(byte x)
          +
          Add a `byte` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - A `byte` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addShort

          +
          public void addShort​(short x)
          +
          Add a `short` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - A `short` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addInt

          +
          public void addInt​(int x)
          +
          Add an `int` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - An `int` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addLong

          +
          public void addLong​(long x)
          +
          Add a `long` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - A `long` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addFloat

          +
          public void addFloat​(float x)
          +
          Add a `float` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - A `float` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addDouble

          +
          public void addDouble​(double x)
          +
          Add a `double` to the buffer, properly aligned, and grows the buffer (if necessary).
          +
          +
          Parameters:
          +
          x - A `double` to put into the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          addOffset

          +
          public void addOffset​(int off)
          +
          Adds on offset, relative to where it will be written.
          +
          +
          Parameters:
          +
          off - The offset to add.
          +
          +
        • +
        + + + +
          +
        • +

          startVector

          +
          public void startVector​(int elem_size,
          +                        int num_elems,
          +                        int alignment)
          +
          Start a new array/vector of objects. Users usually will not call + this directly. The `FlatBuffers` compiler will create a start/end + method for vector types in generated code. +

          + The expected sequence of calls is: +

            +
          1. Start the array using this method.
          2. +
          3. Call addOffset(int) `num_elems` number of times to set + the offset of each element in the array.
          4. +
          5. Call endVector() to retrieve the offset of the array.
          6. +
          +

          + For example, to create an array of strings, do: +

          
          + // Need 10 strings
          + FlatBufferBuilder builder = new FlatBufferBuilder(existingBuffer);
          + int[] offsets = new int[10];
          +
          + for (int i = 0; i < 10; i++) {
          +   offsets[i] = fbb.createString(" " + i);
          + }
          +
          + // Have the strings in the buffer, but don't have a vector.
          + // Add a vector that references the newly created strings:
          + builder.startVector(4, offsets.length, 4);
          +
          + // Add each string to the newly created vector
          + // The strings are added in reverse order since the buffer
          + // is filled in back to front
          + for (int i = offsets.length - 1; i >= 0; i--) {
          +   builder.addOffset(offsets[i]);
          + }
          +
          + // Finish off the vector
          + int offsetOfTheVector = fbb.endVector();
          + 
          +
          +
          Parameters:
          +
          elem_size - The size of each element in the array.
          +
          num_elems - The number of elements in the array.
          +
          alignment - The alignment of the array.
          +
          +
        • +
        + + + +
          +
        • +

          endVector

          +
          public int endVector()
          +
          Finish off the creation of an array and all its elements. The array + must be created with startVector(int, int, int).
          +
          +
          Returns:
          +
          The offset at which the newly created array starts.
          +
          See Also:
          +
          startVector(int, int, int)
          +
          +
        • +
        + + + +
          +
        • +

          createUnintializedVector

          +
          public ByteBuffer createUnintializedVector​(int elem_size,
          +                                           int num_elems,
          +                                           int alignment)
          +
          Create a new array/vector and return a ByteBuffer to be filled later. + Call endVector() after this method to get an offset to the beginning + of vector.
          +
          +
          Parameters:
          +
          elem_size - the size of each element in bytes.
          +
          num_elems - number of elements in the vector.
          +
          alignment - byte alignment.
          +
          Returns:
          +
          ByteBuffer with position and limit set to the space allocated for the array.
          +
          +
        • +
        + + + +
          +
        • +

          createVectorOfTables

          +
          public int createVectorOfTables​(int[] offsets)
          +
          Create a vector of tables.
          +
          +
          Parameters:
          +
          offsets - Offsets of the tables.
          +
          Returns:
          +
          Returns offset of the vector.
          +
          +
        • +
        + + + + + +
          +
        • +

          createSortedVectorOfTables

          +
          public <T extends Table> int createSortedVectorOfTables​(T obj,
          +                                                        int[] offsets)
          +
          Create a vector of sorted by the key tables.
          +
          +
          Parameters:
          +
          obj - Instance of the table subclass.
          +
          offsets - Offsets of the tables.
          +
          Returns:
          +
          Returns offset of the sorted vector.
          +
          +
        • +
        + + + +
          +
        • +

          createString

          +
          public int createString​(CharSequence s)
          +
          Encode the string `s` in the buffer using UTF-8. If s is + already a CharBuffer, this method is allocation free.
          +
          +
          Parameters:
          +
          s - The string to encode.
          +
          Returns:
          +
          The offset in the buffer where the encoded string starts.
          +
          +
        • +
        + + + +
          +
        • +

          createString

          +
          public int createString​(ByteBuffer s)
          +
          Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer.
          +
          +
          Parameters:
          +
          s - An already encoded UTF-8 string as a `ByteBuffer`.
          +
          Returns:
          +
          The offset in the buffer where the encoded string starts.
          +
          +
        • +
        + + + +
          +
        • +

          createByteVector

          +
          public int createByteVector​(byte[] arr)
          +
          Create a byte array in the buffer.
          +
          +
          Parameters:
          +
          arr - A source array with data
          +
          Returns:
          +
          The offset in the buffer where the encoded array starts.
          +
          +
        • +
        + + + +
          +
        • +

          createByteVector

          +
          public int createByteVector​(byte[] arr,
          +                            int offset,
          +                            int length)
          +
          Create a byte array in the buffer.
          +
          +
          Parameters:
          +
          arr - a source array with data.
          +
          offset - the offset in the source array to start copying from.
          +
          length - the number of bytes to copy from the source array.
          +
          Returns:
          +
          The offset in the buffer where the encoded array starts.
          +
          +
        • +
        + + + +
          +
        • +

          createByteVector

          +
          public int createByteVector​(ByteBuffer byteBuffer)
          +
          Create a byte array in the buffer. + + The source ByteBuffer position is advanced by Buffer.remaining() places + after this call.
          +
          +
          Parameters:
          +
          byteBuffer - A source ByteBuffer with data.
          +
          Returns:
          +
          The offset in the buffer where the encoded array starts.
          +
          +
        • +
        + + + +
          +
        • +

          finished

          +
          public void finished()
          +
          Should not be accessing the final buffer before it is finished.
          +
        • +
        + + + +
          +
        • +

          notNested

          +
          public void notNested()
          +
          Should not be creating any other object, string or vector + while an object is being constructed.
          +
        • +
        + + + +
          +
        • +

          Nested

          +
          public void Nested​(int obj)
          +
          Structures are always stored inline, they need to be created right + where they're used. You'll get this assertion failure if you + created it elsewhere.
          +
          +
          Parameters:
          +
          obj - The offset of the created object.
          +
          +
        • +
        + + + +
          +
        • +

          startObject

          +
          public void startObject​(int numfields)
          +
          Start encoding a new object in the buffer. Users will not usually need to + call this directly. The `FlatBuffers` compiler will generate helper methods + that call this method internally. +

          + For example, using the "Monster" code found on the "landing page". An + object of type `Monster` can be created using the following code: + +

          
          + int testArrayOfString = Monster.createTestarrayofstringVector(fbb, new int[] {
          +   fbb.createString("test1"),
          +   fbb.createString("test2")
          + });
          +
          + Monster.startMonster(fbb);
          + Monster.addPos(fbb, Vec3.createVec3(fbb, 1.0f, 2.0f, 3.0f, 3.0,
          +   Color.Green, (short)5, (byte)6));
          + Monster.addHp(fbb, (short)80);
          + Monster.addName(fbb, str);
          + Monster.addInventory(fbb, inv);
          + Monster.addTestType(fbb, (byte)Any.Monster);
          + Monster.addTest(fbb, mon2);
          + Monster.addTest4(fbb, test4);
          + Monster.addTestarrayofstring(fbb, testArrayOfString);
          + int mon = Monster.endMonster(fbb);
          + 
          +

          + Here: +

            +
          • The call to `Monster#startMonster(FlatBufferBuilder)` will call this + method with the right number of fields set.
          • +
          • `Monster#endMonster(FlatBufferBuilder)` will ensure endObject() is called.
          • +
          +

          + It's not recommended to call this method directly. If it's called manually, you must ensure + to audit all calls to it whenever fields are added or removed from your schema. This is + automatically done by the code generated by the `FlatBuffers` compiler.

          +
          +
          Parameters:
          +
          numfields - The number of fields found in this object.
          +
          +
        • +
        + + + +
          +
        • +

          addBoolean

          +
          public void addBoolean​(int o,
          +                       boolean x,
          +                       boolean d)
          +
          Add a `boolean` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - A `boolean` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - A `boolean` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addByte

          +
          public void addByte​(int o,
          +                    byte x,
          +                    int d)
          +
          Add a `byte` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - A `byte` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - A `byte` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addShort

          +
          public void addShort​(int o,
          +                     short x,
          +                     int d)
          +
          Add a `short` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - A `short` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - A `short` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addInt

          +
          public void addInt​(int o,
          +                   int x,
          +                   int d)
          +
          Add an `int` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - An `int` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - An `int` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addLong

          +
          public void addLong​(int o,
          +                    long x,
          +                    long d)
          +
          Add a `long` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - A `long` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - A `long` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addFloat

          +
          public void addFloat​(int o,
          +                     float x,
          +                     double d)
          +
          Add a `float` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - A `float` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - A `float` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addDouble

          +
          public void addDouble​(int o,
          +                      double x,
          +                      double d)
          +
          Add a `double` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - A `double` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - A `double` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addOffset

          +
          public void addOffset​(int o,
          +                      int x,
          +                      int d)
          +
          Add an `offset` to a table at `o` into its vtable, with value `x` and default `d`.
          +
          +
          Parameters:
          +
          o - The index into the vtable.
          +
          x - An `offset` to put into the buffer, depending on how defaults are handled. If + `force_defaults` is `false`, compare `x` against the default value `d`. If `x` contains the + default value, it can be skipped.
          +
          d - An `offset` default value to compare against when `force_defaults` is `false`.
          +
          +
        • +
        + + + +
          +
        • +

          addStruct

          +
          public void addStruct​(int voffset,
          +                      int x,
          +                      int d)
          +
          Add a struct to the table. Structs are stored inline, so nothing additional is being added.
          +
          +
          Parameters:
          +
          voffset - The index into the vtable.
          +
          x - The offset of the created struct.
          +
          d - The default value is always `0`.
          +
          +
        • +
        + + + +
          +
        • +

          slot

          +
          public void slot​(int voffset)
          +
          Set the current vtable at `voffset` to the current location in the buffer.
          +
          +
          Parameters:
          +
          voffset - The index into the vtable to store the offset relative to the end of the + buffer.
          +
          +
        • +
        + + + +
          +
        • +

          endObject

          +
          public int endObject()
          +
          Finish off writing the object that is under construction.
          +
          +
          Returns:
          +
          The offset to the object inside dataBuffer().
          +
          See Also:
          +
          startObject(int)
          +
          +
        • +
        + + + +
          +
        • +

          required

          +
          public void required​(int table,
          +                     int field)
          +
          Checks that a required field has been set in a given table that has + just been constructed.
          +
          +
          Parameters:
          +
          table - The offset to the start of the table from the `ByteBuffer` capacity.
          +
          field - The offset to the field in the vtable.
          +
          +
        • +
        + + + +
          +
        • +

          finish

          +
          protected void finish​(int root_table,
          +                      boolean size_prefix)
          +
          Finalize a buffer, pointing to the given `root_table`.
          +
          +
          Parameters:
          +
          root_table - An offset to be added to the buffer.
          +
          size_prefix - Whether to prefix the size to the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          finish

          +
          public void finish​(int root_table)
          +
          Finalize a buffer, pointing to the given `root_table`.
          +
          +
          Parameters:
          +
          root_table - An offset to be added to the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          finishSizePrefixed

          +
          public void finishSizePrefixed​(int root_table)
          +
          Finalize a buffer, pointing to the given `root_table`, with the size prefixed.
          +
          +
          Parameters:
          +
          root_table - An offset to be added to the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          finish

          +
          protected void finish​(int root_table,
          +                      String file_identifier,
          +                      boolean size_prefix)
          +
          Finalize a buffer, pointing to the given `root_table`.
          +
          +
          Parameters:
          +
          root_table - An offset to be added to the buffer.
          +
          file_identifier - A FlatBuffer file identifier to be added to the buffer before + `root_table`.
          +
          size_prefix - Whether to prefix the size to the buffer.
          +
          +
        • +
        + + + +
          +
        • +

          finish

          +
          public void finish​(int root_table,
          +                   String file_identifier)
          +
          Finalize a buffer, pointing to the given `root_table`.
          +
          +
          Parameters:
          +
          root_table - An offset to be added to the buffer.
          +
          file_identifier - A FlatBuffer file identifier to be added to the buffer before + `root_table`.
          +
          +
        • +
        + + + +
          +
        • +

          finishSizePrefixed

          +
          public void finishSizePrefixed​(int root_table,
          +                               String file_identifier)
          +
          Finalize a buffer, pointing to the given `root_table`, with the size prefixed.
          +
          +
          Parameters:
          +
          root_table - An offset to be added to the buffer.
          +
          file_identifier - A FlatBuffer file identifier to be added to the buffer before + `root_table`.
          +
          +
        • +
        + + + +
          +
        • +

          forceDefaults

          +
          public FlatBufferBuilder forceDefaults​(boolean forceDefaults)
          +
          In order to save space, fields that are set to their default value + don't get serialized into the buffer. Forcing defaults provides a + way to manually disable this optimization.
          +
          +
          Parameters:
          +
          forceDefaults - When set to `true`, always serializes default values.
          +
          Returns:
          +
          Returns `this`.
          +
          +
        • +
        + + + +
          +
        • +

          dataBuffer

          +
          public ByteBuffer dataBuffer()
          +
          Get the ByteBuffer representing the FlatBuffer. Only call this after you've + called `finish()`. The actual data starts at the ByteBuffer's current position, + not necessarily at `0`.
          +
          +
          Returns:
          +
          The ByteBuffer representing the FlatBuffer
          +
          +
        • +
        + + + +
          +
        • +

          sizedByteArray

          +
          public byte[] sizedByteArray​(int start,
          +                             int length)
          +
          A utility function to copy and return the ByteBuffer data from `start` to + `start` + `length` as a `byte[]`.
          +
          +
          Parameters:
          +
          start - Start copying at this offset.
          +
          length - How many bytes to copy.
          +
          Returns:
          +
          A range copy of the data buffer.
          +
          Throws:
          +
          IndexOutOfBoundsException - If the range of bytes is ouf of bound.
          +
          +
        • +
        + + + +
          +
        • +

          sizedByteArray

          +
          public byte[] sizedByteArray()
          +
          A utility function to copy and return the ByteBuffer data as a `byte[]`.
          +
          +
          Returns:
          +
          A full copy of the data buffer.
          +
          +
        • +
        + + + +
          +
        • +

          sizedInputStream

          +
          public InputStream sizedInputStream()
          +
          A utility function to return an InputStream to the ByteBuffer data
          +
          +
          Returns:
          +
          An InputStream that starts at the beginning of the ByteBuffer data + and can read to the end of it.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/Struct.html b/docs/javadoc/com/google/flatbuffers/Struct.html new file mode 100644 index 00000000..8142d5ca --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/Struct.html @@ -0,0 +1,382 @@ + + + + + +Struct (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Struct

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          bb_pos

          +
          protected int bb_pos
          +
          Used to hold the position of the `bb` buffer.
          +
        • +
        + + + +
          +
        • +

          bb

          +
          protected ByteBuffer bb
          +
          The underlying ByteBuffer to hold the data of the Struct.
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Struct

          +
          public Struct()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          __reset

          +
          public void __reset()
          +
          Resets internal state with a null ByteBuffer and a zero position. + + This method exists primarily to allow recycling Struct instances without risking memory leaks + due to ByteBuffer references. The instance will be unusable until it is assigned + again to a ByteBuffer.
          +
          +
          Parameters:
          +
          struct - the instance to reset to initial state
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/Table.html b/docs/javadoc/com/google/flatbuffers/Table.html new file mode 100644 index 00000000..dc94929c --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/Table.html @@ -0,0 +1,821 @@ + + + + + +Table (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Table

    +
    +
    + + +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + + + + + +
          +
        • +

          bb_pos

          +
          protected int bb_pos
          +
          Used to hold the position of the `bb` buffer.
          +
        • +
        + + + +
          +
        • +

          bb

          +
          protected ByteBuffer bb
          +
          The underlying ByteBuffer to hold the data of the Table.
          +
        • +
        + + + +
          +
        • +

          vtable_start

          +
          protected int vtable_start
          +
          Used to hold the vtable position.
          +
        • +
        + + + +
          +
        • +

          vtable_size

          +
          protected int vtable_size
          +
          Used to hold the vtable size.
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Table

          +
          public Table()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getByteBuffer

          +
          public ByteBuffer getByteBuffer()
          +
          Get the underlying ByteBuffer.
          +
          +
          Returns:
          +
          Returns the Table's ByteBuffer.
          +
          +
        • +
        + + + +
          +
        • +

          __offset

          +
          protected int __offset​(int vtable_offset)
          +
          Look up a field in the vtable.
          +
          +
          Parameters:
          +
          vtable_offset - An `int` offset to the vtable in the Table's ByteBuffer.
          +
          Returns:
          +
          Returns an offset into the object, or `0` if the field is not present.
          +
          +
        • +
        + + + +
          +
        • +

          __offset

          +
          protected static int __offset​(int vtable_offset,
          +                              int offset,
          +                              ByteBuffer bb)
          +
        • +
        + + + +
          +
        • +

          __indirect

          +
          protected int __indirect​(int offset)
          +
          Retrieve a relative offset.
          +
          +
          Parameters:
          +
          offset - An `int` index into the Table's ByteBuffer containing the relative offset.
          +
          Returns:
          +
          Returns the relative offset stored at `offset`.
          +
          +
        • +
        + + + +
          +
        • +

          __indirect

          +
          protected static int __indirect​(int offset,
          +                                ByteBuffer bb)
          +
        • +
        + + + +
          +
        • +

          __string

          +
          protected String __string​(int offset)
          +
          Create a Java `String` from UTF-8 data stored inside the FlatBuffer. + + This allocates a new string and converts to wide chars upon each access, + which is not very efficient. Instead, each FlatBuffer string also comes with an + accessor based on __vector_as_bytebuffer below, which is much more efficient, + assuming your Java program can handle UTF-8 data directly.
          +
          +
          Parameters:
          +
          offset - An `int` index into the Table's ByteBuffer.
          +
          Returns:
          +
          Returns a `String` from the data stored inside the FlatBuffer at `offset`.
          +
          +
        • +
        + + + +
          +
        • +

          __vector_len

          +
          protected int __vector_len​(int offset)
          +
          Get the length of a vector.
          +
          +
          Parameters:
          +
          offset - An `int` index into the Table's ByteBuffer.
          +
          Returns:
          +
          Returns the length of the vector whose offset is stored at `offset`.
          +
          +
        • +
        + + + +
          +
        • +

          __vector

          +
          protected int __vector​(int offset)
          +
          Get the start data of a vector.
          +
          +
          Parameters:
          +
          offset - An `int` index into the Table's ByteBuffer.
          +
          Returns:
          +
          Returns the start of the vector data whose offset is stored at `offset`.
          +
          +
        • +
        + + + +
          +
        • +

          __vector_as_bytebuffer

          +
          protected ByteBuffer __vector_as_bytebuffer​(int vector_offset,
          +                                            int elem_size)
          +
          Get a whole vector as a ByteBuffer. + + This is efficient, since it only allocates a new ByteBuffer object, + but does not actually copy the data, it still refers to the same bytes + as the original ByteBuffer. Also useful with nested FlatBuffers, etc.
          +
          +
          Parameters:
          +
          vector_offset - The position of the vector in the byte buffer
          +
          elem_size - The size of each element in the array
          +
          Returns:
          +
          The ByteBuffer for the array
          +
          +
        • +
        + + + +
          +
        • +

          __vector_in_bytebuffer

          +
          protected ByteBuffer __vector_in_bytebuffer​(ByteBuffer bb,
          +                                            int vector_offset,
          +                                            int elem_size)
          +
          Initialize vector as a ByteBuffer. + + This is more efficient than using duplicate, since it doesn't copy the data + nor allocattes a new ByteBuffer, creating no garbage to be collected.
          +
          +
          Parameters:
          +
          bb - The ByteBuffer for the array
          +
          vector_offset - The position of the vector in the byte buffer
          +
          elem_size - The size of each element in the array
          +
          Returns:
          +
          The ByteBuffer for the array
          +
          +
        • +
        + + + +
          +
        • +

          __union

          +
          protected Table __union​(Table t,
          +                        int offset)
          +
          Initialize any Table-derived type to point to the union at the given `offset`.
          +
          +
          Parameters:
          +
          t - A `Table`-derived type that should point to the union at `offset`.
          +
          offset - An `int` index into the Table's ByteBuffer.
          +
          Returns:
          +
          Returns the Table that points to the union at `offset`.
          +
          +
        • +
        + + + +
          +
        • +

          __has_identifier

          +
          protected static boolean __has_identifier​(ByteBuffer bb,
          +                                          String ident)
          +
          Check if a ByteBuffer contains a file identifier.
          +
          +
          Parameters:
          +
          bb - A ByteBuffer to check if it contains the identifier + `ident`.
          +
          ident - A `String` identifier of the FlatBuffer file.
          +
          Returns:
          +
          True if the buffer contains the file identifier
          +
          +
        • +
        + + + +
          +
        • +

          sortTables

          +
          protected void sortTables​(int[] offsets,
          +                          ByteBuffer bb)
          +
          Sort tables by the key.
          +
          +
          Parameters:
          +
          offsets - An 'int' indexes of the tables into the bb.
          +
          bb - A ByteBuffer to get the tables.
          +
          +
        • +
        + + + +
          +
        • +

          keysCompare

          +
          protected int keysCompare​(Integer o1,
          +                          Integer o2,
          +                          ByteBuffer bb)
          +
          Compare two tables by the key.
          +
          +
          Parameters:
          +
          o1 - An 'Integer' index of the first key into the bb.
          +
          o2 - An 'Integer' index of the second key into the bb.
          +
          bb - A ByteBuffer to get the keys.
          +
          +
        • +
        + + + +
          +
        • +

          compareStrings

          +
          protected static int compareStrings​(int offset_1,
          +                                    int offset_2,
          +                                    ByteBuffer bb)
          +
          Compare two strings in the buffer.
          +
          +
          Parameters:
          +
          offset_1 - An 'int' index of the first string into the bb.
          +
          offset_2 - An 'int' index of the second string into the bb.
          +
          bb - A ByteBuffer to get the strings.
          +
          +
        • +
        + + + +
          +
        • +

          compareStrings

          +
          protected static int compareStrings​(int offset_1,
          +                                    byte[] key,
          +                                    ByteBuffer bb)
          +
          Compare string from the buffer with the 'String' object.
          +
          +
          Parameters:
          +
          offset_1 - An 'int' index of the first string into the bb.
          +
          key - Second string as a byte array.
          +
          bb - A ByteBuffer to get the first string.
          +
          +
        • +
        + + + +
          +
        • +

          __reset

          +
          public void __reset()
          +
          Resets the internal state with a null ByteBuffer and a zero position. + + This method exists primarily to allow recycling Table instances without risking memory leaks + due to ByteBuffer references. The instance will be unusable until it is assigned + again to a ByteBuffer.
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/Utf8.html b/docs/javadoc/com/google/flatbuffers/Utf8.html new file mode 100644 index 00000000..0821262e --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/Utf8.html @@ -0,0 +1,412 @@ + + + + + +Utf8 (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Utf8

    +
    +
    + +
    +
      +
    • +
      +
      Direct Known Subclasses:
      +
      Utf8Safe
      +
      +
      +
      public abstract class Utf8
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Utf8

          +
          public Utf8()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          encodedLength

          +
          public abstract int encodedLength​(CharSequence sequence)
          +
          Returns the number of bytes in the UTF-8-encoded form of sequence. For a string, + this method is equivalent to string.getBytes(UTF_8).length, but is more efficient in + both time and space.
          +
          +
          Throws:
          +
          IllegalArgumentException - if sequence contains ill-formed UTF-16 (unpaired + surrogates)
          +
          +
        • +
        + + + +
          +
        • +

          encodeUtf8

          +
          public abstract void encodeUtf8​(CharSequence in,
          +                                ByteBuffer out)
          +
          Encodes the given characters to the target ByteBuffer using UTF-8 encoding. + +

          Selects an optimal algorithm based on the type of ByteBuffer (i.e. heap or direct) + and the capabilities of the platform.

          +
          +
          Parameters:
          +
          in - the source string to be encoded
          +
          out - the target buffer to receive the encoded string.
          +
          +
        • +
        + + + + + + + +
          +
        • +

          getDefault

          +
          public static Utf8 getDefault()
          +
          Get the default UTF-8 processor.
          +
          +
          Returns:
          +
          the default processor
          +
          +
        • +
        + + + +
          +
        • +

          setDefault

          +
          public static void setDefault​(Utf8 instance)
          +
          Set the default instance of the UTF-8 processor.
          +
          +
          Parameters:
          +
          instance - the new instance to use
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/Utf8Safe.html b/docs/javadoc/com/google/flatbuffers/Utf8Safe.html new file mode 100644 index 00000000..ac36d7de --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/Utf8Safe.html @@ -0,0 +1,404 @@ + + + + + +Utf8Safe (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class Utf8Safe

    +
    +
    + +
    +
      +
    • +
      +
      public final class Utf8Safe
      +extends Utf8
      +
      A set of low-level, high-performance static utility methods related + to the UTF-8 character encoding. This class has no dependencies + outside of the core JDK libraries. + +

      There are several variants of UTF-8. The one implemented by + this class is the restricted definition of UTF-8 introduced in + Unicode 3.1, which mandates the rejection of "overlong" byte + sequences as well as rejection of 3-byte surrogate codepoint byte + sequences. Note that the UTF-8 decoder included in Oracle's JDK + has been modified to also reject "overlong" byte sequences, but (as + of 2011) still accepts 3-byte surrogate codepoint byte sequences. + +

      The byte sequences considered valid by this class are exactly + those that can be roundtrip converted to Strings and back to bytes + using the UTF-8 charset, without loss:

       
      + Arrays.equals(bytes, new String(bytes, Internal.UTF_8).getBytes(Internal.UTF_8))
      + 
      + +

      See the Unicode Standard,
      + Table 3-6. UTF-8 Bit Distribution,
      + Table 3-7. Well Formed UTF-8 Byte Sequences.

      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          Utf8Safe

          +
          public Utf8Safe()
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          encodedLength

          +
          public int encodedLength​(CharSequence in)
          +
          Description copied from class: Utf8
          +
          Returns the number of bytes in the UTF-8-encoded form of sequence. For a string, + this method is equivalent to string.getBytes(UTF_8).length, but is more efficient in + both time and space.
          +
          +
          Specified by:
          +
          encodedLength in class Utf8
          +
          +
        • +
        + + + + + + + +
          +
        • +

          encodeUtf8

          +
          public void encodeUtf8​(CharSequence in,
          +                       ByteBuffer out)
          +
          Encodes the given characters to the target ByteBuffer using UTF-8 encoding. + +

          Selects an optimal algorithm based on the type of ByteBuffer (i.e. heap or direct) + and the capabilities of the platform.

          +
          +
          Specified by:
          +
          encodeUtf8 in class Utf8
          +
          Parameters:
          +
          in - the source string to be encoded
          +
          out - the target buffer to receive the encoded string.
          +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/docs/javadoc/com/google/flatbuffers/package-summary.html b/docs/javadoc/com/google/flatbuffers/package-summary.html new file mode 100644 index 00000000..1b5fd0c9 --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/package-summary.html @@ -0,0 +1,209 @@ + + + + + +com.google.flatbuffers (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package com.google.flatbuffers

    +
    +
    + +
    +
    + + + diff --git a/docs/javadoc/com/google/flatbuffers/package-tree.html b/docs/javadoc/com/google/flatbuffers/package-tree.html new file mode 100644 index 00000000..5f716695 --- /dev/null +++ b/docs/javadoc/com/google/flatbuffers/package-tree.html @@ -0,0 +1,174 @@ + + + + + +com.google.flatbuffers Class Hierarchy (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package com.google.flatbuffers

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    + + + diff --git a/docs/javadoc/constant-values.html b/docs/javadoc/constant-values.html index 10dfc99d..13d59972 100644 --- a/docs/javadoc/constant-values.html +++ b/docs/javadoc/constant-values.html @@ -1,36 +1,52 @@ - + -Constant Field Values (ux API) +Constant Field Values (core 1.19.4 API) + + + + + + + + +var pathtoroot = "./"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +

    Constant Field Values

    +

    Contents

    +
    -
    +
    +

    com.google.*

    -
    - -
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.DeviceType 
    Modifier and TypeConstant FieldValue
    - - - +public static final intController3
    - - - -Controller24
    + +public static final intHand5
    + +public static final intHmd0
    + +public static final intKeyboard2
    + +public static final intMouse1
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.LayoutFillOrder 
    Modifier and TypeConstant FieldValue
    + +public static final intDownLeft3
    + +public static final intDownRight2
    + +public static final intLeftDown1
    + +public static final intLeftUp5
    + +public static final intRightDown0
    + +public static final intRightUp4
    + +public static final intUpLeft7
    + +public static final intUpRight6
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment 
    Modifier and TypeConstant FieldValue
    + +public static final intCenter1
    + +public static final intLeft0
    + +public static final intRight2
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment 
    Modifier and TypeConstant FieldValue
    + +public static final intBottom2
    + +public static final intCenter1
    + +public static final intTop0
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.MaterialTextureUsage 
    Modifier and TypeConstant FieldValue
    + +public static final intAmbient6
    + +public static final intBaseColor0
    + +public static final intBrdfLookupTable15
    + +public static final intBump3
    + +public static final intDiffuseColor18
    + +public static final intDiffuseEnvironment16
    + +public static final intEmissive7
    + +public static final intHeight4
    + +public static final intLight8
    + +public static final intMetallic1
    + +public static final intNormal2
    + +public static final intOcclusion13
    + +public static final intOpacity11
    + +public static final intReflection10
    + +public static final intRoughness12
    + +public static final intShadow9
    + +public static final intShininess14
    + +public static final intSpecular5
    + +public static final intSpecularEnvironment17
    + +public static final intUnused255
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.OptionalBool 
    Modifier and TypeConstant FieldValue
    + +public static final intFalse2
    + +public static final intTrue1
    + +public static final intUnset0
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.TextureFiltering 
    Modifier and TypeConstant FieldValue
    + +public static final shortLinear1
    + +public static final shortLinearMipmapLinear5
    + +public static final shortLinearMipmapNearest3
    + +public static final shortNearest0
    + +public static final shortNearestMipmapLinear4
    + +public static final shortNearestMipmapNearest2
    +
  • +
  • + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.TextureTargetType 
    Modifier and TypeConstant FieldValue
    + +public static final shortCubeMap1
    + +public static final shortStandard2d0
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.TextureWrap 
    Modifier and TypeConstant FieldValue
    + +public static final shortClampToBorder0
    + +public static final shortClampToEdge1
    + +public static final shortMirrorClampToEdge3
    + +public static final shortMirroredRepeat2
    + +public static final shortRepeat4
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.VariantDef 
    Modifier and TypeConstant FieldValue
    + +public static final byteDataBool1
    + +public static final byteDataBytes10
    + +public static final byteDataFloat3
    + +public static final byteDataHashValue5
    + +public static final byteDataInt2
    + +public static final byteDataQuat9
    + +public static final byteDataString4
    + +public static final byteDataVec26
    + +public static final byteDataVec37
    + +public static final byteDataVec48
    + +public static final byteNONE0
    + +public static final byteVariantArrayDef11
    + +public static final byteVariantMapDef12
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.VertexAttributeType 
    Modifier and TypeConstant FieldValue
    + +public static final intEmpty0
    + +public static final intScalar1f1
    + +public static final intVec2f2
    + +public static final intVec2us5
    + +public static final intVec3f3
    + +public static final intVec4f4
    + +public static final intVec4ub7
    + +public static final intVec4us6
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    com.google.ar.sceneform.lullmodel.VertexAttributeUsage 
    Modifier and TypeConstant FieldValue
    + +public static final intBoneIndices7
    + +public static final intBoneWeights8
    + +public static final intColor2
    + +public static final intInvalid0
    + +public static final intNormal4
    + +public static final intOrientation6
    + +public static final intPosition1
    + +public static final intTangent5
    + +public static final intTexCoord3
    +
  • + + + +
      +
    • + + + + + + + + + + + + + + +
      com.google.flatbuffers.Constants 
      Modifier and TypeConstant FieldValue
      + +public static final intSIZE_PREFIX_LENGTH4
      +
    • +
    + +
    +
    + diff --git a/docs/javadoc/deprecated-list.html b/docs/javadoc/deprecated-list.html index 449476c7..d4d04c59 100644 --- a/docs/javadoc/deprecated-list.html +++ b/docs/javadoc/deprecated-list.html @@ -1,36 +1,52 @@ - + -Deprecated List (ux API) +Deprecated List (core 1.19.4 API) + + + + + + + + +var pathtoroot = "./"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +

    Deprecated API

    Contents

    +
    + diff --git a/docs/javadoc/element-list b/docs/javadoc/element-list new file mode 100644 index 00000000..7fc3b785 --- /dev/null +++ b/docs/javadoc/element-list @@ -0,0 +1,10 @@ +com.google.ar.sceneform +com.google.ar.sceneform.animation +com.google.ar.sceneform.collision +com.google.ar.sceneform.common +com.google.ar.sceneform.lullmodel +com.google.ar.sceneform.math +com.google.ar.sceneform.rendering +com.google.ar.sceneform.resources +com.google.ar.sceneform.utilities +com.google.flatbuffers diff --git a/docs/javadoc/help-doc.html b/docs/javadoc/help-doc.html index 8db71bd5..6d71d1f4 100644 --- a/docs/javadoc/help-doc.html +++ b/docs/javadoc/help-doc.html @@ -1,36 +1,52 @@ - + -API Help (ux API) +API Help (core 1.19.4 API) + + + + + + + + +var pathtoroot = "./"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +

    How This API Document Is Organized

    This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
    @@ -73,110 +99,143 @@

    How This API Document Is Organized

    • +
      +

      Overview

      +

      The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      +
      +
    • +
    • +

      Package

      -

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:

      +

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:

        -
      • Interfaces (italic)
      • +
      • Interfaces
      • Classes
      • Enums
      • Exceptions
      • Errors
      • Annotation Types
      +
    • -

      Class/Interface

      +
      +

      Class or Interface

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

        -
      • Class inheritance diagram
      • +
      • Class Inheritance Diagram
      • Direct Subclasses
      • All Known Subinterfaces
      • All Known Implementing Classes
      • -
      • Class/interface declaration
      • -
      • Class/interface description
      • +
      • Class or Interface Declaration
      • +
      • Class or Interface Description
      +
      • Nested Class Summary
      • Field Summary
      • +
      • Property Summary
      • Constructor Summary
      • Method Summary
      +
      • Field Detail
      • +
      • Property Detail
      • Constructor Detail
      • Method Detail

      Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

      +
    • +

      Annotation Type

      Each annotation type has its own separate page with the following sections:

        -
      • Annotation Type declaration
      • -
      • Annotation Type description
      • +
      • Annotation Type Declaration
      • +
      • Annotation Type Description
      • Required Element Summary
      • Optional Element Summary
      • Element Detail
      +
    • +

      Enum

      Each enum has its own separate page with the following sections:

        -
      • Enum declaration
      • -
      • Enum description
      • +
      • Enum Declaration
      • +
      • Enum Description
      • Enum Constant Summary
      • Enum Constant Detail
      +
    • +

      Tree (Class Hierarchy)

      -

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

      +

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

      • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
      • -
      • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
      • +
      • When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
      +
    • +

      Deprecated API

      The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

      +
    • +

      Index

      -

      The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

      -
    • -
    • -

      Prev/Next

      -

      These links take you to the next or previous class, interface, package, or related page.

      +

      The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.

      +
    • -

      Frames/No Frames

      -

      These links show and hide the HTML frames. All pages are available with or without frames.

      -
    • -
    • -

      All Classes

      -

      The All Classes link shows all classes and interfaces except non-static nested types.

      +
      +

      All Classes

      +

      The All Classes link shows all classes and interfaces except non-static nested types.

      +
    • +

      Serialized Form

      Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

      +
    • +

      Constant Field Values

      The Constant Field Values page lists the static final fields and their values.

      +
      +
    • +
    • +
      +

      Search

      +

      You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".

      +
    -This help file applies to API documentation generated using the standard doclet.
    +
    +This help file applies to API documentation generated by the standard doclet.
    +
    + diff --git a/docs/javadoc/index-all.html b/docs/javadoc/index-all.html index ef00e19d..13780914 100644 --- a/docs/javadoc/index-all.html +++ b/docs/javadoc/index-all.html @@ -1,36 +1,52 @@ - + -Index (ux API) +Index (core 1.19.4 API) + + + + + + + + +var pathtoroot = "./"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    +
    A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes All Packages

    A

    -
    addGestureRecognizer(BaseGestureRecognizer<?>) - Method in class com.google.ar.sceneform.ux.TransformationSystem
    -
    -
    Adds a gesture recognizer to this transformation system.
    -
    -
    addOnGestureStartedListener(BaseGestureRecognizer.OnGestureStartedListener<T>) - Method in class com.google.ar.sceneform.ux.BaseGestureRecognizer
    +
    a - Variable in class com.google.ar.sceneform.rendering.Color
     
    -
    addTransformationController(BaseTransformationController<?>) - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    +
    a() - Method in class com.google.ar.sceneform.lullmodel.Color
     
    -
    applySelectionVisual(BaseTransformableNode) - Method in class com.google.ar.sceneform.ux.FootprintSelectionVisualizer
    +
    AabbDef - Class in com.google.ar.sceneform.lullmodel
     
    -
    applySelectionVisual(BaseTransformableNode) - Method in interface com.google.ar.sceneform.ux.SelectionVisualizer
    -
    -
    Adds a visual that indicates a BaseTransformableNode is currently selected.
    -
    -
    applyTransformation(float, Transformation) - Method in class com.google.ar.sceneform.ux.HandMotionAnimation
    +
    AabbDef() - Constructor for class com.google.ar.sceneform.lullmodel.AabbDef
     
    -
    ArFragment - Class in com.google.ar.sceneform.ux
    +
    aabbs(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    -
    Implements AR Required ArFragment.
    +
    A bounding Aabb for each submesh.
    -
    ArFragment() - Constructor for class com.google.ar.sceneform.ux.ArFragment
    +
    aabbs(SubmeshAabb, int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    ArFragment.OnTapModelListener - Interface in com.google.ar.sceneform.ux
    +
    aabbsLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    - - - -

    B

    -
    -
    BaseArFragment - Class in com.google.ar.sceneform.ux
    +
    add(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    -
    The AR fragment brings in the required view layout and controllers for common AR features.
    +
    Adds two Vector3's
    -
    BaseArFragment() - Constructor for class com.google.ar.sceneform.ux.BaseArFragment
    +
    ADD_MISSING_FILES - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
     
    -
    BaseArFragment.OnSessionConfigurationListener - Interface in com.google.ar.sceneform.ux
    -
    -
    Invoked when the ARCore Session is to be configured.
    -
    -
    BaseArFragment.OnSessionInitializationListener - Interface in com.google.ar.sceneform.ux
    -
    -
    Invoked when the ARCore Session is initialized.
    -
    -
    BaseArFragment.OnTapArPlaneListener - Interface in com.google.ar.sceneform.ux
    -
    -
    Invoked when an ARCore plane is tapped.
    -
    -
    BaseGesture<T extends BaseGesture<T>> - Class in com.google.ar.sceneform.ux
    -
    -
    Base class for a gesture.
    -
    -
    BaseGesture(GesturePointersUtility) - Constructor for class com.google.ar.sceneform.ux.BaseGesture
    +
    addAabbs(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    addAttributes(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    addAxisSystem(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    addBlendAttributes(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    addBlendShapes(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    BaseGesture.OnGestureEventListener<T extends BaseGesture<T>> - Interface in com.google.ar.sceneform.ux
    +
    addBoneNames(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    addBoneParents(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    addBoneTransforms(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    addBoolean(boolean) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Interface definition for callbacks to be invoked by a BaseGesture.
    +
    Add a `boolean` to the buffer, properly aligned, and grows the buffer (if necessary).
    -
    BaseGestureRecognizer<T extends BaseGesture<T>> - Class in com.google.ar.sceneform.ux
    +
    addBoolean(int, boolean, boolean) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Base class for all Gesture Recognizers (i.e.
    +
    Add a `boolean` to a table at `o` into its vtable, with value `x` and default `d`.
    -
    BaseGestureRecognizer(GesturePointersUtility) - Constructor for class com.google.ar.sceneform.ux.BaseGestureRecognizer
    +
    addBoundingBox(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
     
    -
    BaseGestureRecognizer.OnGestureStartedListener<T extends BaseGesture<T>> - Interface in com.google.ar.sceneform.ux
    -
    -
    Interface definition for a callbacks to be invoked when a BaseGesture starts.
    -
    -
    BaseTransformableNode - Class in com.google.ar.sceneform.ux
    +
    addByte(byte) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Base class for nodes that can be transformed using gestures from TransformationSystem.
    +
    Add a `byte` to the buffer, properly aligned, and grows the buffer (if necessary).
    -
    BaseTransformableNode(TransformationSystem) - Constructor for class com.google.ar.sceneform.ux.BaseTransformableNode
    -
     
    -
    BaseTransformationController<T extends BaseGesture<T>> - Class in com.google.ar.sceneform.ux
    +
    addByte(int, byte, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Manipulates the transform properties (i.e. scale/rotation/translation) of a BaseTransformableNode by responding to Gestures via a BaseGestureRecognizer.
    +
    Add a `byte` to a table at `o` into its vtable, with value `x` and default `d`.
    -
    BaseTransformationController(BaseTransformableNode, BaseGestureRecognizer<T>) - Constructor for class com.google.ar.sceneform.ux.BaseTransformationController
    -
     
    -
    - - - -

    C

    -
    -
    cancel() - Method in class com.google.ar.sceneform.ux.BaseGesture
    -
     
    -
    cancel() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addChild(Node) - Method in class com.google.ar.sceneform.NodeParent
    -
    Cancels the gesture in progress.
    +
    Adds a node as a child of this NodeParent.
    -
    canStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addCmPerUnit(FlatBufferBuilder, float) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    canStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    addCollidable(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
     
    -
    canStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addCollider(Collider) - Method in class com.google.ar.sceneform.collision.CollisionSystem
     
    -
    canStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    addData(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    canStartTransformation(T) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addDouble(double) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `double` to the buffer, properly aligned, and grows the buffer (if necessary).
    +
    +
    addDouble(int, double, double) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `double` to a table at `o` into its vtable, with value `x` and default `d`.
    +
    +
    addEnsureVertexOrientationWNotZero(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    canStartTransformation(TwistGesture) - Method in class com.google.ar.sceneform.ux.RotationController
    +
    addFile(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    canStartTransformation(PinchGesture) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addFile(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    canStartTransformation(DragGesture) - Method in class com.google.ar.sceneform.ux.TranslationController
    +
    addFixInfacingNormals(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    com.google.ar.sceneform.ux - package com.google.ar.sceneform.ux
    +
    addFlattenHierarchyAndTransformVerticesToRootSpace(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    complete() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addFlipTextureCoordinates(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    createSessionWithFeatures() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addFloat(float) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Creates the ARCore Session with the with features defined in #getSessionFeatures.
    +
    Add a `float` to the buffer, properly aligned, and grows the buffer (if necessary).
    -
    - - - -

    D

    -
    -
    DEFAULT_ELASTICITY - Static variable in class com.google.ar.sceneform.ux.ScaleController
    +
    addFloat(int, float, double) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `float` to a table at `o` into its vtable, with value `x` and default `d`.
    +
    +
    addGenerateMipmaps(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    DEFAULT_MAX_SCALE - Static variable in class com.google.ar.sceneform.ux.ScaleController
    +
    addHashKey(FlatBufferBuilder, long) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
     
    -
    DEFAULT_MIN_SCALE - Static variable in class com.google.ar.sceneform.ux.ScaleController
    +
    addIndices16(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    DEFAULT_SENSITIVITY - Static variable in class com.google.ar.sceneform.ux.ScaleController
    +
    addIndices32(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    DragGesture - Class in com.google.ar.sceneform.ux
    +
    addInt(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Gesture for when the user performs a drag motion on the touch screen.
    +
    Add an `int` to the buffer, properly aligned, and grows the buffer (if necessary).
    -
    DragGesture(GesturePointersUtility, HitTestResult, MotionEvent) - Constructor for class com.google.ar.sceneform.ux.DragGesture
    -
     
    -
    DragGesture.OnGestureEventListener - Interface in com.google.ar.sceneform.ux
    +
    addInt(int, int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Interface definition for callbacks to be invoked by a DragGesture.
    +
    Add an `int` to a table at `o` into its vtable, with value `x` and default `d`.
    -
    DragGestureRecognizer - Class in com.google.ar.sceneform.ux
    +
    addInterleaved(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    addIsRgbm(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    addKey(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    addLifecycleListener(Node.LifecycleListener) - Method in class com.google.ar.sceneform.Node
    -
    Gesture Recognizer for when the user performs a drag motion on the touch screen.
    +
    Adds a listener that will be called when node lifecycle events occur.
    -
    DragGestureRecognizer(GesturePointersUtility) - Constructor for class com.google.ar.sceneform.ux.DragGestureRecognizer
    +
    addLods(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
     
    -
    DragGestureRecognizer.OnGestureStartedListener - Interface in com.google.ar.sceneform.ux
    +
    addLong(int, long, long) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Interface definition for a callbacks to be invoked when a DragGesture starts.
    +
    Add a `long` to a table at `o` into its vtable, with value `x` and default `d`.
    -
    - - - -

    F

    -
    -
    FootprintSelectionVisualizer - Class in com.google.ar.sceneform.ux
    +
    addLong(long) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Visualizes that a BaseTransformableNode is selected by rendering a footprint for the - selected node.
    +
    Add a `long` to the buffer, properly aligned, and grows the buffer (if necessary).
    -
    FootprintSelectionVisualizer() - Constructor for class com.google.ar.sceneform.ux.FootprintSelectionVisualizer
    -
     
    -
    - - - -

    G

    -
    -
    gapDeltaInches() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addMagFilter(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    gapInches() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addMaterial(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
     
    -
    gesturePointersUtility - Variable in class com.google.ar.sceneform.ux.BaseGesture
    +
    addMaterials(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    gesturePointersUtility - Variable in class com.google.ar.sceneform.ux.BaseGestureRecognizer
    +
    addMaterials(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
     
    -
    GesturePointersUtility - Class in com.google.ar.sceneform.ux
    -
    -
    Retains/Releases pointer Ids so that each pointer can only be used in one gesture at a time.
    -
    -
    GesturePointersUtility(DisplayMetrics) - Constructor for class com.google.ar.sceneform.ux.GesturePointersUtility
    +
    addMaxBoneWeights(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    gestures - Variable in class com.google.ar.sceneform.ux.BaseGestureRecognizer
    +
    addMaxPosition(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
     
    -
    getActiveGesture() - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addMergeMaterials(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    getAdditionalPermissions() - Method in class com.google.ar.sceneform.ux.ArFragment
    +
    addMinFilter(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    getAdditionalPermissions() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
    -
    Returns an array of dangerous permissions that are required by the app in addition to - Manifest.permission.CAMERA, which is needed by ARCore.
    -
    -
    getAllowedPlaneTypes() - Method in class com.google.ar.sceneform.ux.TranslationController
    -
    -
    Gets a reference to the EnumSet that determines which types of ArCore Planes this - TranslationController is allowed to translate on.
    -
    -
    getArSceneView() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
    -
    Gets the ArSceneView for this fragment.
    -
    -
    getCanRequestDangerousPermissions() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
    -
    If true, BaseArFragment.requestDangerousPermissions() returns without doing anything, if false - permissions will be requested
    -
    -
    getDelta() - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    addMinPosition(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
     
    -
    getDeltaRotationDegrees() - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    addName(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
     
    -
    getDragRecognizer() - Method in class com.google.ar.sceneform.ux.TransformationSystem
    -
    -
    Gets the gesture recognizer for determining when the user performs a drag motion on the touch - screen.
    -
    -
    getElasticity() - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addName(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
     
    -
    getFootprintRenderable() - Method in class com.google.ar.sceneform.ux.FootprintSelectionVisualizer
    +
    addName(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    getGap() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addName(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    getGapDelta() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addName(FlatBufferBuilder, long) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    getGesturePointersUtility() - Method in class com.google.ar.sceneform.ux.TransformationSystem
    -
    -
    Gets the utility used by BaseGestureRecognizer subclasses to retain/release pointer Ids - so that each pointer can only be used in one gesture at a time.
    -
    -
    getMaxScale() - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addNameOverride(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
     
    -
    getMinScale() - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addNumVertices(FlatBufferBuilder, long) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    getPinchRecognizer() - Method in class com.google.ar.sceneform.ux.TransformationSystem
    -
    -
    Gets the gesture recognizer for determining when the user performs a two-finger pinch motion on - the touch screen.
    -
    -
    getPlaneDiscoveryController() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addOffset(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Gets the plane discovery controller, which displays instructions for how to scan for planes.
    +
    Adds on offset, relative to where it will be written.
    -
    getPosition() - Method in class com.google.ar.sceneform.ux.DragGesture
    -
     
    -
    getRotationController() - Method in class com.google.ar.sceneform.ux.TransformableNode
    +
    addOffset(int, int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Returns the controller that rotates this node using a twist gesture.
    +
    Add an `offset` to a table at `o` into its vtable, with value `x` and default `d`.
    -
    getRotationRateDegrees() - Method in class com.google.ar.sceneform.ux.RotationController
    -
     
    -
    getScaleController() - Method in class com.google.ar.sceneform.ux.TransformableNode
    +
    addOnPeekTouchListener(Scene.OnPeekTouchListener) - Method in class com.google.ar.sceneform.Scene
    -
    Returns the controller that scales this node using a pinch gesture.
    +
    Adds a listener that will be called before the Scene.OnTouchListener is invoked.
    -
    getSelectedNode() - Method in class com.google.ar.sceneform.ux.TransformationSystem
    +
    addOnPeekTouchListener(Scene.OnPeekTouchListener) - Method in class com.google.ar.sceneform.TouchEventSystem
    -
    Gets the currently selected node.
    +
    Adds a listener that will be called before the Scene.OnTouchListener is invoked.
    -
    getSelectionVisualizer() - Method in class com.google.ar.sceneform.ux.TransformationSystem
    +
    addOnUpdateListener(Scene.OnUpdateListener) - Method in class com.google.ar.sceneform.Scene
    -
    Gets the selection visualizer used to visualize which BaseTransformableNode is - currently selected.
    +
    Adds a listener that will be called once per frame immediately before the Scene is updated.
    -
    getSelf() - Method in class com.google.ar.sceneform.ux.BaseGesture
    -
     
    -
    getSelf() - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    addPremultiplyAlpha(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    getSelf() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addProperties(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
     
    -
    getSelf() - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    addRanges(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    getSensitivity() - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addRecenter(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    getSessionConfiguration(Session) - Method in class com.google.ar.sceneform.ux.ArFragment
    +
    addRenderables(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
     
    -
    getSessionConfiguration(Session) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addReportErrorsToStdout(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    getSessionFeatures() - Method in class com.google.ar.sceneform.ux.ArFragment
    +
    addResourceHolder(ResourceHolder) - Method in class com.google.ar.sceneform.rendering.ResourceManager
     
    -
    getSessionFeatures() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addSample(double) - Method in class com.google.ar.sceneform.utilities.MovingAverage
    -
    Specifies additional features for creating an ARCore com.google.ar.core.Session.
    +
    Add a sample and calculate a new average.
    -
    getTargetNode() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addScale(FlatBufferBuilder, float) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    getTransformableNode() - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    -
     
    -
    getTransformationSystem() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
    -
    Gets the transformation system, which is used by TransformableNode for detecting - gestures and coordinating which node is selected.
    -
    -
    getTransformationSystem() - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    +
    addShaderToMeshBones(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    getTranslationController() - Method in class com.google.ar.sceneform.ux.TransformableNode
    +
    addShort(int, short, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Returns the controller that translates this node using a drag gesture.
    +
    Add a `short` to a table at `o` into its vtable, with value `x` and default `d`.
    -
    getTwistRecognizer() - Method in class com.google.ar.sceneform.ux.TransformationSystem
    +
    addShort(short) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Gets the gesture recognizer for determining when the user performs a two-finger twist motion on - the touch screen.
    +
    Add a `short` to the buffer, properly aligned, and grows the buffer (if necessary).
    -
    - - - -

    H

    -
    -
    handleSessionException(UnavailableException) - Method in class com.google.ar.sceneform.ux.ArFragment
    +
    addSkeleton(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
     
    -
    handleSessionException(UnavailableException) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addSkeleton(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
     
    -
    HandMotionAnimation - Class in com.google.ar.sceneform.ux
    -
    -
    This drives the AR hand motion animation.
    -
    -
    HandMotionAnimation(View, View) - Constructor for class com.google.ar.sceneform.ux.HandMotionAnimation
    +
    addSmoothingAngle(FlatBufferBuilder, float) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    HandMotionView - Class in com.google.ar.sceneform.ux
    -
    -
    This view contains the hand motion instructions with animation.
    -
    -
    HandMotionView(Context) - Constructor for class com.google.ar.sceneform.ux.HandMotionView
    +
    addSource(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
     
    -
    HandMotionView(Context, AttributeSet) - Constructor for class com.google.ar.sceneform.ux.HandMotionView
    +
    addSource(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
     
    -
    hasFinished() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addSource(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
     
    -
    hasStarted() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addSources(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
     
    -
    hide() - Method in class com.google.ar.sceneform.ux.PlaneDiscoveryController
    +
    addStruct(int, int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    -
    Hide the plane discovery UX instructions.
    +
    Add a struct to the table.
    -
    - - - -

    I

    -
    -
    inchesToPixels(float) - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addTangentData(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    inchesToPixels(float) - Method in class com.google.ar.sceneform.ux.GesturePointersUtility
    +
    addTangentIndices16(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    initializeSession() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
    -
    Initializes the ARCore session.
    -
    -
    isArRequired() - Method in class com.google.ar.sceneform.ux.ArFragment
    +
    addTangentIndices32(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    isArRequired() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
    -
    Returns true if this application is AR Required, false if AR Optional.
    -
    -
    isEnabled() - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addTargetMeshes(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    isPointerIdRetained(int) - Method in class com.google.ar.sceneform.ux.GesturePointersUtility
    +
    addTargetType(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    isSelected() - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    -
    -
    Returns true if this node is currently selected by the TransformationSystem.
    -
    -
    isTransforming() - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    -
    -
    Returns true if any of the transformation controllers are actively transforming this node.
    -
    -
    isTransforming() - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addTextures(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
     
    -
    isTransforming() - Method in class com.google.ar.sceneform.ux.TranslationController
    +
    addTextures(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
     
    -
    - - - -

    J

    -
    -
    justStarted() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addTextures(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
     
    -
    - - - -

    M

    -
    -
    makeTransformationSystem() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addTransformChangedListener(Node.TransformChangedListener) - Method in class com.google.ar.sceneform.Node
    -
    Creates the transformation system used by this fragment.
    +
    Adds a listener that will be called when the node's transformation changes.
    -
    motionEventToPosition(MotionEvent, int) - Static method in class com.google.ar.sceneform.ux.GesturePointersUtility
    -
     
    -
    - - - -

    O

    -
    -
    onActivated(Node) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    -
     
    -
    onActivated(Node) - Method in class com.google.ar.sceneform.ux.ScaleController
    -
     
    -
    onAttachedToWindow() - Method in class com.google.ar.sceneform.ux.HandMotionView
    +
    addUsage(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
     
    -
    onCancel() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addUsagePerChannel(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
     
    -
    onCancel() - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    addUseSpecularGlossinessTexturesIfPresent(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
     
    -
    onCancel() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addValue(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.DataBool
     
    -
    onCancel() - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    addValue(FlatBufferBuilder, float) - Static method in class com.google.ar.sceneform.lullmodel.DataFloat
     
    -
    onContinueTransformation(T) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
     
    -
    onContinueTransformation(TwistGesture) - Method in class com.google.ar.sceneform.ux.RotationController
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataInt
     
    -
    onContinueTransformation(PinchGesture) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataQuat
     
    -
    onContinueTransformation(DragGesture) - Method in class com.google.ar.sceneform.ux.TranslationController
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataString
     
    -
    onCreateView(LayoutInflater, ViewGroup, Bundle) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataVec2
     
    -
    onDeactivated(Node) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataVec3
     
    -
    onDestroy() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataVec4
     
    -
    onDestroyView() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
     
    -
    onEndTransformation(T) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addValue(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
     
    -
    onEndTransformation(TwistGesture) - Method in class com.google.ar.sceneform.ux.RotationController
    +
    addValue(FlatBufferBuilder, long) - Static method in class com.google.ar.sceneform.lullmodel.DataHashValue
     
    -
    onEndTransformation(PinchGesture) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    addValues(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
     
    -
    onEndTransformation(DragGesture) - Method in class com.google.ar.sceneform.ux.TranslationController
    +
    addValues(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
     
    -
    onFinish() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    addValueType(FlatBufferBuilder, byte) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
     
    -
    onFinish() - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    addValueType(FlatBufferBuilder, byte) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
     
    -
    onFinish() - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    addVersion(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
     
    -
    onFinish() - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    addVertexAttributes(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    onFinished(T) - Method in interface com.google.ar.sceneform.ux.BaseGesture.OnGestureEventListener
    +
    addVertexData(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    onFinished(T) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addVertexData(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    onGestureStarted(T) - Method in interface com.google.ar.sceneform.ux.BaseGestureRecognizer.OnGestureStartedListener
    +
    addVertexIndices16(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    onGestureStarted(T) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    addVertexIndices32(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    onModelAdded(RenderableInstance) - Method in interface com.google.ar.sceneform.ux.ArFragment.OnTapModelListener
    +
    addWrapR(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    onModelError(Throwable) - Method in interface com.google.ar.sceneform.ux.ArFragment.OnTapModelListener
    +
    addWrapS(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    onPause() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    addWrapT(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
     
    -
    onPeekTouch(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
     
    -
    onRequestPermissionsResult(int, String[], int[]) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    almostEqualRelativeAndAbs(float, float) - Static method in class com.google.ar.sceneform.math.MathHelper
    -
    Receives the results for permission requests.
    +
    Returns true if two floats are equal within a tolerance.
    -
    onResume() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    Ambient - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
     
    -
    onSessionConfiguration(Session, Config) - Method in interface com.google.ar.sceneform.ux.BaseArFragment.OnSessionConfigurationListener
    +
    AnchorNode - Class in com.google.ar.sceneform
    -
    The callback will only be invoked once after a Session is initialized and before it is - resumed for the first time.
    +
    Node that is automatically positioned in world space based on an ARCore Anchor.
    -
    onSessionInitialization(Session) - Method in interface com.google.ar.sceneform.ux.BaseArFragment.OnSessionInitializationListener
    +
    AnchorNode() - Constructor for class com.google.ar.sceneform.AnchorNode
    -
    The callback will only be invoked once after a Session is initialized and before it is - resumed for the first time.
    +
    Create an AnchorNode with no anchor.
    -
    onStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseGesture
    -
     
    -
    onStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    AnchorNode(Anchor) - Constructor for class com.google.ar.sceneform.AnchorNode
    +
    +
    Create an AnchorNode with the specified anchor.
    +
    +
    AndroidPreconditions - Class in com.google.ar.sceneform.utilities
    +
    +
    Helper class for common android specific preconditions used inside of RenderCore.
    +
    +
    AndroidPreconditions() - Constructor for class com.google.ar.sceneform.utilities.AndroidPreconditions
     
    -
    onStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    angleBetweenVectors(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Returns the shortest angle in degrees between two vectors.
    +
    +
    angleSize() - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
    +
    Size of the arc measured in radians.
    +
    +
    AnimatableModel - Interface in com.google.ar.sceneform.animation
    +
    +
    An AnimatableModel is an object whose properties can be animated by an ModelAnimation.
    +
    +
    animate(boolean) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Constructs and returns an ObjectAnimator for all ModelAnimation + of this object.
    +
    +
    animate(int...) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Constructs and returns an ObjectAnimator for targeted ModelAnimation with a + a given index of this object.
    +
    +
    animate(ModelAnimation...) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Constructs and returns an ObjectAnimator for a targeted ModelAnimation of + this object.
    +
    +
    animate(String...) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Constructs and returns an ObjectAnimator for targeted ModelAnimation with a + given name of this object.
    +
    +
    applyAnimationChange(ModelAnimation) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Occurs when a ModelAnimation has received any property changed.
    +
    +
    applyAnimationChange(ModelAnimation) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
     
    -
    onStart(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    ArcDef - Class in com.google.ar.sceneform.lullmodel
     
    -
    onTap(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    +
    ArcDef() - Constructor for class com.google.ar.sceneform.lullmodel.ArcDef
     
    -
    onTapPlane(HitResult, Plane, MotionEvent) - Method in interface com.google.ar.sceneform.ux.BaseArFragment.OnTapArPlaneListener
    +
    ArCoreVersion - Class in com.google.ar.sceneform.utilities
    -
    Called when an ARCore plane is tapped.
    +
    Utilities for detecting and handling the version of Ar Core.
    -
    onTouch(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    ArCoreVersion() - Constructor for class com.google.ar.sceneform.utilities.ArCoreVersion
     
    -
    onTouch(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseGestureRecognizer
    -
     
    -
    onTouch(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.TransformationSystem
    +
    ArSceneView - Class in com.google.ar.sceneform
    -
    Dispatches touch events to the gesture recognizers contained by this transformation system.
    +
    A SurfaceView that integrates with ARCore and renders a scene.
    -
    onUpdate(FrameTime) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    -
     
    -
    onUpdated(T) - Method in interface com.google.ar.sceneform.ux.BaseGesture.OnGestureEventListener
    +
    ArSceneView(Context) - Constructor for class com.google.ar.sceneform.ArSceneView
    +
    +
    Constructs a ArSceneView object and binds it to an Android Context.
    +
    +
    ArSceneView(Context, AttributeSet) - Constructor for class com.google.ar.sceneform.ArSceneView
    +
    +
    Constructs a ArSceneView object and binds it to an Android Context.
    +
    +
    asyncLoadEnabled - Variable in class com.google.ar.sceneform.rendering.Renderable
     
    -
    onUpdated(Node, FrameTime) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    attachToRenderer(Renderer) - Method in class com.google.ar.sceneform.rendering.LightInstance
     
    -
    onUpdated(T) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    attachToRenderer(Renderer) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
     
    -
    onUpdated(Node, FrameTime) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    attributes(int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
    +
    Specific vertex attributes to export.
    +
    +
    attributesAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
     
    -
    onUpdated(Node, FrameTime) - Method in class com.google.ar.sceneform.ux.TranslationController
    +
    attributesInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
     
    -
    onWindowFocusChanged(boolean) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    attributesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
     
    +
    axisAngle(Vector3, float) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a new Quaternion using an axis/angle to define the rotation
    +
    +
    axisSystem() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    The axis system used by the model asset.
    +
    +
    AxisSystem - Class in com.google.ar.sceneform.lullmodel
    +
    +
    List of different ways to interpret the orientation axis of an asset when + importing it.
    +
    - + -

    P

    +

    B

    -
    PinchGesture - Class in com.google.ar.sceneform.ux
    +
    b - Variable in class com.google.ar.sceneform.rendering.Color
    +
     
    +
    b() - Method in class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    back() - Static method in class com.google.ar.sceneform.math.Vector3
    -
    Gesture for when the user performs a two-finger pinch motion on the touch screen.
    +
    Gets a Vector3 set to (0, 0, 1)
    -
    PinchGesture(GesturePointersUtility, MotionEvent, int) - Constructor for class com.google.ar.sceneform.ux.PinchGesture
    +
    BaseColor - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
     
    -
    PinchGesture.OnGestureEventListener - Interface in com.google.ar.sceneform.ux
    +
    bb - Variable in class com.google.flatbuffers.Struct
    +
    +
    The underlying ByteBuffer to hold the data of the Struct.
    +
    +
    bb - Variable in class com.google.flatbuffers.Table
    +
    +
    The underlying ByteBuffer to hold the data of the Table.
    +
    +
    bb_pos - Variable in class com.google.flatbuffers.Struct
    -
    Interface definition for callbacks to be invoked by a PinchGesture.
    +
    Used to hold the position of the `bb` buffer.
    -
    PinchGestureRecognizer - Class in com.google.ar.sceneform.ux
    +
    bb_pos - Variable in class com.google.flatbuffers.Table
    -
    Gesture Recognizer for when the user performs a two-finger pinch motion on the touch screen.
    +
    Used to hold the position of the `bb` buffer.
    -
    PinchGestureRecognizer(GesturePointersUtility) - Constructor for class com.google.ar.sceneform.ux.PinchGestureRecognizer
    +
    beginSample() - Method in class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
    +
    Call at the point in execution when the tracker should start measuring elapsed milliseconds.
    +
    +
    beginSample() - Method in class com.google.ar.sceneform.utilities.TimeAccumulator
     
    -
    PinchGestureRecognizer.OnGestureStartedListener - Interface in com.google.ar.sceneform.ux
    +
    blendAttributes(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    -
    Interface definition for a callbacks to be invoked when a PinchGesture starts.
    +
    Describes the structure of the vertex data for the blend shapes.
    -
    pixelsToInches(float) - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    blendAttributes(VertexAttribute, int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    blendAttributesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    BlendShape - Class in com.google.ar.sceneform.lullmodel
     
    -
    pixelsToInches(float) - Method in class com.google.ar.sceneform.ux.GesturePointersUtility
    +
    BlendShape() - Constructor for class com.google.ar.sceneform.lullmodel.BlendShape
     
    -
    PlaneDiscoveryController - Class in com.google.ar.sceneform.ux
    +
    blendShapes(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    -
    This view manages showing the plane discovery instructions view.
    +
    A collection of blendshapes, if they exist.
    -
    PlaneDiscoveryController(View) - Constructor for class com.google.ar.sceneform.ux.PlaneDiscoveryController
    -
     
    -
    - - - -

    R

    -
    -
    releasePointerId(int) - Method in class com.google.ar.sceneform.ux.GesturePointersUtility
    +
    blendShapes(BlendShape, int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    removeOnGestureStartedListener(BaseGestureRecognizer.OnGestureStartedListener<T>) - Method in class com.google.ar.sceneform.ux.BaseGestureRecognizer
    +
    blendShapesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
     
    -
    removeSelectionVisual(BaseTransformableNode) - Method in class com.google.ar.sceneform.ux.FootprintSelectionVisualizer
    +
    BoneIndices - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
     
    -
    removeSelectionVisual(BaseTransformableNode) - Method in interface com.google.ar.sceneform.ux.SelectionVisualizer
    +
    boneNames(int) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    -
    Removes the visual that was indicating a BaseTransformableNode is currently selected.
    +
    The names of each bone in the skeleton.
    -
    removeTransformationController(BaseTransformationController<?>) - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    +
    boneNamesLength() - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
     
    -
    requestDangerousPermissions() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    boneParents(int) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    -
    Starts the process of requesting dangerous permissions.
    +
    Effectively a map of a bone to its parent bone.
    -
    requestInstall() - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    boneParentsAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
     
    -
    retainPointerId(int) - Method in class com.google.ar.sceneform.ux.GesturePointersUtility
    +
    boneParentsInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
     
    -
    RotationController - Class in com.google.ar.sceneform.ux
    +
    boneParentsLength() - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    boneTransforms(int) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    -
    Manipulates the rotation of a BaseTransformableNode using a TwistGestureRecognizer.
    +
    For information on how the matrices below are used for skinning, see + RigSystem::UpdateShaderTransforms().
    -
    RotationController(BaseTransformableNode, TwistGestureRecognizer) - Constructor for class com.google.ar.sceneform.ux.RotationController
    +
    boneTransforms(Mat4x3, int) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
     
    -
    - - - -

    S

    -
    -
    ScaleController - Class in com.google.ar.sceneform.ux
    +
    boneTransformsLength() - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    BoneWeights - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    Bottom - Static variable in class com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment
    -
    Manipulates the Scale of a BaseTransformableNode using a Pinch PinchGestureRecognizer.
    +
    Each entity will align to the bottom of its row.
    -
    ScaleController(BaseTransformableNode, PinchGestureRecognizer) - Constructor for class com.google.ar.sceneform.ux.ScaleController
    +
    BOTTOM - com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment
     
    -
    select() - Method in class com.google.ar.sceneform.ux.BaseTransformableNode
    +
    boundingBox() - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    -
    Sets this as the selected node in the TransformationSystem if there is no currently selected - node or if the currently selected node is not actively being transformed.
    +
    The minimum and maximum bounds contained in the vertex data.
    -
    SelectionVisualizer - Interface in com.google.ar.sceneform.ux
    +
    boundingBox(AabbDef) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    Box - Class in com.google.ar.sceneform.collision
    -
    Interface to visual when a BaseTransformableNode is selected.
    +
    Mathematical representation of a box.
    -
    selectNode(BaseTransformableNode) - Method in class com.google.ar.sceneform.ux.TransformationSystem
    +
    Box() - Constructor for class com.google.ar.sceneform.collision.Box
    -
    Sets a BaseTransformableNode as the selected node if there is no currently selected - node or if the currently selected node is not actively being transformed.
    +
    Create a box with a center of (0,0,0) and a size of (1,1,1).
    -
    setAllowedPlaneTypes(EnumSet<Plane.Type>) - Method in class com.google.ar.sceneform.ux.TranslationController
    +
    Box(Vector3) - Constructor for class com.google.ar.sceneform.collision.Box
    -
    Sets which types of ArCore Planes this TranslationController is allowed to translate on.
    +
    Create a box with a center of (0,0,0) and a specified size.
    -
    setCanRequestDangerousPermissions(Boolean) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    Box(Vector3, Vector3) - Constructor for class com.google.ar.sceneform.collision.Box
    -
    If true, BaseArFragment.requestDangerousPermissions() returns without doing anything, if false - permissions will be requested
    +
    Create a box with a specified center and size.
    -
    setElasticity(float) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    boxIntersection(Box) - Method in class com.google.ar.sceneform.collision.Box
    +
     
    +
    boxIntersection(Box) - Method in class com.google.ar.sceneform.collision.CollisionShape
     
    -
    setEnabled(boolean) - Method in class com.google.ar.sceneform.ux.BaseTransformationController
    +
    boxIntersection(Box) - Method in class com.google.ar.sceneform.collision.Sphere
     
    -
    setFootprintRenderable(ModelRenderable) - Method in class com.google.ar.sceneform.ux.FootprintSelectionVisualizer
    +
    BrdfLookupTable - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
     
    -
    setGestureEventListener(BaseGesture.OnGestureEventListener<T>) - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    BufferHelper - Class in com.google.ar.sceneform.utilities
     
    -
    setInstructionView(View) - Method in class com.google.ar.sceneform.ux.PlaneDiscoveryController
    +
    BufferHelper() - Constructor for class com.google.ar.sceneform.utilities.BufferHelper
    +
     
    +
    build() - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Creates a new Light based on the parameters set previously
    +
    +
    build() - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Creates a new LightProbe based on the parameters set previously
    +
    +
    build() - Method in class com.google.ar.sceneform.rendering.Material.Builder
    -
    Set the instructions view to present over the Sceneform view.
    +
    Creates a new Material based on the parameters set previously.
    -
    setMaxScale(float) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    build() - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Builder
     
    -
    setMinScale(float) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    build() - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh.Builder
     
    -
    setOnSessionConfigurationListener(BaseArFragment.OnSessionConfigurationListener) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    build() - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Creates a new Texture based on the parameters set previously
    +
    +
    build() - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    -
    Registers a callback to be invoked when the ARCore Session is to configured.
    +
    Construct a Sampler from the properties of the Builder.
    -
    setOnSessionInitializationListener(BaseArFragment.OnSessionInitializationListener) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    build() - Method in class com.google.ar.sceneform.rendering.Vertex.Builder
    +
     
    +
    build() - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    build() - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters.Builder
    +
     
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.LightProbe
    -
    Registers a callback to be invoked when the ARCore Session is initialized.
    +
    Constructs a default LightProbe, if nothing else is set
    -
    setOnTapArPlaneListener(BaseArFragment.OnTapArPlaneListener) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.Material
    -
    Registers a callback to be invoked when an ARCore Plane is tapped.
    +
    Constructs a Material
    -
    setOnTapPlaneGlbModel(String, ArFragment.OnTapModelListener) - Method in class com.google.ar.sceneform.ux.ArFragment
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.ModelRenderable
    -
    Loads a monolithic binary glTF and add it to the fragment when the user tap on a detected - plane surface.
    +
    Constructs a ModelRenderable.
    -
    setRotationRateDegrees(float) - Method in class com.google.ar.sceneform.ux.RotationController
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.RenderableDefinition
     
    -
    setSelectionVisualizer(SelectionVisualizer) - Method in class com.google.ar.sceneform.ux.TransformationSystem
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.Texture
    -
    Sets the selection visualizer used to visualize which BaseTransformableNode is - currently selected.
    +
    Constructs a default texture, if nothing else is set
    -
    setSensitivity(float) - Method in class com.google.ar.sceneform.ux.ScaleController
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.Texture.Sampler
     
    -
    setupSelectionRenderable(FootprintSelectionVisualizer) - Method in class com.google.ar.sceneform.ux.BaseArFragment
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.Vertex
     
    -
    show() - Method in class com.google.ar.sceneform.ux.PlaneDiscoveryController
    +
    builder() - Static method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Constructs a ViewRenderable
    +
    +
    builder() - Static method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
    +
    Constructs a builder, all required fields must be specified.
    +
    +
    builder(Light.Type) - Static method in class com.google.ar.sceneform.rendering.Light
    -
    Show the plane discovery UX instructions for finding a plane.
    +
    Constructs a default light, if nothing else is set
    +
    Builder() - Constructor for class com.google.ar.sceneform.rendering.ModelRenderable.Builder
    +
     
    +
    Builder() - Constructor for class com.google.ar.sceneform.rendering.RenderableDefinition.Builder
    +
     
    +
    Builder() - Constructor for class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh.Builder
    +
     
    +
    Builder() - Constructor for class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
     
    +
    Builder() - Constructor for class com.google.ar.sceneform.rendering.Vertex.Builder
    +
     
    +
    Builder() - Constructor for class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters.Builder
    +
     
    +
    buildInstanceData(RenderableInstance, int) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    Bump - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    ByteBufferFactory() - Constructor for class com.google.flatbuffers.FlatBufferBuilder.ByteBufferFactory
    +
     
    - + -

    T

    +

    C

    -
    targetNode - Variable in class com.google.ar.sceneform.ux.BaseGesture
    +
    c0() - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    c0(Vec4) - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    c1() - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
     
    -
    TransformableNode - Class in com.google.ar.sceneform.ux
    +
    c1(Vec4) - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    c2() - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    c2(Vec4) - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    callOnHierarchy(Consumer<Node>) - Method in class com.google.ar.sceneform.Node
    -
    Node that can be selected, translated, rotated, and scaled using gestures from TransformationSystem.
    +
    Traverses the hierarchy and call a method on each node (including this node).
    -
    TransformableNode(TransformationSystem) - Constructor for class com.google.ar.sceneform.ux.TransformableNode
    -
     
    -
    TransformationSystem - Class in com.google.ar.sceneform.ux
    +
    callOnHierarchy(Consumer<Node>) - Method in class com.google.ar.sceneform.NodeParent
    -
    Coordinates which BaseTransformableNode is currently selected.
    +
    Traverse the hierarchy and call a method on each node.
    -
    TransformationSystem(DisplayMetrics, SelectionVisualizer) - Constructor for class com.google.ar.sceneform.ux.TransformationSystem
    -
     
    -
    TranslationController - Class in com.google.ar.sceneform.ux
    +
    Camera - Class in com.google.ar.sceneform
    +
    +
    Represents a virtual camera, which determines the perspective through which the scene is viewed.
    +
    +
    CameraProvider - Interface in com.google.ar.sceneform.rendering
    +
    +
    Required interface for a virtual camera.
    +
    +
    CameraStream - Class in com.google.ar.sceneform.rendering
    -
    Manipulates the position of a BaseTransformableNode using a DragGestureRecognizer.
    +
    Displays the Camera stream using Filament.
    -
    TranslationController(BaseTransformableNode, DragGestureRecognizer) - Constructor for class com.google.ar.sceneform.ux.TranslationController
    +
    CameraStream(int, Renderer) - Constructor for class com.google.ar.sceneform.rendering.CameraStream
     
    -
    tryCreateGestures(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseGestureRecognizer
    +
    CameraStream.DepthMode - Enum in com.google.ar.sceneform.rendering
    +
    +
    The DepthMode Enum is used to reflect the Session configuration + for the DepthMode to decide if the occlusion material should be set and if + frame.acquireDepthImage() or frame.acquireRawDepthImage() should be called to get + the input data for the depth texture.
    +
    +
    CameraStream.DepthOcclusionMode - Enum in com.google.ar.sceneform.rendering
    +
    +
    Independent from the Session configuration, the user can decide with the + DeptModeUsage which Material should be set to the + CameraStream renderable.
    +
    +
    canAddChild(Node, StringBuilder) - Method in class com.google.ar.sceneform.Node
     
    -
    tryCreateGestures(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.DragGestureRecognizer
    +
    canAddChild(Node, StringBuilder) - Method in class com.google.ar.sceneform.NodeParent
     
    -
    tryCreateGestures(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.PinchGestureRecognizer
    +
    captureLightingValues(Consumer<EnvironmentalHdrLightEstimate>) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Causes a serialized version of the next captured light estimate to be saved to disk.
    +
    +
    Center - Static variable in class com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment
    +
    +
    The layout will be centered horizontally on the canvas.
    +
    +
    Center - Static variable in class com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment
    +
    +
    Each entity will be centered within its row.
    +
    +
    CENTER - com.google.ar.sceneform.rendering.ViewRenderable.HorizontalAlignment
     
    -
    tryCreateGestures(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.TwistGestureRecognizer
    +
    CENTER - com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment
     
    -
    TwistGesture - Class in com.google.ar.sceneform.ux
    +
    ChangeId - Class in com.google.ar.sceneform.utilities
    -
    Gesture for when the user performs a two-finger twist motion on the touch screen.
    +
    Used to identify when the state of an object has changed by incrementing an integer id.
    -
    TwistGesture(GesturePointersUtility, MotionEvent, int) - Constructor for class com.google.ar.sceneform.ux.TwistGesture
    +
    ChangeId() - Constructor for class com.google.ar.sceneform.utilities.ChangeId
    +
     
    +
    checkChanged(int) - Method in class com.google.ar.sceneform.utilities.ChangeId
     
    -
    TwistGesture.OnGestureEventListener - Interface in com.google.ar.sceneform.ux
    +
    checkElementIndex(int, int) - Static method in class com.google.ar.sceneform.utilities.Preconditions
    -
    Interface definition for callbacks to be invoked by a TwistGesture.
    +
    Ensures that index specifies a valid element in an array, list or string of size + size.
    -
    TwistGestureRecognizer - Class in com.google.ar.sceneform.ux
    +
    checkElementIndex(int, int, String) - Static method in class com.google.ar.sceneform.utilities.Preconditions
    -
    Gesture Recognizer for when the user performs a two-finger twist motion on the touch screen.
    +
    Ensures that index specifies a valid element in an array, list or string of size + size.
    -
    TwistGestureRecognizer(GesturePointersUtility) - Constructor for class com.google.ar.sceneform.ux.TwistGestureRecognizer
    -
     
    -
    TwistGestureRecognizer.OnGestureStartedListener - Interface in com.google.ar.sceneform.ux
    +
    checkIfDepthIsEnabled(Session) - Method in class com.google.ar.sceneform.rendering.CameraStream
    -
    Interface definition for a callbacks to be invoked when a TwistGesture starts.
    +
    + The Session holds the information if the + DepthMode is configured or not.
    -
    - - - -

    U

    -
    -
    updateGesture(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    checkMinAndroidApiLevel() - Static method in class com.google.ar.sceneform.utilities.AndroidPreconditions
    +
    +
    Enforce the minimum Android api level
    +
    +
    checkNotNull(T) - Static method in class com.google.ar.sceneform.utilities.Preconditions
    +
    +
    Ensures that an object reference passed as a parameter to the calling method is not null.
    +
    +
    checkNotNull(T, Object) - Static method in class com.google.ar.sceneform.utilities.Preconditions
    +
    +
    Ensures that an object reference passed as a parameter to the calling method is not null.
    +
    +
    checkPreconditions() - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
     
    -
    updateGesture(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.DragGesture
    +
    checkState(boolean) - Static method in class com.google.ar.sceneform.utilities.Preconditions
    +
    +
    Ensures the truth of an expression involving the state of the calling instance, but not + involving any parameters to the calling method.
    +
    +
    checkState(boolean, Object) - Static method in class com.google.ar.sceneform.utilities.Preconditions
    +
    +
    Ensures the truth of an expression involving the state of the calling instance, but not + involving any parameters to the calling method.
    +
    +
    checkUiThread() - Static method in class com.google.ar.sceneform.utilities.AndroidPreconditions
    +
    +
    Ensure that the code is being executed on Android's UI thread.
    +
    +
    clamp(float, float, float) - Static method in class com.google.ar.sceneform.math.MathHelper
    +
    +
    Clamps a value between a minimum and maximum range.
    +
    +
    CLAMP_TO_EDGE - com.google.ar.sceneform.rendering.Texture.Sampler.WrapMode
    +
     
    +
    ClampToBorder - Static variable in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    ClampToEdge - Static variable in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    CleanupRegistry<T> - Class in com.google.ar.sceneform.rendering
    +
    +
    Maintains a ReferenceQueue and executes a Runnable after each object in the queue + is garbage collected.
    +
    +
    CleanupRegistry() - Constructor for class com.google.ar.sceneform.rendering.CleanupRegistry
    +
     
    +
    CleanupRegistry(HashSet<CleanupItem<T>>, ReferenceQueue<T>) - Constructor for class com.google.ar.sceneform.rendering.CleanupRegistry
    +
     
    +
    clear() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Reset the FlatBufferBuilder by purging all data that it holds.
    +
    +
    cloneByteBuffer(ByteBuffer) - Static method in class com.google.ar.sceneform.utilities.BufferHelper
    +
    +
    + Create a new independent ByteBuffer from a + source ByteBuffer.
    +
    +
    cmPerUnit() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Distinct from 'scale'; defines the unit we expect positions to be in.
    +
    +
    collidable() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
    +
    The model used for collision.
    +
    +
    collidable(ModelPipelineCollidableDef) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    Collider - Class in com.google.ar.sceneform.collision
    +
    +
    Represents the collision information associated with a transformation that can be attached to the + collision system.
    +
    +
    Collider(TransformProvider, CollisionShape) - Constructor for class com.google.ar.sceneform.collision.Collider
    +
     
    +
    collisionShape - Variable in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    CollisionShape - Class in com.google.ar.sceneform.collision
    +
    +
    Base class for all types of shapes that collision checks can be performed against.
    +
    +
    CollisionSystem - Class in com.google.ar.sceneform.collision
    +
    +
    Manages all of the colliders within a scene.
    +
    +
    CollisionSystem() - Constructor for class com.google.ar.sceneform.collision.CollisionSystem
    +
     
    +
    Color - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Color - Class in com.google.ar.sceneform.rendering
    +
    +
    An RGBA color.
    +
    +
    Color - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    Color() - Constructor for class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    Color() - Constructor for class com.google.ar.sceneform.rendering.Color
    +
    +
    Construct a Color and default it to white (1, 1, 1, 1).
    +
    +
    Color(float, float, float) - Constructor for class com.google.ar.sceneform.rendering.Color
    +
    +
    Construct a color with the RGB values passed in and an alpha of 1.
    +
    +
    Color(float, float, float, float) - Constructor for class com.google.ar.sceneform.rendering.Color
    +
    +
    Construct a color with the RGBA values passed in.
    +
    +
    Color(int) - Constructor for class com.google.ar.sceneform.rendering.Color
    +
    +
    Construct a color with an integer in the sRGB color space packed as an ARGB value.
    +
    +
    Color(Color) - Constructor for class com.google.ar.sceneform.rendering.Color
    +
    +
    Construct a Color with the values of another color.
    +
    +
    COLOR - com.google.ar.sceneform.rendering.Texture.Usage
    +
    +
    Texture contains a color map
    +
    +
    com.google.ar.sceneform - package com.google.ar.sceneform
    +
     
    +
    com.google.ar.sceneform.animation - package com.google.ar.sceneform.animation
    +
     
    +
    com.google.ar.sceneform.collision - package com.google.ar.sceneform.collision
    +
     
    +
    com.google.ar.sceneform.common - package com.google.ar.sceneform.common
    +
     
    +
    com.google.ar.sceneform.lullmodel - package com.google.ar.sceneform.lullmodel
    +
     
    +
    com.google.ar.sceneform.math - package com.google.ar.sceneform.math
    +
     
    +
    com.google.ar.sceneform.rendering - package com.google.ar.sceneform.rendering
    +
     
    +
    com.google.ar.sceneform.resources - package com.google.ar.sceneform.resources
    +
     
    +
    com.google.ar.sceneform.utilities - package com.google.ar.sceneform.utilities
    +
     
    +
    com.google.flatbuffers - package com.google.flatbuffers
    +
     
    +
    compareStrings(int, byte[], ByteBuffer) - Static method in class com.google.flatbuffers.Table
    +
    +
    Compare string from the buffer with the 'String' object.
    +
    +
    compareStrings(int, int, ByteBuffer) - Static method in class com.google.flatbuffers.Table
    +
    +
    Compare two strings in the buffer.
    +
    +
    Constants - Class in com.google.flatbuffers
    +
    +
    Class that holds shared constants
    +
    +
    Constants() - Constructor for class com.google.flatbuffers.Constants
    +
     
    +
    Controller - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    Controller2 - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    copyByteBuffer(ByteBuffer) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    copyByteBufferToArray(ByteBuffer) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    CREATE_LOADER - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
     
    +
    CREATE_RENDERABLE - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
     
    +
    createAabbDef(FlatBufferBuilder, float, float, float, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.AabbDef
    +
     
    +
    createAabbsVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createArcDef(FlatBufferBuilder, float, float, float, float, int) - Static method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
     
    +
    createAttributesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    createBlendShape(FlatBufferBuilder, long, int, int, int, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createBlendShapesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createBoneNamesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    createBoneParentsVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    createBoneParentsVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    createByteVector(byte[]) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a byte array in the buffer.
    +
    +
    createByteVector(byte[], int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a byte array in the buffer.
    +
    +
    createByteVector(ByteBuffer) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a byte array in the buffer.
    +
    +
    createCamera() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createCamera() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    createCamera(int) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createCamera(int) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    createCameraTexture() - Static method in class com.google.ar.sceneform.rendering.GLHelper
    +
     
    +
    createColor(FlatBufferBuilder, float, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    createDataBool(FlatBufferBuilder, boolean) - Static method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    createDataBytes(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    createDataFloat(FlatBufferBuilder, float) - Static method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    createDataHashValue(FlatBufferBuilder, long) - Static method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    createDataInt(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    createDataString(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    createDataVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    createDataVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    createFence() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createFence() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    createIndices16Vector(FlatBufferBuilder, short[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createIndices32Vector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createInstance(TransformProvider) - Method in class com.google.ar.sceneform.rendering.Light
    +
     
    +
    createInstance(TransformProvider) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    createKeyVariantPairDef(FlatBufferBuilder, int, long, byte, int) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    createLodsVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    createMat4x3(FlatBufferBuilder, float, float, float, float, float, float, float, float, float, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    createMaterialDef(FlatBufferBuilder, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    createMaterialsVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createMaterialsVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    createMaterialTextureDef(FlatBufferBuilder, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    createModelIndexRange(FlatBufferBuilder, long, long) - Static method in class com.google.ar.sceneform.lullmodel.ModelIndexRange
    +
     
    +
    createModelInstanceDef(FlatBufferBuilder, int, int, int, int, int, int, long, boolean, int, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createModelPipelineCollidableDef(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    createModelPipelineDef(FlatBufferBuilder, int, int, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    createModelPipelineImportDef(FlatBufferBuilder, int, int, boolean, float, int, float, int, boolean, boolean, boolean, boolean, boolean, boolean, float, int, boolean) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    createModelPipelineMaterialDef(FlatBufferBuilder, int, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    createModelPipelineRenderableDef(FlatBufferBuilder, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    createModelPipelineSkeletonDef(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    createQuat(FlatBufferBuilder, float, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    createRect(FlatBufferBuilder, float, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    createRecti(FlatBufferBuilder, int, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    createRenderablesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    createRenderer() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createRenderer() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    createScene() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createScene() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    createShaderToMeshBonesVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createShaderToMeshBonesVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createSkeletonDef(FlatBufferBuilder, int, int, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    createSortedVectorOfTables(T, int[]) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a vector of sorted by the key tables.
    +
    +
    createSourcesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    createString(CharSequence) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Encode the string `s` in the buffer using UTF-8.
    +
    +
    createString(ByteBuffer) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer.
    +
    +
    createSwapChain(Object) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createSwapChain(Object) - Method in class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    createSwapChain(Object) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
    +
    Valid surface types: - Android: Surface - Other: none
    +
    +
    createSwapChain(Object, long) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createSwapChain(Object, long) - Method in class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    createSwapChain(Object, long) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
    +
    Valid surface types: - Android: Surface - Other: none
    +
    +
    createSwapChainFromNativeSurface(NativeSurface, long) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createSwapChainFromNativeSurface(NativeSurface, long) - Method in class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    createSwapChainFromNativeSurface(NativeSurface, long) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    createTangentDataVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createTangentDataVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createTangentIndices16Vector(FlatBufferBuilder, short[]) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createTangentIndices32Vector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createTargetMeshesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    createTextureDef(FlatBufferBuilder, int, int, int, boolean, boolean, int, int, int, int, int, int, boolean) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    createTexturesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    createTexturesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    createTexturesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    createUnintializedVector(int, int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a new array/vector and return a ByteBuffer to be filled later.
    +
    +
    createUsagePerChannelVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    createValuesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    createValuesVector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    createValueVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    createValueVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    createVariantArrayDef(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    createVariantArrayDefImpl(FlatBufferBuilder, byte, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    createVariantMapDef(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    createVec2(FlatBufferBuilder, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Vec2
    +
     
    +
    createVec2i(FlatBufferBuilder, int, int) - Static method in class com.google.ar.sceneform.lullmodel.Vec2i
    +
     
    +
    createVec3(FlatBufferBuilder, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    createVec4(FlatBufferBuilder, float, float, float, float) - Static method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    createVectorOfTables(int[]) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Create a vector of tables.
    +
    +
    createVertexAttribute(FlatBufferBuilder, int, int) - Static method in class com.google.ar.sceneform.lullmodel.VertexAttribute
    +
     
    +
    createVertexDataVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createVertexDataVector(FlatBufferBuilder, byte[]) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createVertexDataVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createVertexDataVector(FlatBufferBuilder, ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    createVertexIndices16Vector(FlatBufferBuilder, short[]) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createVertexIndices32Vector(FlatBufferBuilder, int[]) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    createView() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    createView() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    cross(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Get cross product of two Vector3's
    +
    +
    CubeMap - Static variable in class com.google.ar.sceneform.lullmodel.TextureTargetType
    +
     
    +
    + + + +

    D

    +
    +
    data - Variable in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    data(int) - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    DATA - com.google.ar.sceneform.rendering.Texture.Usage
    +
    +
    Texture contains arbitrary data
    +
    +
    dataAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    DataBool - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataBool - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataBool() - Constructor for class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    dataBuffer() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Get the ByteBuffer representing the FlatBuffer.
    +
    +
    DataBytes - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataBytes - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataBytes() - Constructor for class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    DataFloat - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataFloat - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataFloat() - Constructor for class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    DataHashValue - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataHashValue - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataHashValue() - Constructor for class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    dataInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    DataInt - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataInt - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataInt() - Constructor for class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    dataLength() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    DataQuat - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataQuat - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataQuat() - Constructor for class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    DataString - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataString - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataString() - Constructor for class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    DataVec2 - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataVec2 - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataVec2() - Constructor for class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    DataVec3 - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataVec3 - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataVec3() - Constructor for class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    DataVec4 - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    DataVec4 - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    DataVec4() - Constructor for class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    decodeUtf8(ByteBuffer, int, int) - Method in class com.google.flatbuffers.Utf8
    +
    +
    Decodes the given UTF-8 portion of the ByteBuffer into a String.
    +
    +
    decodeUtf8(ByteBuffer, int, int) - Method in class com.google.flatbuffers.Utf8Safe
    +
    +
    Decodes the given UTF-8 portion of the ByteBuffer into a String.
    +
    +
    decomposeRotation(Vector3, Matrix) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    decomposeRotation(Vector3, Quaternion) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    decomposeScale(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    decomposeTranslation(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    DEFAULT_AMBIENT_SH_SCALE_FOR_FILAMENT - Static variable in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
     
    +
    DEFAULT_ANIMATION_FRAME_RATE - Static variable in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    DEFAULT_DIRECT_INTENSITY_FOR_FILAMENT - Static variable in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
     
    +
    DEFAULT_HDR_PARAMETERS - Static variable in class com.google.ar.sceneform.Scene
    +
     
    +
    DEFAULT_REFLECTION_SCALE_FOR_FILAMENT - Static variable in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
     
    +
    DEFAULT_WEIGHT - Static variable in class com.google.ar.sceneform.utilities.MovingAverage
    +
     
    +
    DEPTH - com.google.ar.sceneform.rendering.CameraStream.DepthMode
    +
    +
    The Session is configured to use the DepthMode AUTOMATIC
    +
    +
    DEPTH_OCCLUSION_DISABLED - com.google.ar.sceneform.rendering.CameraStream.DepthOcclusionMode
    +
    +
    + Use this value if the standard camera material should be applied to + the CameraStream Renderable even if the Session configuration has set + the DepthMode to Config.DepthMode.AUTOMATIC or + Config.DepthMode.RAW_DEPTH_ONLY.
    +
    +
    DEPTH_OCCLUSION_ENABLED - com.google.ar.sceneform.rendering.CameraStream.DepthOcclusionMode
    +
    +
    Set the occlusion material.
    +
    +
    DepthTexture - Class in com.google.ar.sceneform.rendering
    +
    +
    + The DepthTexture class holds a special Texture to store + information from a DepthImage or RawDepthImage to implement the occlusion of + virtual objects behind real world objects.
    +
    +
    DepthTexture(int, int) - Constructor for class com.google.ar.sceneform.rendering.DepthTexture
    +
    +
    + A call to this constructor creates a new Filament Texture which is + later used to feed in data from a DepthImage.
    +
    +
    destroy() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroy() - Method in class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    destroy() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroy() - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Required to exit Sceneform.
    +
    +
    destroyAllResources() - Method in class com.google.ar.sceneform.rendering.CleanupRegistry
    +
    +
    Ignores reference count and releases any associated resources
    +
    +
    destroyAllResources() - Static method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Immediately releases all rendering resources, even if in use.
    +
    +
    destroyAllResources() - Method in class com.google.ar.sceneform.rendering.ResourceManager
    +
    +
    Forcibly deletes all tracked references
    +
    +
    destroyAllResources() - Method in interface com.google.ar.sceneform.resources.ResourceHolder
    +
    +
    Ignores reference count and disposes any associated resources.
    +
    +
    destroyAllResources() - Method in class com.google.ar.sceneform.resources.ResourceRegistry
    +
    +
    Removes all cache entries.
    +
    +
    destroyAllResources() - Static method in class com.google.ar.sceneform.SceneView
    +
    +
    Immediately releases all rendering resources, even if in use.
    +
    +
    destroyCamera(Camera) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyCamera(Camera) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyContext(EGLContext) - Static method in class com.google.ar.sceneform.rendering.GLHelper
    +
     
    +
    destroyEngine() - Static method in class com.google.ar.sceneform.rendering.EngineInstance
    +
     
    +
    destroyEntity(int) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyEntity(int) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyFence(Fence) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyFence(Fence) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyIndexBuffer(IndexBuffer) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyIndexBuffer(IndexBuffer) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyIndirectLight(IndirectLight) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyIndirectLight(IndirectLight) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyMaterial(Material) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyMaterial(Material) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyMaterialInstance(MaterialInstance) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyMaterialInstance(MaterialInstance) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyRenderer(Renderer) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyRenderer(Renderer) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyScene(Scene) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyScene(Scene) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroySkybox(Skybox) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroySkybox(Skybox) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyStream(Stream) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyStream(Stream) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroySwapChain(SwapChain) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroySwapChain(SwapChain) - Method in class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    destroySwapChain(SwapChain) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyTexture(Texture) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyTexture(Texture) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyVertexBuffer(VertexBuffer) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyVertexBuffer(VertexBuffer) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    destroyView(View) - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    destroyView(View) - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    detachFromRenderer() - Method in class com.google.ar.sceneform.rendering.LightInstance
    +
     
    +
    detachFromRenderer() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    DeviceType - Class in com.google.ar.sceneform.lullmodel
    +
    +
    Potential Input Devices (matches enum in input_manager.h)
    +
    +
    DiffuseColor - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    DiffuseEnvironment - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    DIRECTIONAL - com.google.ar.sceneform.rendering.Light.Type
    +
    +
    Approximates an infinitely far away, purely directional light
    +
    +
    disableHeadlessEngine() - Static method in class com.google.ar.sceneform.rendering.EngineInstance
    +
     
    +
    dispose() - Method in class com.google.ar.sceneform.rendering.LightInstance
    +
     
    +
    dispose() - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
     
    +
    dispose() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    dispose() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    doFrame(long) - Method in class com.google.ar.sceneform.ArSceneView
    +
     
    +
    doFrame(long) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Callback that occurs for each display frame.
    +
    +
    doFrameNoRepost(long) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Callback that occurs for each display frame.
    +
    +
    dot(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Get dot product of two Vector3's
    +
    +
    down() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 set to (0, -1, 0)
    +
    +
    DownLeft - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added rightmost, and subsequent entities go down + (and then left if wrapping is enabled).
    +
    +
    DOWNLOAD_MODEL - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
     
    +
    downloadAndProcessRenderable(Callable<InputStream>) - Method in class com.google.ar.sceneform.rendering.LoadRenderableFromFilamentGltfTask
    +
    +
    Returns CompletableFuture for a new Renderable.
    +
    +
    DownRight - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added leftmost, and subsequent entities go down + (and then right if wrapping is enabled).
    +
    +
    DpToMetersViewSizer - Class in com.google.ar.sceneform.rendering
    +
    +
    Controls the size of a ViewRenderable in a Scene by + defining how many dp (density-independent pixels) there are per meter.
    +
    +
    DpToMetersViewSizer(int) - Constructor for class com.google.ar.sceneform.rendering.DpToMetersViewSizer
    +
    +
    Constructor for creating a sizer for controlling the size of a ViewRenderable by + defining how many dp there are per meter.
    +
    +
    drawableResourceNameToIdentifier(Context, String) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Return the integer resource id for the specified resource name.
    +
    +
    + + + +

    E

    +
    +
    Emissive - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    Empty - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    EMPTY_ID - Static variable in class com.google.ar.sceneform.utilities.ChangeId
    +
     
    +
    enableCaching(long, File, String) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Enables HTTP caching, remote Uri requests responses are cached to cacheBaseDir/cacheFolderName
    +
    +
    enableCaching(Context) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Enables HTTP caching with default settings, remote Uri requests responses are cached to + cacheBaseDir/cacheFolderName
    +
    +
    enableDebug(boolean) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    If enabled, provides various visualizations for debugging.
    +
    +
    enableHeadlessEngine() - Static method in class com.google.ar.sceneform.rendering.EngineInstance
    +
     
    +
    enablePerformanceMode() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Sets a high performance configuration for the filament view.
    +
    +
    encodedLength(CharSequence) - Method in class com.google.flatbuffers.Utf8
    +
    +
    Returns the number of bytes in the UTF-8-encoded form of sequence.
    +
    +
    encodedLength(CharSequence) - Method in class com.google.flatbuffers.Utf8Safe
    +
     
    +
    encodeUtf8(CharSequence, ByteBuffer) - Method in class com.google.flatbuffers.Utf8
    +
    +
    Encodes the given characters to the target ByteBuffer using UTF-8 encoding.
    +
    +
    encodeUtf8(CharSequence, ByteBuffer) - Method in class com.google.flatbuffers.Utf8Safe
    +
    +
    Encodes the given characters to the target ByteBuffer using UTF-8 encoding.
    +
    +
    end() - Method in class com.google.ar.sceneform.lullmodel.ModelIndexRange
    +
     
    +
    endBlendShape(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    endDataBool(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    endDataBytes(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    endDataFloat(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    endDataHashValue(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    endDataInt(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    endDataQuat(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    endDataString(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    endDataVec2(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    endDataVec3(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    endDataVec4(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    endKeyVariantPairDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    endMaterialDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    endMaterialTextureDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    endModelDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    endModelInstanceDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    endModelPipelineCollidableDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    endModelPipelineDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    endModelPipelineImportDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    endModelPipelineMaterialDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    endModelPipelineRenderableDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    endModelPipelineSkeletonDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    endObject() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finish off writing the object that is under construction.
    +
    +
    endSample() - Method in class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
    +
    Call at the point in execution when the tracker should stop measuring elapsed milliseconds and + post a new sample.
    +
    +
    endSample() - Method in class com.google.ar.sceneform.utilities.TimeAccumulator
    +
     
    +
    endSkeletonDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    endSubmeshAabb(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    endTextureDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    endVariantArrayDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    endVariantArrayDefImpl(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    endVariantMapDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    endVector() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finish off the creation of an array and all its elements.
    +
    +
    EngineInstance - Class in com.google.ar.sceneform.rendering
    +
    +
    Store a single Filament Engine instance.
    +
    +
    EngineInstance() - Constructor for class com.google.ar.sceneform.rendering.EngineInstance
    +
     
    +
    ensureVertexOrientationWNotZero() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Encodes a sign into the w value of the orientation quaternion such that >0 + implies a right handed space, and <0 implies a left handed space. w==0 + should never happen.
    +
    +
    EnvironmentalHdrLightEstimate - Class in com.google.ar.sceneform.rendering
    +
    +
    Serialization structure for saving light estimate state for offline use, e.g. in tests.
    +
    +
    EnvironmentalHdrLightEstimate(float[], float[], Color, float, Image[]) - Constructor for class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate
    +
     
    +
    EnvironmentalHdrParameters - Class in com.google.ar.sceneform.utilities
    +
    +
    Provides scaling factors from Environmental Hdr to Filament.
    +
    +
    EnvironmentalHdrParameters.Builder - Class in com.google.ar.sceneform.utilities
    +
    +
    Builds ViewerConfig, a collection of runtime config options for the viewer.
    +
    +
    equals(Matrix, Matrix) - Static method in class com.google.ar.sceneform.math.Matrix
    +
    +
    Compares Matrix values
    +
    +
    equals(Quaternion, Quaternion) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Compare two Quaternions
    +
    +
    equals(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Compares two Vector3's are equal if each component is equal within a tolerance.
    +
    +
    equals(Object) - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Returns true if the other object is a Quaternion and the dot product is 1.0 +/- a tolerance.
    +
    +
    equals(Object) - Method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Returns true if the other object is a Vector3 and each component is equal within a tolerance.
    +
    +
    eulerAngles(Vector3) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a new Quaternion using eulerAngles to define the rotation.
    +
    +
    evaluate(float, Quaternion, Quaternion) - Method in class com.google.ar.sceneform.math.QuaternionEvaluator
    +
     
    +
    evaluate(float, Vector3, Vector3) - Method in class com.google.ar.sceneform.math.Vector3Evaluator
    +
     
    +
    ExternalTexture - Class in com.google.ar.sceneform.rendering
    +
    +
    Creates an Android SurfaceTexture and Surface that can be displayed by Sceneform.
    +
    +
    ExternalTexture() - Constructor for class com.google.ar.sceneform.rendering.ExternalTexture
    +
    +
    Creates an ExternalTexture with a new Android SurfaceTexture and Surface.
    +
    +
    extractQuaternion(Quaternion) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    + + + +

    F

    +
    +
    factor() - Method in enum com.google.ar.sceneform.SceneView.FrameRate
    +
     
    +
    False - Static variable in class com.google.ar.sceneform.lullmodel.OptionalBool
    +
    +
    Force the value to false when created.
    +
    +
    FETCH_MATERIALS - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
     
    +
    FilamentEngineWrapper - Class in com.google.ar.sceneform.rendering
    +
    +
    Wraps calls to Filament engine.
    +
    +
    FilamentEngineWrapper(Engine) - Constructor for class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    file() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    The location of disk of the asset.
    +
    +
    file() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    fileAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    fileAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    fileInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    fileInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    finalize() - Method in class com.google.ar.sceneform.rendering.LightInstance
    +
     
    +
    finalize() - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
     
    +
    finalize() - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
     
    +
    findByName(String) - Method in class com.google.ar.sceneform.NodeParent
    +
    +
    Traverse the hierarchy to find the first node with a given name.
    +
    +
    findInHierarchy(Predicate<Node>) - Method in class com.google.ar.sceneform.Node
    +
    +
    Traverses the hierarchy to find the first node (including this node) that meets a condition.
    +
    +
    findInHierarchy(Predicate<Node>) - Method in class com.google.ar.sceneform.NodeParent
    +
    +
    Traverse the hierarchy to find the first node that meets a condition.
    +
    +
    finish(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finalize a buffer, pointing to the given `root_table`.
    +
    +
    finish(int, boolean) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finalize a buffer, pointing to the given `root_table`.
    +
    +
    finish(int, String) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finalize a buffer, pointing to the given `root_table`.
    +
    +
    finish(int, String, boolean) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finalize a buffer, pointing to the given `root_table`.
    +
    +
    finished() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Should not be accessing the final buffer before it is finished.
    +
    +
    FINISHED_READING_FILES - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
     
    +
    finishModelDefBuffer(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    finishSizePrefixed(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finalize a buffer, pointing to the given `root_table`, with the size prefixed.
    +
    +
    finishSizePrefixed(int, String) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Finalize a buffer, pointing to the given `root_table`, with the size prefixed.
    +
    +
    finishSizePrefixedModelDefBuffer(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    FixedHeightViewSizer - Class in com.google.ar.sceneform.rendering
    +
    +
    Controls the size of a ViewRenderable in a Scene by + defining how tall it should be in meters.
    +
    +
    FixedHeightViewSizer(float) - Constructor for class com.google.ar.sceneform.rendering.FixedHeightViewSizer
    +
    +
    Constructor for creating a sizer for controlling the size of a ViewRenderable by + defining a fixed height.
    +
    +
    FixedWidthViewSizer - Class in com.google.ar.sceneform.rendering
    +
    +
    Controls the size of a ViewRenderable in a Scene by + defining how wide it should be in meters.
    +
    +
    FixedWidthViewSizer(float) - Constructor for class com.google.ar.sceneform.rendering.FixedWidthViewSizer
    +
    +
    Constructor for creating a sizer for controlling the size of a ViewRenderable by + defining a fixed width.
    +
    +
    fixInfacingNormals() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Toggle for Assimp's aiProcess_FixInfacingNormals process.
    +
    +
    FlatBufferBuilder - Class in com.google.flatbuffers
    +
    +
    Class that helps you build a FlatBuffer.
    +
    +
    FlatBufferBuilder() - Constructor for class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Start with a buffer of 1KiB, then grow as required.
    +
    +
    FlatBufferBuilder(int) - Constructor for class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Start with a buffer of size `initial_size`, then grow as required.
    +
    +
    FlatBufferBuilder(int, FlatBufferBuilder.ByteBufferFactory) - Constructor for class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Start with a buffer of size `initial_size`, then grow as required.
    +
    +
    FlatBufferBuilder(int, FlatBufferBuilder.ByteBufferFactory, ByteBuffer, Utf8) - Constructor for class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Start with a buffer of size `initial_size`, then grow as required.
    +
    +
    FlatBufferBuilder(ByteBuffer) - Constructor for class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Alternative constructor allowing reuse of ByteBuffers.
    +
    +
    FlatBufferBuilder(ByteBuffer, FlatBufferBuilder.ByteBufferFactory) - Constructor for class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Alternative constructor allowing reuse of ByteBuffers.
    +
    +
    FlatBufferBuilder.ByteBufferFactory - Class in com.google.flatbuffers
    +
    +
    An interface that provides a user of the FlatBufferBuilder class the ability to specify + the method in which the internal buffer gets allocated.
    +
    +
    FlatBufferBuilder.HeapByteBufferFactory - Class in com.google.flatbuffers
    +
    +
    An implementation of the ByteBufferFactory interface that is used when + one is not provided by the user.
    +
    +
    flattenHierarchyAndTransformVerticesToRootSpace() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Pre-transforms vertices by their node hierarchy so that all vertices are + in the same object-space, and the node hierarchy is flattened.
    +
    +
    flipTextureCoordinates() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Inverts vertical texture coordinates when enabled (D3D/OGL difference).
    +
    +
    flushAndWait() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    flushAndWait() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    flushHttpCache() - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
     
    +
    FOCUSED_SPOTLIGHT - com.google.ar.sceneform.rendering.Light.Type
    +
    +
    The same as a spotlight with the exception that the apparent lighting stays the same as the + cone angle changes.
    +
    +
    forceDefaults(boolean) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    In order to save space, fields that are set to their default value + don't get serialized into the buffer.
    +
    +
    forward() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 set to (0, 0, -1)
    +
    +
    FRACTION_POSITION - Static variable in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    A Property wrapper around the fractionPosition functionality handled by the + ModelAnimation.setFractionPosition(float) and ModelAnimation.getFractionPosition() + methods
    +
    +
    fractionToTime(float, float) - Static method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the elapsed time in seconds of a fraction position
    +
    +
    FRAME_POSITION - Static variable in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    A Property wrapper around the framePosition functionality handled by the + ModelAnimation.setFramePosition(int) and ModelAnimation.getFramePosition() + methods
    +
    +
    FrameTime - Class in com.google.ar.sceneform
    +
    +
    Provides time information for the current frame.
    +
    +
    frameToTime(int, int) - Static method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the elapsed time in seconds of a frame position
    +
    +
    fromLullToMagFilter(TextureDef) - Static method in class com.google.ar.sceneform.rendering.LullModel
    +
     
    +
    fromLullToMinFilter(TextureDef) - Static method in class com.google.ar.sceneform.rendering.LullModel
    +
     
    +
    fromLullWrapMode - Static variable in class com.google.ar.sceneform.rendering.LullModel
    +
     
    +
    fromResource(Context, int) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Creates an InputStream from an Android resource ID.
    +
    +
    fromUri(Context, Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Creates different InputStreams depending on the contents of the Uri
    +
    +
    fromUri(Context, Uri, Map<String, String>) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Creates different InputStreams depending on the contents of the Uri.
    +
    +
    FULL - com.google.ar.sceneform.SceneView.FrameRate
    +
    +
    divide the maximal allowed frame rate by 1
    +
    +
    + + + +

    G

    +
    +
    g - Variable in class com.google.ar.sceneform.rendering.Color
    +
     
    +
    g() - Method in class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    geIndex() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Returns The Zero-based index of the target animation as defined in the original + AnimatableModel
    +
    +
    generateMipmaps() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    get() - Method in class com.google.ar.sceneform.utilities.ChangeId
    +
     
    +
    get(Object) - Method in class com.google.ar.sceneform.resources.ResourceRegistry
    +
    +
    Returns a future to a resource previously registered with the same id.
    +
    +
    getAmbientShScaleForFilament() - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
    +
    A scale factor bridging Environmental Hdr's ambient sh to Filament's ambient sh values.
    +
    +
    getAnchor() - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Returns the ARCore anchor if it exists or null otherwise.
    +
    +
    getAnimation(int) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Get the associated ModelAnimation at the given index or throw + an IndexOutOfBoundsException.
    +
    +
    getAnimation(int) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Get the associated ModelAnimation at the given index or throw + an IndexOutOfBoundsException.
    +
    +
    getAnimation(String) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Get the associated ModelAnimation by name or null if none exist with the given name.
    +
    +
    getAnimationCount() - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Returns the number of ModelAnimation definitions in the model.
    +
    +
    getAnimationCount() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the number of ModelAnimation definitions in the model.
    +
    +
    getAnimationFrameRate() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Gets the number of frames per seconds defined in the asset animation.
    +
    +
    getAnimationIndex(String) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Get the Zero-based index for the animation name of interest or -1 if not found.
    +
    +
    getAnimationName(int) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Get the name of the ModelAnimation at the Zero-based index
    +
    +
    getAnimationNames() - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Get the names of the ModelAnimation
    +
    +
    getAnimationNames() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getAnimationOrThrow(String) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Get the associated ModelAnimation by name or throw an Exception if none exist with + the given name.
    +
    +
    getArFrame() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Returns the most recent ARCore Frame if it is available.
    +
    +
    getAverage() - Method in class com.google.ar.sceneform.utilities.MovingAverage
    +
    +
    Returns the current average for all samples.
    +
    +
    getAverage() - Method in class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
     
    +
    getBack() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the world-space back vector (+z) of this node.
    +
    +
    getByteBuffer() - Method in class com.google.flatbuffers.Table
    +
    +
    Get the underlying ByteBuffer.
    +
    +
    getByteCountPerVertex(ModelInstanceDef) - Static method in class com.google.ar.sceneform.rendering.LullModel
    +
     
    +
    getCamera() - Method in class com.google.ar.sceneform.Scene
    +
    +
    Get the camera that is used to render the scene.
    +
    +
    getCameraStream() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Returns the CameraStream, used to control if the occlusion should be enabled or disabled.
    +
    +
    getCenter() - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Get a copy of the box's center.
    +
    +
    getCenter() - Method in class com.google.ar.sceneform.collision.Plane
    +
     
    +
    getCenter() - Method in class com.google.ar.sceneform.collision.Sphere
    +
    +
    Get a copy of the sphere's center.
    +
    +
    getCenterAabb() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getChildren() - Method in class com.google.ar.sceneform.NodeParent
    +
    +
    Returns an immutable list of this parent's children.
    +
    +
    getCollisionShape() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the shape to use for collisions with this node.
    +
    +
    getCollisionShape() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Get the CollisionShape used for collision detection with this Renderable.
    +
    +
    getColor() - Method in class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate
    +
     
    +
    getColor() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Get the RGB Color of the light.
    +
    +
    getColor() - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    getContext() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    getCubeMap() - Method in class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate
    +
     
    +
    getDefault() - Static method in class com.google.flatbuffers.Utf8
    +
    +
    Get the default UTF-8 processor.
    +
    +
    getDeltaSeconds() - Method in class com.google.ar.sceneform.FrameTime
    +
    +
    Get the time in seconds between this frame and the last frame.
    +
    +
    getDeltaTime(TimeUnit) - Method in class com.google.ar.sceneform.FrameTime
    +
    +
    Get the time between this frame and the last frame.
    +
    +
    getDepthMode() - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
    +
    Gets the currently applied depth mode depending on the device supported modes.
    +
    +
    getDepthOcclusionMode() - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
    +
    Gets the current Depth Occlusion Mode
    +
    +
    getDepthTextureCleanupRegistry() - Method in class com.google.ar.sceneform.rendering.ResourceManager
    +
     
    +
    getDesiredHeight() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    getDesiredWidth() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    getDirectIntensityForFilament() - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
    +
    Environmental Hdr provides a relative intensity, a number above zero and often below 8.
    +
    +
    getDirection() - Method in class com.google.ar.sceneform.collision.Ray
    +
    +
    Get the direction of the ray.
    +
    +
    getDirection() - Method in class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate
    +
     
    +
    getDistance() - Method in class com.google.ar.sceneform.collision.RayHit
    +
    +
    Get the distance along the ray to the impact point on the surface of the collision shape.
    +
    +
    getDown() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the world-space down vector (-y) of this node.
    +
    +
    getDpPerMeters() - Method in class com.google.ar.sceneform.rendering.DpToMetersViewSizer
    +
    +
    Returns the number of dp (density-independent pixels) there are per meter that is used for + controlling the size of a ViewRenderable.
    +
    +
    getDuration() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Returns the duration of this animation in seconds.
    +
    +
    getDurationMillis() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Returns the duration of this animation in milliseconds.
    +
    +
    getElapsedTimeMs() - Method in class com.google.ar.sceneform.utilities.TimeAccumulator
    +
     
    +
    getEngine() - Static method in class com.google.ar.sceneform.rendering.EngineInstance
    +
    +
    Get the Filament Engine instance, creating it if necessary.
    +
    +
    getEntity() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    getEnvironmentalHdrParameters() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Getter to help convert between filament and Environmental HDR.
    +
    +
    getExposure() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Returns the exposure setting for renderering.
    +
    +
    getExtents() - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Calculate the extents (half the size) of the box.
    +
    +
    getExtentsAabb() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getExternalTexture(String) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    getFalloffRadius() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Get the falloff radius of the light.
    +
    +
    getFarClipPlane() - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    getFarClipPlane() - Method in interface com.google.ar.sceneform.rendering.CameraProvider
    +
     
    +
    getFilamentAsset() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    getFilamentEngine() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    getFilamentEngine() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    getFilamentRenderer() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Access to the underlying Filament renderer.
    +
    +
    getFilamentScene() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    getFilamentTexture() - Method in class com.google.ar.sceneform.rendering.DepthTexture
    +
     
    +
    getFilamentView() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Access to the underlying Filament view.
    +
    +
    getFinalModelMatrix(Matrix) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Gets the final model matrix to use for rendering this Renderable based on the matrix + passed in.
    +
    +
    getFinalModelMatrix(Matrix) - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Takes the model matrix from the TransformProvider for rendering this Node and scales it to size it appropriately based on the meters to + pixel ratio for the view.
    +
    +
    getForward() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the world-space forward vector (-z) of this node.
    +
    +
    getFractionAtTime(float) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the fraction position at the elapsed time in seconds.
    +
    +
    getFractionPosition() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the fractional value at the current animation position.
    +
    +
    getFrameAtTime(float) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the frame position at the elapsed time in seconds.
    +
    +
    getFrameCount() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Returns the total number of frames of this animation.
    +
    +
    getFramePosition() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the current frame number at the current animation position.
    +
    +
    getFrameRate() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the frames per second originally defined in the + Animatable.
    +
    +
    getHeight() - Method in class com.google.ar.sceneform.rendering.FixedHeightViewSizer
    +
    +
    Returns the height in meters used for controlling the size of a ViewRenderable.
    +
    +
    getHorizontalAlignment() - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Gets the ViewRenderable.HorizontalAlignment that controls where the ViewRenderable is + positioned relative to the Node it is attached to along the + x-axis.
    +
    +
    getId() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    getIndexBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getInnerConeAngle() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Get the inner cone angle for spotlights.
    +
    +
    getInstance() - Static method in class com.google.ar.sceneform.rendering.ResourceManager
    +
     
    +
    getIntensity() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Get the intensity of the light.
    +
    +
    getIntensity() - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Get the overall intensity of the indirect light.
    +
    +
    getLastPathSegment(Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
     
    +
    getLeft() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the world-space left vector (-x) of this node.
    +
    +
    getLight() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the current light, which is mutable.
    +
    +
    getLight() - Method in class com.google.ar.sceneform.rendering.LightInstance
    +
     
    +
    getLightManager() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    getLightManager() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    getLightProbe() - Method in class com.google.ar.sceneform.Scene
    +
    +
    Get the Light Probe that defines the lighting environment for the scene.
    +
    +
    getLocalDirection() - Method in class com.google.ar.sceneform.rendering.Light
    +
     
    +
    getLocalPosition() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets a copy of the nodes position relative to its parent (local-space).
    +
    +
    getLocalPosition() - Method in class com.google.ar.sceneform.rendering.Light
    +
     
    +
    getLocalRotation() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets a copy of the nodes rotation relative to its parent (local-space).
    +
    +
    getLocalScale() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets a copy of the nodes scale relative to its parent (local-space).
    +
    +
    getMagFilter() - Method in class com.google.ar.sceneform.rendering.Texture.Sampler
    +
    +
    Get the magnification function used whenever the level-of-detail function determines that the + texture should be magnified.
    +
    +
    getMainExecutor() - Static method in class com.google.ar.sceneform.rendering.ThreadPools
    +
    +
    Executor for anything that that touches Renderer state
    +
    +
    getMaterial() - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Returns default material instance used to render the planes.
    +
    +
    getMaterial() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Returns the material bound to the first submesh.
    +
    +
    getMaterial() - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    getMaterial() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the material bound to the first submesh.
    +
    +
    getMaterial(int) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Returns the material bound to the specified submesh.
    +
    +
    getMaterial(int) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the material bound to the specified index.
    +
    +
    getMaterial(String) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the material bound to the specified name.
    +
    +
    getMaterialBindingIds() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getMaterialName(int) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the name associated with the specified index.
    +
    +
    getMaterialsCount() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the number of materials.
    +
    +
    getMeshes() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getMinArCoreVersionCode(Context) - Static method in class com.google.ar.sceneform.utilities.ArCoreVersion
    +
     
    +
    getMinFilter() - Method in class com.google.ar.sceneform.rendering.Texture.Sampler
    +
    +
    Get the minifying function used whenever the level-of-detail function determines that the + texture should be minified.
    +
    +
    getName() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the name of the animation
    +
    +
    getName() - Method in class com.google.ar.sceneform.Node
    +
    +
    Returns the name of the node.
    +
    +
    getName() - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    getNearClipPlane() - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    getNearClipPlane() - Method in interface com.google.ar.sceneform.rendering.CameraProvider
    +
     
    +
    getNode() - Method in class com.google.ar.sceneform.HitTestResult
    +
    +
    The node that was hit by the hit test.
    +
    +
    getNormal() - Method in class com.google.ar.sceneform.collision.Plane
    +
     
    +
    getNormal() - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    getOnTouchListener() - Method in class com.google.ar.sceneform.TouchEventSystem
    +
    +
    Get the currently registered callback for touch events.
    +
    +
    getOrigin() - Method in class com.google.ar.sceneform.collision.Ray
    +
    +
    Get the origin of the ray.
    +
    +
    getOuterConeAngle() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Get the outer cone angle for spotlights.
    +
    +
    getParent() - Method in class com.google.ar.sceneform.Node
    +
    +
    Returns the parent of this node.
    +
    +
    getPlaneRenderer() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Returns PlaneRenderer, used to control plane visualization.
    +
    +
    getPlaneRendererMode() - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    + +
    +
    getPoint() - Method in class com.google.ar.sceneform.collision.RayHit
    +
    +
    Get the position in world-space where the ray hit the collision shape.
    +
    +
    getPoint(float) - Method in class com.google.ar.sceneform.collision.Ray
    +
    +
    Get a point at a distance along the ray.
    +
    +
    getPosition() - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    getProjectionMatrix() - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    getProjectionMatrix() - Method in interface com.google.ar.sceneform.rendering.CameraProvider
    +
     
    +
    getRadius() - Method in class com.google.ar.sceneform.collision.Sphere
    +
    +
    Get the radius of the sphere.
    +
    +
    getRawColorBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getRawIndexBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getRawPositionBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getRawTangentsBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getRawUvBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getReflectionScaleForFilament() - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
    +
    A scale factor bridging Environmental Hdr's relative intensity to a lux based intensity for + reflections only.
    +
    +
    getRelativeIntensity() - Method in class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate
    +
     
    +
    getRelativeTransform() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the transform of this renderable relative to it's node.
    +
    +
    getRelativeTransformInverse() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns the inverse transform of this renderable relative to it's node.
    +
    +
    getRenderable() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the renderable to display for this node.
    +
    +
    getRenderable() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Get the Renderable to display for this RenderableInstance.
    +
    +
    getRenderableClass() - Method in class com.google.ar.sceneform.rendering.ModelRenderable.Builder
    +
     
    +
    getRenderableClass() - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    getRenderableInstance() - Method in class com.google.ar.sceneform.Node
    +
     
    +
    getRenderableManager() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    getRenderableManager() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    getRenderableRegistry() - Method in class com.google.ar.sceneform.rendering.ModelRenderable.Builder
    +
     
    +
    getRenderableRegistry() - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    getRenderedEntity() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    getRenderer() - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Returns the renderer used for this view, or null if the renderer is not setup.
    +
    +
    getRenderPriority() - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    getRenderPriority() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Get the render priority that controls the order of rendering.
    +
    +
    getRenderPriority() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Get the render priority that controls the order of rendering.
    +
    +
    getRight() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the world-space right vector (+x) of this node.
    +
    +
    getRootAsBlendShape(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    getRootAsBlendShape(ByteBuffer, BlendShape) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    getRootAsDataBool(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    getRootAsDataBool(ByteBuffer, DataBool) - Static method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    getRootAsDataBytes(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    getRootAsDataBytes(ByteBuffer, DataBytes) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    getRootAsDataFloat(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    getRootAsDataFloat(ByteBuffer, DataFloat) - Static method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    getRootAsDataHashValue(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    getRootAsDataHashValue(ByteBuffer, DataHashValue) - Static method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    getRootAsDataInt(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    getRootAsDataInt(ByteBuffer, DataInt) - Static method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    getRootAsDataQuat(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    getRootAsDataQuat(ByteBuffer, DataQuat) - Static method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    getRootAsDataString(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    getRootAsDataString(ByteBuffer, DataString) - Static method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    getRootAsDataVec2(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    getRootAsDataVec2(ByteBuffer, DataVec2) - Static method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    getRootAsDataVec3(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    getRootAsDataVec3(ByteBuffer, DataVec3) - Static method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    getRootAsDataVec4(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    getRootAsDataVec4(ByteBuffer, DataVec4) - Static method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    getRootAsKeyVariantPairDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    getRootAsKeyVariantPairDef(ByteBuffer, KeyVariantPairDef) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    getRootAsMaterialDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    getRootAsMaterialDef(ByteBuffer, MaterialDef) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    getRootAsMaterialTextureDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    getRootAsMaterialTextureDef(ByteBuffer, MaterialTextureDef) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    getRootAsModelDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    getRootAsModelDef(ByteBuffer, ModelDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    getRootAsModelInstanceDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    getRootAsModelInstanceDef(ByteBuffer, ModelInstanceDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    getRootAsModelPipelineCollidableDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    getRootAsModelPipelineCollidableDef(ByteBuffer, ModelPipelineCollidableDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    getRootAsModelPipelineDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    getRootAsModelPipelineDef(ByteBuffer, ModelPipelineDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    getRootAsModelPipelineImportDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    getRootAsModelPipelineImportDef(ByteBuffer, ModelPipelineImportDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    getRootAsModelPipelineMaterialDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    getRootAsModelPipelineMaterialDef(ByteBuffer, ModelPipelineMaterialDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    getRootAsModelPipelineRenderableDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    getRootAsModelPipelineRenderableDef(ByteBuffer, ModelPipelineRenderableDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    getRootAsModelPipelineSkeletonDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    getRootAsModelPipelineSkeletonDef(ByteBuffer, ModelPipelineSkeletonDef) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    getRootAsSkeletonDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    getRootAsSkeletonDef(ByteBuffer, SkeletonDef) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    getRootAsSubmeshAabb(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    getRootAsSubmeshAabb(ByteBuffer, SubmeshAabb) - Static method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    getRootAsTextureDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    getRootAsTextureDef(ByteBuffer, TextureDef) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    getRootAsVariantArrayDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    getRootAsVariantArrayDef(ByteBuffer, VariantArrayDef) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    getRootAsVariantArrayDefImpl(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    getRootAsVariantArrayDefImpl(ByteBuffer, VariantArrayDefImpl) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    getRootAsVariantMapDef(ByteBuffer) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    getRootAsVariantMapDef(ByteBuffer, VariantMapDef) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    getRotation() - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Get a copy of the box's rotation.
    +
    +
    getRotation() - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Gets the rotation of the indirect light, identity if null.
    +
    +
    getScene() - Method in class com.google.ar.sceneform.Node
    +
    +
    Returns the scene that this node is part of, null if it isn't part of any scene.
    +
    +
    getScene() - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Returns the Sceneform Scene created by this view.
    +
    +
    getSelf() - Method in class com.google.ar.sceneform.rendering.ModelRenderable.Builder
    +
     
    +
    getSelf() - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    getSession() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Returns the ARCore Session used by this view.
    +
    +
    getShape() - Method in class com.google.ar.sceneform.collision.Collider
    +
     
    +
    getSize() - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Get a copy of the box's size.
    +
    +
    getSize(View) - Method in class com.google.ar.sceneform.rendering.DpToMetersViewSizer
    +
     
    +
    getSize(View) - Method in class com.google.ar.sceneform.rendering.FixedHeightViewSizer
    +
     
    +
    getSize(View) - Method in class com.google.ar.sceneform.rendering.FixedWidthViewSizer
    +
     
    +
    getSize(View) - Method in interface com.google.ar.sceneform.rendering.ViewSizer
    +
    +
    Calculates the desired size of the view in the Scene.
    +
    +
    getSizeAabb() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getSizer() - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Gets the ViewSizer that controls the size of this ViewRenderable in the Scene.
    +
    +
    getSphericalHarmonics() - Method in class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate
    +
     
    +
    getStartSeconds() - Method in class com.google.ar.sceneform.FrameTime
    +
    +
    Get the time in seconds when this frame started.
    +
    +
    getStartTime(TimeUnit) - Method in class com.google.ar.sceneform.FrameTime
    +
    +
    Get the time when this frame started.
    +
    +
    getSubmeshCount() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Returns the number of submeshes that this renderable has.
    +
    +
    getSubmeshName(int) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Returns the name associated with the specified submesh.
    +
    +
    getSunlight() - Method in class com.google.ar.sceneform.Scene
    +
    +
    Get the default sunlight node.
    +
    +
    getSurface() - Method in class com.google.ar.sceneform.rendering.ExternalTexture
    +
    +
    Gets the surface created for this ExternalTexture that draws to ExternalTexture.getSurfaceTexture()
    +
    +
    getSurfaceTexture() - Method in class com.google.ar.sceneform.rendering.ExternalTexture
    +
    +
    Gets the surface texture created for this ExternalTexture.
    +
    +
    getSurfaceView() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    getThreadPoolExecutor() - Static method in class com.google.ar.sceneform.rendering.ThreadPools
    +
    +
    Default background Executor for async operations including file reading.
    +
    +
    getTimeAtFraction(float) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the elapsed time in seconds of a fraction position
    +
    +
    getTimeAtFrame(int) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the elapsed time in seconds of a frame position
    +
    +
    getTimePosition() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the current time position in seconds at the current animation position.
    +
    +
    getTransformedShape() - Method in class com.google.ar.sceneform.collision.Collider
    +
     
    +
    getTransformManager() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    getTransformManager() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    getTransformOffset() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getTransformProvider() - Method in class com.google.ar.sceneform.collision.Collider
    +
     
    +
    getTransformScale() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getTriangleIndices() - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    getType() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Get the light Light.Type.
    +
    +
    getUp() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the world-space up vector (+y) of this node.
    +
    +
    getUvCoordinate() - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    getVertexBuffer() - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    getVerticalAlignment() - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Gets the ViewRenderable.VerticalAlignment that controls where the ViewRenderable is positioned + relative to the Node it is attached to along the y-axis.
    +
    +
    getVerticalFovDegrees() - Method in class com.google.ar.sceneform.Camera
    +
    +
    Gets the vertical field of view for the camera.
    +
    +
    getView() - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    The 2D Android View that is rendered by this ViewRenderable.
    +
    +
    getView() - Method in class com.google.ar.sceneform.Scene
    +
    +
    Returns the SceneView used to create the scene.
    +
    +
    getViewMatrix() - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    getViewMatrix() - Method in interface com.google.ar.sceneform.rendering.CameraProvider
    +
     
    +
    getWidth() - Method in class com.google.ar.sceneform.rendering.FixedWidthViewSizer
    +
    +
    Returns the width in meters used for controlling the size of a ViewRenderable.
    +
    +
    getWorldModelMatrix() - Method in interface com.google.ar.sceneform.common.TransformProvider
    +
     
    +
    getWorldModelMatrix() - Method in class com.google.ar.sceneform.Node
    +
     
    +
    getWorldModelMatrix() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    getWorldPosition() - Method in class com.google.ar.sceneform.Node
    +
    +
    Get a copy of the nodes world-space position.
    +
    +
    getWorldRotation() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets a copy of the nodes world-space rotation.
    +
    +
    getWorldScale() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets a copy of the nodes world-space scale.
    +
    +
    getWrapModeR() - Method in class com.google.ar.sceneform.rendering.Texture.Sampler
    +
    +
    Get the wrap mode for texture coordinate R.
    +
    +
    getWrapModeS() - Method in class com.google.ar.sceneform.rendering.Texture.Sampler
    +
    +
    Get the wrap mode for texture coordinate S.
    +
    +
    getWrapModeT() - Method in class com.google.ar.sceneform.rendering.Texture.Sampler
    +
    +
    Get the wrap mode for texture coordinate T.
    +
    +
    GLHelper - Class in com.google.ar.sceneform.rendering
    +
    +
    Convenience class to perform common GL operations
    +
    +
    GLHelper() - Constructor for class com.google.ar.sceneform.rendering.GLHelper
    +
     
    +
    + + + +

    H

    +
    +
    h() - Method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    h() - Method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    HALF - com.google.ar.sceneform.SceneView.FrameRate
    +
    +
    divide the maximal allowed frame rate by 2
    +
    +
    Hand - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    hasAnimations() - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    + +
    +
    hashCode() - Method in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    hashCode() - Method in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    hashKey() - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    hasTrackedPlane() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Retrieve if the view has already tracked a plane.
    +
    +
    hasTrackingPlaneStates(TrackingState...) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Retrieve if the view has currently a plane with the tracking states.
    +
    +
    HeadlessEngineWrapper - Class in com.google.ar.sceneform.rendering
    +
    +
    Interface for the swiftshader backed version of the Filament engine.
    +
    +
    HeadlessEngineWrapper() - Constructor for class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    HeapByteBufferFactory() - Constructor for class com.google.flatbuffers.FlatBufferBuilder.HeapByteBufferFactory
    +
     
    +
    Height - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    hitTest(MotionEvent) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Tests to see if a motion event is touching any nodes within the scene, based on a ray hit test + whose origin is the screen position of the motion event, and outputs a HitTestResult containing + the node closest to the screen.
    +
    +
    hitTest(Ray) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Tests to see if a ray is hitting any nodes within the scene and outputs a HitTestResult + containing the node closest to the ray origin that intersects with the ray.
    +
    +
    hitTestAll(MotionEvent) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Tests to see if a motion event is touching any nodes within the scene and returns a list of + HitTestResults containing all of the nodes that were hit, sorted by distance.
    +
    +
    hitTestAll(Ray) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Tests to see if a ray is hitting any nodes within the scene and returns a list of + HitTestResults containing all of the nodes that were hit, sorted by distance.
    +
    +
    HitTestResult - Class in com.google.ar.sceneform
    +
    +
    Stores the results of calls to Scene.hitTest and Scene.hitTestAll.
    +
    +
    HitTestResult() - Constructor for class com.google.ar.sceneform.HitTestResult
    +
     
    +
    Hmd - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    + + + +

    I

    +
    +
    identity() - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a Quaternion set to identity
    +
    +
    IDENTITY_DATA - Static variable in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    IEngine - Interface in com.google.ar.sceneform.rendering
    +
    +
    Engine interface to support multiple flavors of the getFilamentEngine filament engine.
    +
    +
    indices16(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    Indices into the vertex data.
    +
    +
    indices16AsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    indices16InByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    indices16Length() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    indices32(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    indices32AsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    indices32InByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    indices32Length() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    init(ByteBuffer, FlatBufferBuilder.ByteBufferFactory) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Alternative initializer that allows reusing this object on an existing + `ByteBuffer`.
    +
    +
    initializeTexture(Frame) - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    innerRadius() - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
    +
    Inner radius of the arc.
    +
    +
    inputStreamCallableToByteArray(Callable<InputStream>) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    inputStreamToByteArray(InputStream) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    inputStreamToByteBuffer(Callable<InputStream>) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    INSTANCE - Static variable in class com.google.flatbuffers.FlatBufferBuilder.HeapByteBufferFactory
    +
     
    +
    interleaved() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    Whether or not the attributes in the vertex data are interleaved.
    +
    +
    intersects(Collider) - Method in class com.google.ar.sceneform.collision.CollisionSystem
    +
     
    +
    intersectsAll(Collider, Consumer<Collider>) - Method in class com.google.ar.sceneform.collision.CollisionSystem
    +
     
    +
    Invalid - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    INVALID_RESOURCE_IDENTIFIER - Static variable in class com.google.ar.sceneform.utilities.LoadHelper
    +
     
    +
    inverseRotateVector(Quaternion, Vector3) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    inverseTonemap() - Method in class com.google.ar.sceneform.rendering.Color
    +
    +
    Returns a new color with Sceneform's tonemapping inversed.
    +
    +
    invert(Matrix, Matrix) - Static method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    inverted() - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a Quaternion with the opposite rotation
    +
    +
    isActive() - Method in class com.google.ar.sceneform.Node
    +
    +
    Returns true if the node is active.
    +
    +
    isActive() - Method in interface com.google.ar.sceneform.rendering.CameraProvider
    +
     
    +
    isAndroidApiAvailable() - Static method in class com.google.ar.sceneform.utilities.AndroidPreconditions
    +
    +
    Returns true if the Android API is currently available.
    +
    +
    isAndroidResource(Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    True if the Uri is an Android resource, false if any other uri.
    +
    +
    isDataUri(Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
     
    +
    isDebugEnabled() - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Indicates whether debugging is enabled for this view.
    +
    +
    isDepthOcclusionModeSupported(CameraStream.DepthOcclusionMode) - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
    +
    Checks whether the provided DepthOcclusionMode is supported on this device with the selected camera configuration and AR config.
    +
    +
    isDescendantOf(NodeParent) - Method in class com.google.ar.sceneform.Node
    +
    +
    Checks whether the given node parent is an ancestor of this node recursively.
    +
    +
    isDirty() - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Internal usage for applying changes according to rendering update hierarchy.
    +
    +
    isEmpty() - Method in class com.google.ar.sceneform.utilities.ChangeId
    +
     
    +
    isEnabled() - Method in class com.google.ar.sceneform.Node
    +
    +
    Gets the enabled state of this node.
    +
    +
    isEnabled() - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Check if the plane renderer is enabled.
    +
    +
    isEngineDestroyed() - Static method in class com.google.ar.sceneform.rendering.EngineInstance
    +
     
    +
    isEnvironmentalHdrLightingAvailable() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Returns true if the ARCore camera is configured with + Config.LightEstimationMode.ENVIRONMENTAL_HDR.
    +
    +
    isFieldPresent(Table, int) - Static method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Helper function to test if a field is present in the table
    +
    +
    isFileAsset(Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    True if the Uri is a filename, false if it is a remote location.
    +
    +
    isFrontFaceWindingInverted() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Checks whether winding is inverted for front face rendering.
    +
    +
    isGltfDataUri(Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
     
    +
    isHeadlessMode() - Static method in class com.google.ar.sceneform.rendering.EngineInstance
    +
     
    +
    isLightDirectionUpdateEnabled() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Checks whether the sunlight is being updated every frame based on the Environmental HDR + lighting estimate.
    +
    +
    isLightEstimationEnabled() - Method in class com.google.ar.sceneform.ArSceneView
    +
     
    +
    isLullModel(ByteBuffer) - Static method in class com.google.ar.sceneform.rendering.LullModel
    +
     
    +
    isMinAndroidApiLevel() - Static method in class com.google.ar.sceneform.utilities.AndroidPreconditions
    +
    +
    Returns true if the Android api level is above the minimum or if not on Android.
    +
    +
    isModifiedSinceLastRender() - Method in interface com.google.ar.sceneform.rendering.RenderableInstance.SkinningModifier
    +
     
    +
    isReady() - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Returns true if the LightProbe is ready to be used for rendering.
    +
    +
    isRgbm() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    isSceneformBundle(ByteBuffer) - Static method in class com.google.ar.sceneform.rendering.SceneformBundle
    +
     
    +
    isShadowCaster() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Returns true if configured to cast shadows on other renderables.
    +
    +
    isShadowCaster() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns true if configured to cast shadows on other renderables.
    +
    +
    isShadowCastingEnabled() - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Returns true if the light has shadow casting enabled.
    +
    +
    isShadowReceiver() - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Return true if Renderables in the scene cast shadows onto the planes.
    +
    +
    isShadowReceiver() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Returns true if configured to receive shadows cast by other renderables.
    +
    +
    isShadowReceiver() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Returns true if configured to receive shadows cast by other renderables.
    +
    +
    isSmoothed() - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Returns true if the transformations are interpolated or false if they are applied immediately.
    +
    +
    isSupported(Context) - Static method in class com.google.ar.sceneform.Sceneform
    +
    +
    Returns true if Sceneform can run and is compatible on this device.
    +
    +
    isTextureInitialized() - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    isTopLevel() - Method in class com.google.ar.sceneform.Node
    +
    +
    Returns true if this node is top level.
    +
    +
    isTracking() - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Returns true if the ARCore anchor’s tracking state is TRACKING.
    +
    +
    isTrackingPlane() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Retrieve if the view is currently tracking a plane.
    +
    +
    isUnderTesting() - Static method in class com.google.ar.sceneform.utilities.AndroidPreconditions
    +
     
    +
    isValid() - Method in class com.google.ar.sceneform.rendering.FilamentEngineWrapper
    +
     
    +
    isValid() - Method in interface com.google.ar.sceneform.rendering.IEngine
    +
     
    +
    isVisible() - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Return true if plane visualization is visible.
    +
    +
    + + + +

    K

    +
    +
    key() - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    keyAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    Keyboard - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    keyInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    keysCompare(Integer, Integer, ByteBuffer) - Method in class com.google.flatbuffers.Table
    +
    +
    Compare two tables by the key.
    +
    +
    KeyVariantPairDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    KeyVariantPairDef() - Constructor for class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    + + + +

    L

    +
    +
    LayoutFillOrder - Class in com.google.ar.sceneform.lullmodel
    +
    +
    The directions a layout will grow in.
    +
    +
    LayoutHorizontalAlignment - Class in com.google.ar.sceneform.lullmodel
    +
    +
    The anchor at which the entities will be aligned relative to the canvas.
    +
    +
    LayoutVerticalAlignment - Class in com.google.ar.sceneform.lullmodel
    +
    +
    The anchor at which the entities will be aligned *within* each row.
    +
    +
    left() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 set to (-1, 0, 0)
    +
    +
    Left - Static variable in class com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment
    +
    +
    The left border of the leftmost element will align to the left side of the + canvas.
    +
    +
    LEFT - com.google.ar.sceneform.rendering.ViewRenderable.HorizontalAlignment
    +
     
    +
    LeftDown - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added rightmost, and subsequent entities go to the + left (and then down if wrapping is enabled).
    +
    +
    LeftUp - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added rightmost, and subsequent entities go to the + left (and then up if wrapping is enabled).
    +
    +
    length() - Method in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    lengthSquared() - Method in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    lerp(float, float, float) - Static method in class com.google.ar.sceneform.math.MathHelper
    +
    +
    Linearly interpolates between a and b by a ratio.
    +
    +
    lerp(Vector3, Vector3, float) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Linearly interpolates between a and b.
    +
    +
    Light - Class in com.google.ar.sceneform.rendering
    +
    +
    Light property store.
    +
    +
    Light - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    Light.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for Light
    +
    +
    Light.Type - Enum in com.google.ar.sceneform.rendering
    +
    +
    Type of Light Source
    +
    +
    LightInstance - Class in com.google.ar.sceneform.rendering
    +
    +
    Wraps a Filament Light.
    +
    +
    LightProbe - Class in com.google.ar.sceneform.rendering
    +
    +
    Loads "light probe" data needed for Image Based Lighting.
    +
    +
    LightProbe.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for LightProbe
    +
    +
    Linear - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    LINEAR - com.google.ar.sceneform.rendering.Texture.Sampler.MagFilter
    +
     
    +
    LINEAR - com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
     
    +
    LINEAR_MIPMAP_LINEAR - com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
     
    +
    LINEAR_MIPMAP_NEAREST - com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
     
    +
    LinearMipmapLinear - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    LinearMipmapNearest - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    LOAD_STAGE_NONE - com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
     
    +
    LoadGltfListener - Interface in com.google.ar.sceneform.rendering
    +
    +
    Interface callbacks for events that occur when loading a gltf file into a renderable.
    +
    +
    LoadGltfListener.GltfLoadStage - Enum in com.google.ar.sceneform.rendering
    +
    +
    Defines the current stage of the load operation, each value supersedes the previous.
    +
    +
    LoadHelper - Class in com.google.ar.sceneform.utilities
    +
    +
    Convenience class to parse Uri's.
    +
    +
    LoadRenderableFromFilamentGltfTask<T extends Renderable> - Class in com.google.ar.sceneform.rendering
    +
    +
    Task for initializing a renderable with glTF data loaded with gltfio.
    +
    +
    localToWorldDirection(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Converts a direction from the local-space of this node to world-space.
    +
    +
    localToWorldPoint(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Converts a point in the local-space of this node to world-space.
    +
    +
    lods(int) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
    +
    Model data for different LODs.
    +
    +
    lods(ModelInstanceDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    lodsLength() - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    lookRotation(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a new Quaternion representing a rotation towards a specified forward direction.
    +
    +
    LullModel - Class in com.google.ar.sceneform.rendering
    +
    +
    Helper functions for loading and processing lull models.
    +
    +
    LullModel() - Constructor for class com.google.ar.sceneform.rendering.LullModel
    +
     
    +
    + + + +

    M

    +
    +
    magFilter() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    makeContext() - Static method in class com.google.ar.sceneform.rendering.GLHelper
    +
     
    +
    makeContext(EGLContext) - Static method in class com.google.ar.sceneform.rendering.GLHelper
    +
     
    +
    makeCopy() - Method in class com.google.ar.sceneform.collision.Box
    +
     
    +
    makeCopy() - Method in class com.google.ar.sceneform.collision.CollisionShape
    +
     
    +
    makeCopy() - Method in class com.google.ar.sceneform.collision.Sphere
    +
     
    +
    makeCopy() - Method in class com.google.ar.sceneform.rendering.Material
    +
    +
    Creates a new instance of this Material.
    +
    +
    makeCopy() - Method in class com.google.ar.sceneform.rendering.ModelRenderable
    +
    +
    Creates a new instance of this ModelRenderable.
    +
    +
    makeCopy() - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Creates a new instance of this Renderable.
    +
    +
    makeCopy() - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Creates a new instance of this ViewRenderable.
    +
    +
    makeCube(Vector3, Vector3, Material) - Static method in class com.google.ar.sceneform.rendering.ShapeFactory
    +
    +
    Creates a ModelRenderable in the shape of a cube with the give specifications.
    +
    +
    makeCylinder(float, float, Vector3, Material) - Static method in class com.google.ar.sceneform.rendering.ShapeFactory
    +
    +
    Creates a ModelRenderable in the shape of a cylinder with the give specifications.
    +
    +
    makeDefault() - Static method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters
    +
     
    +
    makeOpaqueWithColor(Context, Color) - Static method in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Creates an opaque Material with the Color passed in.
    +
    +
    makeOpaqueWithTexture(Context, Texture) - Static method in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Creates an opaque Material with the Texture passed in.
    +
    +
    makePlane(Vector3, Vector3, Material) - Static method in class com.google.ar.sceneform.rendering.PlaneFactory
    +
    +
    Creates a ModelRenderable in the shape of a plane with the given specifications.
    +
    +
    makeRenderable() - Method in class com.google.ar.sceneform.rendering.ModelRenderable.Builder
    +
     
    +
    makeRenderable() - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    makeRotation(Quaternion) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    makeScale(float) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    makeScale(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    makeSphere(float, Vector3, Material) - Static method in class com.google.ar.sceneform.rendering.ShapeFactory
    +
    +
    Creates a ModelRenderable in the shape of a sphere with the give specifications.
    +
    +
    makeTranslation(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    makeTransparentWithColor(Context, Color) - Static method in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Creates a transparent Material with the Color passed in.
    +
    +
    makeTransparentWithTexture(Context, Texture) - Static method in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Creates a transparent Material with the Texture passed in.
    +
    +
    makeTrs(Vector3, Quaternion, Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    markWorldShapeDirty() - Method in class com.google.ar.sceneform.collision.Collider
    +
     
    +
    Mat4x3 - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Mat4x3() - Constructor for class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    material() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
    +
    Description of the desired material.
    +
    +
    material(MaterialDef) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    Material - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents a reference to a material.
    +
    +
    MATERIAL_CAMERA_TEXTURE - Static variable in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    MATERIAL_COLOR - Static variable in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    + +
    +
    MATERIAL_COLOR - Static variable in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Float3 material parameter to control the RGB tint of the plane.
    +
    +
    MATERIAL_DEPTH_TEXTURE - Static variable in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    MATERIAL_METALLIC - Static variable in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Name of material parameter for controlling the metallic property of all MaterialFactory + materials.
    +
    +
    MATERIAL_REFLECTANCE - Static variable in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Name of material parameter for controlling the reflectance property of all MaterialFactory materials.
    +
    +
    MATERIAL_ROUGHNESS - Static variable in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    +
    Name of material parameter for controlling the roughness property of all MaterialFactory materials.
    +
    +
    MATERIAL_SPOTLIGHT_RADIUS - Static variable in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Float material parameter to control the radius of the spotlight.
    +
    +
    MATERIAL_TEXTURE - Static variable in class com.google.ar.sceneform.rendering.MaterialFactory
    +
    + +
    +
    MATERIAL_TEXTURE - Static variable in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Material parameter that controls what texture is being used when rendering the planes.
    +
    +
    MATERIAL_UV_SCALE - Static variable in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Float2 material parameter to control the X/Y scaling of the texture's UV coordinates.
    +
    +
    Material.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Builder for constructing a Material
    +
    +
    MaterialDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    MaterialDef() - Constructor for class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    MaterialFactory - Class in com.google.ar.sceneform.rendering
    +
    +
    Utility class used to construct default Materials.
    +
    +
    MaterialFactory() - Constructor for class com.google.ar.sceneform.rendering.MaterialFactory
    +
     
    +
    MaterialInternalDataGltfImpl - Class in com.google.ar.sceneform.rendering
    +
     
    +
    materials(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    The material describing the "look" of each submesh.
    +
    +
    materials(int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
    +
    The material properties for the model.
    +
    +
    materials(MaterialDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    materials(ModelPipelineMaterialDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    materialsLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    materialsLength() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    MaterialTextureDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    MaterialTextureDef() - Constructor for class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    MaterialTextureUsage - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    MathHelper - Class in com.google.ar.sceneform.math
    +
    +
    Static functions for common math operations.
    +
    +
    MathHelper() - Constructor for class com.google.ar.sceneform.math.MathHelper
    +
     
    +
    Matrix - Class in com.google.ar.sceneform.math
    +
    +
    4x4 Matrix representing translation, scale, and rotation.
    +
    +
    Matrix() - Constructor for class com.google.ar.sceneform.math.Matrix
    +
     
    +
    Matrix(float[]) - Constructor for class com.google.ar.sceneform.math.Matrix
    +
     
    +
    max() - Method in class com.google.ar.sceneform.lullmodel.AabbDef
    +
     
    +
    max(Vec3) - Method in class com.google.ar.sceneform.lullmodel.AabbDef
    +
     
    +
    max(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Get a Vector3 with each value set to the element wise maximum of two Vector3's values
    +
    +
    maxBoneWeights() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Limit per-vertex bone weights to the N most significant bones.
    +
    +
    maxPosition() - Method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    maxPosition(Vec3) - Method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    mergeMaterials() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    Metallic - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    min() - Method in class com.google.ar.sceneform.lullmodel.AabbDef
    +
     
    +
    min(Vec3) - Method in class com.google.ar.sceneform.lullmodel.AabbDef
    +
     
    +
    min(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Get a Vector3 with each value set to the element wise minimum of two Vector3's values
    +
    +
    minFilter() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    minPosition() - Method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    minPosition(Vec3) - Method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    MirrorClampToEdge - Static variable in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    MIRRORED_REPEAT - com.google.ar.sceneform.rendering.Texture.Sampler.WrapMode
    +
     
    +
    MirroredRepeat - Static variable in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    ModelAnimation - Class in com.google.ar.sceneform.animation
    +
    +
    An ModelAnimation is a reusable set of keyframe tracks which represent an animation.
    +
    +
    ModelAnimation(AnimatableModel, String, int, float, int) - Constructor for class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    ModelAnimation constructed from an Animator
    +
    +
    ModelAnimation.PropertyValuesHolder - Class in com.google.ar.sceneform.animation
    +
    +
    This class holds information about a property and the values that that property + should take during an animation.
    +
    +
    ModelAnimator - Class in com.google.ar.sceneform.animation
    +
    +
    This class provides support for animating an AnimatableModel
    +
    +
    ModelAnimator() - Constructor for class com.google.ar.sceneform.animation.ModelAnimator
    +
     
    +
    ModelAnimator.PropertyValuesHolder - Class in com.google.ar.sceneform.animation
    +
    +
    This class holds information about a property and the values that that property + should take during an animation.
    +
    +
    ModelDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    ModelIndexRange - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelIndexRange() - Constructor for class com.google.ar.sceneform.lullmodel.ModelIndexRange
    +
     
    +
    ModelInstanceDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelInstanceDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    ModelPipelineCollidableDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelPipelineCollidableDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    ModelPipelineDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelPipelineDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    ModelPipelineImportDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelPipelineImportDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    ModelPipelineMaterialDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelPipelineMaterialDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    ModelPipelineRenderableDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelPipelineRenderableDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    ModelPipelineSkeletonDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    ModelPipelineSkeletonDef() - Constructor for class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    ModelRenderable - Class in com.google.ar.sceneform.rendering
    +
    +
    Renders a 3D Model by attaching it to a Node with Node.setRenderable(Renderable).
    +
    +
    ModelRenderable.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for ModelRenderable.
    +
    +
    modifyMaterialBoneTransformsBuffer(FloatBuffer) - Method in interface com.google.ar.sceneform.rendering.RenderableInstance.SkinningModifier
    +
    +
    Takes the original boneTransforms and output new boneTransforms used to render the mesh.
    +
    +
    Mouse - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    MovingAverage - Class in com.google.ar.sceneform.utilities
    +
    +
    Calculates an exponentially weighted moving average for a series of data.
    +
    +
    MovingAverage(double) - Constructor for class com.google.ar.sceneform.utilities.MovingAverage
    +
    +
    Construct an object to track the exponentially weighted moving average for a series of data.
    +
    +
    MovingAverage(double, double) - Constructor for class com.google.ar.sceneform.utilities.MovingAverage
    +
    +
    Construct an object to track the exponentially weighted moving average for a series of data.
    +
    +
    MovingAverageMillisecondsTracker - Class in com.google.ar.sceneform.utilities
    +
    +
    Used to track a MovingAverage that represents the number of milliseconds that elapse + within the execution of a block of code.
    +
    +
    MovingAverageMillisecondsTracker() - Constructor for class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
     
    +
    MovingAverageMillisecondsTracker(double) - Constructor for class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
     
    +
    MovingAverageMillisecondsTracker(MovingAverageMillisecondsTracker.Clock) - Constructor for class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
     
    +
    MovingAverageMillisecondsTracker(MovingAverageMillisecondsTracker.Clock, double) - Constructor for class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker
    +
     
    +
    multiply(Matrix, Matrix, Matrix) - Static method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    multiply(Quaternion, Quaternion) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Create a Quaternion by combining two Quaternions multiply(lhs, rhs) is equivalent to performing + the rhs rotation then lhs rotation Ordering is important for this operation.
    +
    +
    + + + +

    N

    +
    +
    name() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
    +
    The name of this blend shape.
    +
    +
    name() - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
    +
    The name of the material.
    +
    +
    name() - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    name() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    The short name of the asset that is referenced by the individual model + components (eg. renderables, collidables, etc.) below.
    +
    +
    name() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.OptionalBool
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.TextureTargetType
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    name(int) - Static method in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    nameAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    nameAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    nameAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    nameAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    nameInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    nameInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    nameInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    nameInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    nameOverride() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
    +
    Optional replacement name to use at runtime.
    +
    +
    nameOverrideAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    nameOverrideInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.DeviceType
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.OptionalBool
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.TextureTargetType
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    names - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    Nearest - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    NEAREST - com.google.ar.sceneform.rendering.Texture.Sampler.MagFilter
    +
     
    +
    NEAREST - com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
     
    +
    NEAREST_MIPMAP_LINEAR - com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
     
    +
    NEAREST_MIPMAP_NEAREST - com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
     
    +
    NearestMipmapLinear - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    NearestMipmapNearest - Static variable in class com.google.ar.sceneform.lullmodel.TextureFiltering
    +
     
    +
    negated() - Method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Negates a Vector3
    +
    +
    Nested(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Structures are always stored inline, they need to be created right + where they're used.
    +
    +
    newByteBuffer(int) - Method in class com.google.flatbuffers.FlatBufferBuilder.ByteBufferFactory
    +
    +
    Create a `ByteBuffer` with a given capacity.
    +
    +
    newByteBuffer(int) - Method in class com.google.flatbuffers.FlatBufferBuilder.HeapByteBufferFactory
    +
     
    +
    NO_DEPTH - com.google.ar.sceneform.rendering.CameraStream.DepthMode
    +
    +
    + The Session is not configured to use the Depth-API + + This is the default value
    +
    +
    Node - Class in com.google.ar.sceneform
    +
    +
    A Node represents a transformation within the scene graph's hierarchy.
    +
    +
    Node() - Constructor for class com.google.ar.sceneform.Node
    +
    +
    Creates a node with no parent.
    +
    +
    Node.LifecycleListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for callbacks to be invoked when node lifecycle events occur.
    +
    +
    Node.OnTapListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for a callback to be invoked when a node is tapped.
    +
    +
    Node.OnTouchListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for a callback to be invoked when a touch event is dispatched to this + node.
    +
    +
    Node.TransformChangedListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for callbacks to be invoked when the transformation of the node changes.
    +
    +
    NodeParent - Class in com.google.ar.sceneform
    +
    +
    Base class for all classes that can contain a set of nodes as children.
    +
    +
    NodeParent() - Constructor for class com.google.ar.sceneform.NodeParent
    +
     
    +
    NONE - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    Normal - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    Normal - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    NORMAL - com.google.ar.sceneform.rendering.Texture.Usage
    +
    +
    Texture contains a normal map
    +
    +
    normalize() - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Rescales the quaternion to the unit length.
    +
    +
    normalized() - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a Quaternion with a matching rotation but scaled to unit length.
    +
    +
    normalized() - Method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Scales the Vector3 to the unit length
    +
    +
    notNested() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Should not be creating any other object, string or vector + while an object is being constructed.
    +
    +
    numSamples() - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
    +
    Number of samples used for drawing the arc.
    +
    +
    numVertices() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    The total number of vertices stored in the vertex data.
    +
    +
    + + + +

    O

    +
    +
    Occlusion - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    ofAllAnimations(AnimatableModel) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator for all ModelAnimation + inside an AnimatableModel.
    +
    +
    ofAnimation(AnimatableModel, int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator for targeted ModelAnimation with + a given index inside an AnimatableModel.
    +
    +
    ofAnimation(AnimatableModel, ModelAnimation...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator for a targeted ModelAnimation inside + an AnimatableModel.
    +
    +
    ofAnimation(AnimatableModel, String...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator for targeted ModelAnimation with + a given name inside an AnimatableModel.
    +
    +
    ofAnimation(ModelAnimation) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation.
    +
    +
    ofAnimationFraction(AnimatableModel, int, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + fraction values.
    +
    +
    ofAnimationFraction(AnimatableModel, ModelAnimation, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + fraction values.
    +
    +
    ofAnimationFraction(AnimatableModel, String, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + fraction values.
    +
    +
    ofAnimationFraction(ModelAnimation, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of fraction values.
    +
    +
    ofAnimationFraction(String, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of fraction values.
    +
    +
    ofAnimationFrame(AnimatableModel, int, int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + frame values.
    +
    +
    ofAnimationFrame(AnimatableModel, ModelAnimation, int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + frame values.
    +
    +
    ofAnimationFrame(AnimatableModel, String, int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + frame values.
    +
    +
    ofAnimationFrame(ModelAnimation, int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of frame values.
    +
    +
    ofAnimationFrame(String, int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of fame values.
    +
    +
    ofAnimationTime(AnimatableModel, int, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + time values.
    +
    +
    ofAnimationTime(AnimatableModel, ModelAnimation, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + time values.
    +
    +
    ofAnimationTime(AnimatableModel, String, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator clipping a ModelAnimation to a given set of + time values.
    +
    +
    ofAnimationTime(ModelAnimation, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted ModelAnimation with + a given set of time values.
    +
    +
    ofAnimationTime(String, float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder for a targeted animation set of time + values.
    +
    +
    ofFraction(float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimation.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder with a given set of fraction values.
    +
    +
    ofFrame(int...) - Static method in class com.google.ar.sceneform.animation.ModelAnimation.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder with a given set of frame values.
    +
    +
    offset() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Offset relative to the end of the buffer.
    +
    +
    ofMultipleAnimations(AnimatableModel, String...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns list of ObjectAnimator given names inside an + AnimatableModel.
    +
    +
    ofPropertyValuesHolder(AnimatableModel, PropertyValuesHolder...) - Static method in class com.google.ar.sceneform.animation.ModelAnimator
    +
    +
    Constructs and returns an ObjectAnimator a ModelAnimation applying + PropertyValuesHolders.
    +
    +
    ofTime(float...) - Static method in class com.google.ar.sceneform.animation.ModelAnimation.PropertyValuesHolder
    +
    +
    Constructs and returns a PropertyValuesHolder with a given set of time values.
    +
    +
    onActivate() - Method in class com.google.ar.sceneform.Node
    +
    +
    Handles when this node becomes active.
    +
    +
    onActivated(Node) - Method in interface com.google.ar.sceneform.Node.LifecycleListener
    +
    +
    Notifies the listener that Node.onActivate() was called.
    +
    +
    onAddChild(Node) - Method in class com.google.ar.sceneform.Node
    +
     
    +
    onAddChild(Node) - Method in class com.google.ar.sceneform.NodeParent
    +
     
    +
    onAddChild(Node) - Method in class com.google.ar.sceneform.Scene
    +
     
    +
    onBeginFrame(long) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Before the render call occurs, update the ARCore session to grab the latest frame and update + listeners.
    +
    +
    onBeginFrame(long) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Update view-specific logic before for each display frame.
    +
    +
    onChanged() - Method in class com.google.ar.sceneform.collision.CollisionShape
    +
    +
    Must be called by subclasses when the shape changes to inform listeners of the change.
    +
    +
    onDeactivate() - Method in class com.google.ar.sceneform.Node
    +
    +
    Handles when this node becomes inactivate.
    +
    +
    onDeactivated(Node) - Method in interface com.google.ar.sceneform.Node.LifecycleListener
    +
    +
    Notifies the listener that Node.onDeactivate() was called.
    +
    +
    onDetachedFromSurface() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    onDispose() - Method in class com.google.ar.sceneform.rendering.MaterialInternalDataGltfImpl
    +
     
    +
    onDispose() - Method in class com.google.ar.sceneform.rendering.TextureInternalData
    +
     
    +
    onDispose() - Method in class com.google.ar.sceneform.resources.SharedReference
    +
     
    +
    one() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 with all values set to one
    +
    +
    onFinishedFetchingMaterials() - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    onFinishedLoadingModel(long) - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    onFinishedReadingFiles(long) - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    onLayout(boolean, int, int, int, int) - Method in class com.google.ar.sceneform.ArSceneView
    +
     
    +
    onLayout(boolean, int, int, int, int) - Method in class com.google.ar.sceneform.SceneView
    +
     
    +
    onModelAnimationChanged(ModelAnimation) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Called form the ModelAnimation when it dirty state changed.
    +
    +
    onNativeWindowChanged(Surface) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    onPause() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    onPeekTouch(HitTestResult, MotionEvent) - Method in interface com.google.ar.sceneform.Scene.OnPeekTouchListener
    +
    +
    Called when a touch event is dispatched to a scene.
    +
    +
    onReadingFilesFailed(Exception) - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    onRemoveChild(Node) - Method in class com.google.ar.sceneform.Node
    +
     
    +
    onRemoveChild(Node) - Method in class com.google.ar.sceneform.NodeParent
    +
     
    +
    onRemoveChild(Node) - Method in class com.google.ar.sceneform.Scene
    +
     
    +
    onResized(int, int) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    onResume() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    onSceneTouch(HitTestResult, MotionEvent) - Method in interface com.google.ar.sceneform.Scene.OnTouchListener
    +
    +
    Called when a touch event is dispatched to a scene.
    +
    +
    onTap(HitTestResult, MotionEvent) - Method in interface com.google.ar.sceneform.Node.OnTapListener
    +
    +
    Handles when a node has been tapped.
    +
    +
    onTouch(HitTestResult, MotionEvent) - Method in interface com.google.ar.sceneform.Node.OnTouchListener
    +
    +
    Handles when a touch event has been dispatched to a node.
    +
    +
    onTouchEvent(MotionEvent) - Method in class com.google.ar.sceneform.SceneView
    +
     
    +
    onTouchEvent(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.Node
    +
    +
    Handles when this node is touched.
    +
    +
    onTouchEvent(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.TouchEventSystem
    +
     
    +
    onTransformChange(Node) - Method in class com.google.ar.sceneform.Node
    +
    +
    Handles when this node's transformation is changed.
    +
    +
    onTransformChanged(Node, Node) - Method in interface com.google.ar.sceneform.Node.TransformChangedListener
    +
    +
    Notifies the listener that the transformation of the Node has changed.
    +
    +
    onUpdate(FrameTime) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    AnchorNode overrides this to update the node's position to match the ARCore Anchor's position.
    +
    +
    onUpdate(FrameTime) - Method in class com.google.ar.sceneform.Node
    +
    +
    Handles when this node is updated.
    +
    +
    onUpdate(FrameTime) - Method in interface com.google.ar.sceneform.Scene.OnUpdateListener
    +
    +
    Called once per frame right before the Scene is updated.
    +
    +
    onUpdated(Node, FrameTime) - Method in interface com.google.ar.sceneform.Node.LifecycleListener
    +
    +
    Notifies the listener that Node.onUpdate(FrameTime) was called.
    +
    +
    Opacity - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    OptionalBool - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Orientation - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    outerRadius() - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
    +
    Outer radius of the arc.
    +
    +
    overlapTest(Node) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Tests to see if the given node's collision shape overlaps the collision shape of any other + nodes in the scene using Node.getCollisionShape().
    +
    +
    overlapTestAll(Node) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Tests to see if a node is overlapping any other nodes within the scene using Node.getCollisionShape().
    +
    +
    + + + +

    P

    +
    +
    pad(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add zero valued bytes to prepare a new entry to be added.
    +
    +
    pause() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Pauses the rendering thread and ARCore session.
    +
    +
    pause() - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Pause Sceneform, which pauses the rendering thread.
    +
    +
    pauseAsync(Executor) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Non blocking call to pause the rendering thread and ARCore session.
    +
    +
    Plane - Class in com.google.ar.sceneform.collision
    +
    +
    Mathematical representation of a plane with an infinite size.
    +
    +
    Plane(Vector3, Vector3) - Constructor for class com.google.ar.sceneform.collision.Plane
    +
     
    +
    PlaneFactory - Class in com.google.ar.sceneform.rendering
    +
     
    +
    PlaneFactory() - Constructor for class com.google.ar.sceneform.rendering.PlaneFactory
    +
     
    +
    PlaneRenderer - Class in com.google.ar.sceneform.rendering
    +
    +
    Control rendering of ARCore planes.
    +
    +
    PlaneRenderer(Renderer) - Constructor for class com.google.ar.sceneform.rendering.PlaneRenderer
    +
     
    +
    PlaneRenderer.PlaneRendererMode - Enum in com.google.ar.sceneform.rendering
    +
    +
    + Use this enum to configure the Plane Rendering.
    +
    +
    POINT - com.google.ar.sceneform.rendering.Light.Type
    +
    +
    Approximates light radiating in all directions from a single point in space, where the + intensity falls off with the inverse square of the distance.
    +
    +
    Position - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    Preconditions - Class in com.google.ar.sceneform.utilities
    +
    +
    Static convenience methods that help a method or constructor check whether it was invoked + correctly.
    +
    +
    Preconditions() - Constructor for class com.google.ar.sceneform.utilities.Preconditions
    +
     
    +
    premultiplyAlpha() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    prep(int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Prepare to write an element of `size` after `additional_bytes` + have been written, e.g. if you write a string, you need to align such + the int length field is aligned to Constants.SIZEOF_INT, and + the string data follows it directly.
    +
    +
    prepareForDraw() - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    preRender(Renderer, SwapChain, Camera) - Method in interface com.google.ar.sceneform.rendering.Renderer.PreRenderCallback
    +
     
    +
    properties() - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
    +
    A dictionary of all material properties extracted from the source file.
    +
    +
    properties(VariantMapDef) - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    PropertyValuesHolder() - Constructor for class com.google.ar.sceneform.animation.ModelAnimation.PropertyValuesHolder
    +
     
    +
    PropertyValuesHolder() - Constructor for class com.google.ar.sceneform.animation.ModelAnimator.PropertyValuesHolder
    +
     
    +
    putBoolean(boolean) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `boolean` to the buffer, backwards from the current location.
    +
    +
    putByte(byte) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `byte` to the buffer, backwards from the current location.
    +
    +
    putDouble(double) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `double` to the buffer, backwards from the current location.
    +
    +
    putFloat(float) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `float` to the buffer, backwards from the current location.
    +
    +
    putInt(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add an `int` to the buffer, backwards from the current location.
    +
    +
    putLong(long) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `long` to the buffer, backwards from the current location.
    +
    +
    putShort(short) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Add a `short` to the buffer, backwards from the current location.
    +
    +
    + + + +

    Q

    +
    +
    Quat - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Quat() - Constructor for class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    Quaternion - Class in com.google.ar.sceneform.math
    +
    +
    A Sceneform quaternion class for floats.
    +
    +
    Quaternion() - Constructor for class com.google.ar.sceneform.math.Quaternion
    +
    +
    Construct Quaternion and set to Identity
    +
    +
    Quaternion(float, float, float, float) - Constructor for class com.google.ar.sceneform.math.Quaternion
    +
    +
    Construct Quaternion and set each value.
    +
    +
    Quaternion(Quaternion) - Constructor for class com.google.ar.sceneform.math.Quaternion
    +
    +
    Construct Quaternion using values from another Quaternion
    +
    +
    Quaternion(Vector3) - Constructor for class com.google.ar.sceneform.math.Quaternion
    +
    +
    Construct Quaternion based on eulerAngles.
    +
    +
    Quaternion(Vector3, float) - Constructor for class com.google.ar.sceneform.math.Quaternion
    +
    +
    Construct Quaternion using an axis/angle to define the rotation
    +
    +
    QuaternionEvaluator - Class in com.google.ar.sceneform.math
    +
    +
    TypeEvaluator for Quaternions.
    +
    +
    QuaternionEvaluator() - Constructor for class com.google.ar.sceneform.math.QuaternionEvaluator
    +
     
    +
    + + + +

    R

    +
    +
    r - Variable in class com.google.ar.sceneform.rendering.Color
    +
     
    +
    r() - Method in class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    ranges(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    The range of indices for each submesh.
    +
    +
    ranges(ModelIndexRange, int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    rangesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    RAW_DEPTH - com.google.ar.sceneform.rendering.CameraStream.DepthMode
    +
    +
    The Session is configured to use the DepthMode RAW_DEPTH_ONLY
    +
    +
    rawResourceNameToIdentifier(Context, String) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Return the integer resource id for the specified resource name.
    +
    +
    Ray - Class in com.google.ar.sceneform.collision
    +
    +
    Mathematical representation of a ray.
    +
    +
    Ray() - Constructor for class com.google.ar.sceneform.collision.Ray
    +
    +
    Create a ray with an origin of (0,0,0) and a direction of Vector3.forward().
    +
    +
    Ray(Vector3, Vector3) - Constructor for class com.google.ar.sceneform.collision.Ray
    +
    +
    Create a ray with a specified origin and direction.
    +
    +
    raycast(Ray, RayHit) - Method in class com.google.ar.sceneform.collision.CollisionSystem
    +
     
    +
    raycastAll(Ray, ArrayList<T>, BiConsumer<T, Collider>, Supplier<T>) - Method in class com.google.ar.sceneform.collision.CollisionSystem
    +
     
    +
    RayHit - Class in com.google.ar.sceneform.collision
    +
    +
    Stores the results of ray intersection tests against various types of CollisionShape.
    +
    +
    RayHit() - Constructor for class com.google.ar.sceneform.collision.RayHit
    +
     
    +
    rayIntersection(Ray, RayHit) - Method in class com.google.ar.sceneform.collision.Box
    +
     
    +
    rayIntersection(Ray, RayHit) - Method in class com.google.ar.sceneform.collision.CollisionShape
    +
     
    +
    rayIntersection(Ray, RayHit) - Method in class com.google.ar.sceneform.collision.Plane
    +
     
    +
    rayIntersection(Ray, RayHit) - Method in class com.google.ar.sceneform.collision.Sphere
    +
     
    +
    RCB_MAJOR_VERSION - Static variable in class com.google.ar.sceneform.rendering.SceneformBundle
    +
     
    +
    RCB_MINOR_VERSION - Static variable in class com.google.ar.sceneform.rendering.SceneformBundle
    +
     
    +
    readCollisionGeometry(SceneformBundleDef) - Static method in class com.google.ar.sceneform.rendering.SceneformBundle
    +
     
    +
    readFile(AssetManager, String) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    readStream(InputStream) - Static method in class com.google.ar.sceneform.utilities.SceneformBufferUtils
    +
     
    +
    recalculateCameraUvs(Frame) - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    recalculateOcclusion(Image) - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
    +
    + Update the DepthTexture.
    +
    +
    recenter() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Inserts an extra node into the asset hierarchy so that the resulting model + is centered around the origin.
    +
    +
    reclaimReleasedResources() - Method in class com.google.ar.sceneform.rendering.CleanupRegistry
    +
    +
    Polls the ReferenceQueue for garbage collected objects and runs the associated Runnable
    +
    +
    reclaimReleasedResources() - Static method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Releases rendering resources ready for garbage collection
    +
    +
    reclaimReleasedResources() - Method in class com.google.ar.sceneform.rendering.ResourceManager
    +
     
    +
    reclaimReleasedResources() - Method in interface com.google.ar.sceneform.resources.ResourceHolder
    +
    +
    Polls for garbage collected objects and disposes associated data.
    +
    +
    reclaimReleasedResources() - Method in class com.google.ar.sceneform.resources.ResourceRegistry
    +
     
    +
    reclaimReleasedResources() - Static method in class com.google.ar.sceneform.SceneView
    +
    +
    Releases rendering resources ready for garbage collection
    +
    +
    Rect - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Rect() - Constructor for class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    Recti - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Recti() - Constructor for class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    Reflection - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    register(Object, CompletableFuture<T>) - Method in class com.google.ar.sceneform.resources.ResourceRegistry
    +
    +
    Registers a future to a resource by an id.
    +
    +
    register(T, Runnable) - Method in class com.google.ar.sceneform.rendering.CleanupRegistry
    +
    +
    Adds trackedOBject to the ReferenceQueue.
    +
    +
    release() - Method in class com.google.ar.sceneform.resources.SharedReference
    +
     
    +
    releaseByteBuffer(ByteBuffer) - Method in class com.google.flatbuffers.FlatBufferBuilder.ByteBufferFactory
    +
    +
    Release a ByteBuffer.
    +
    +
    removeChild(Node) - Method in class com.google.ar.sceneform.NodeParent
    +
    +
    Removes a node from the children of this NodeParent.
    +
    +
    removeCollider(Collider) - Method in class com.google.ar.sceneform.collision.CollisionSystem
    +
     
    +
    removeLifecycleListener(Node.LifecycleListener) - Method in class com.google.ar.sceneform.Node
    +
    +
    Removes a listener that will be called when node lifecycle events occur.
    +
    +
    removeOnPeekTouchListener(Scene.OnPeekTouchListener) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Removes a listener that will be called before the Scene.OnTouchListener is invoked.
    +
    +
    removeOnPeekTouchListener(Scene.OnPeekTouchListener) - Method in class com.google.ar.sceneform.TouchEventSystem
    +
    +
    Removes a listener that will be called before the Scene.OnTouchListener is invoked.
    +
    +
    removeOnUpdateListener(Scene.OnUpdateListener) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Removes a listener that will be called once per frame immediately before the Scene is updated.
    +
    +
    removeTransformChangedListener(Node.TransformChangedListener) - Method in class com.google.ar.sceneform.Node
    +
    +
    Removes a listener that will be called when the node's transformation changes.
    +
    +
    render(long, boolean) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    RENDER_ALL - com.google.ar.sceneform.rendering.PlaneRenderer.PlaneRendererMode
    +
    +
    Render all possible Planes which are visible to the camera.
    +
    +
    RENDER_PRIORITY_DEFAULT - Static variable in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    RENDER_PRIORITY_FIRST - Static variable in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    RENDER_PRIORITY_LAST - Static variable in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    RENDER_TOP_MOST - com.google.ar.sceneform.rendering.PlaneRenderer.PlaneRendererMode
    +
    +
    Render only the top most Plane which is visible to the camera.
    +
    +
    Renderable - Class in com.google.ar.sceneform.rendering
    +
    +
    Base class for rendering in 3D space by attaching to a Node with + Node.setRenderable(Renderable).
    +
    +
    Renderable(Renderable) - Constructor for class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    Renderable(Renderable.Builder<? extends Renderable, ? extends Renderable.Builder<?, ?>>) - Constructor for class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    RenderableDefinition - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents the visual information of a Renderable.
    +
    +
    RenderableDefinition.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for RenderableDefinition.
    +
    +
    RenderableDefinition.Submesh - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents a Submesh for a RenderableDefinition.
    +
    +
    RenderableDefinition.Submesh.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for RenderableDefinition.Submesh.
    +
    +
    RenderableInstance - Class in com.google.ar.sceneform.rendering
    +
    +
    Controls how a Renderable is displayed.
    +
    +
    RenderableInstance(TransformProvider, Renderable) - Constructor for class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    RenderableInstance.SkinningModifier - Interface in com.google.ar.sceneform.rendering
    +
    +
    Interface for modifying the bone transforms for this specific RenderableInstance.
    +
    +
    RenderableInternalFilamentAssetData - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents the data used by a Renderable for rendering natively loaded glTF data.
    +
    +
    RenderableInternalFilamentAssetData() - Constructor for class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    renderables(int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
    +
    The list of models used for rendering.
    +
    +
    renderables(ModelPipelineRenderableDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    renderablesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    Renderer - Class in com.google.ar.sceneform.rendering
    +
    +
    A rendering context.
    +
    +
    Renderer(SurfaceView) - Constructor for class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    Renderer.PreRenderCallback - Interface in com.google.ar.sceneform.rendering
    +
     
    +
    Repeat - Static variable in class com.google.ar.sceneform.lullmodel.TextureWrap
    +
     
    +
    REPEAT - com.google.ar.sceneform.rendering.Texture.Sampler.WrapMode
    +
     
    +
    reportBytesDownloaded(long) - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    reportErrorsToStdout() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    some clients do not use LOG to report errors
    +
    +
    required(int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Checks that a required field has been set in a given table that has + just been constructed.
    +
    +
    reset() - Method in class com.google.ar.sceneform.collision.RayHit
    +
     
    +
    reset() - Method in class com.google.ar.sceneform.HitTestResult
    +
     
    +
    resolveUri(Uri, Uri) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Normalizes Uri's based on a reference Uri.
    +
    +
    ResourceHolder - Interface in com.google.ar.sceneform.resources
    +
    +
    Pool or cachce for resources
    +
    +
    ResourceManager - Class in com.google.ar.sceneform.rendering
    +
    +
    Minimal resource manager.
    +
    +
    ResourceRegistry<T> - Class in com.google.ar.sceneform.resources
    +
    +
    ResourceRegistry keeps track of resources that have been loaded and are in the process of being + loaded.
    +
    +
    ResourceRegistry() - Constructor for class com.google.ar.sceneform.resources.ResourceRegistry
    +
     
    +
    resourceToUri(Context, int) - Static method in class com.google.ar.sceneform.utilities.LoadHelper
    +
    +
    Generates a Uri from an Android resource.
    +
    +
    resume() - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Resumes the rendering thread and ARCore session.
    +
    +
    resume() - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Resume Sceneform, which resumes the rendering thread.
    +
    +
    resumeAsync(Executor) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Non blocking call to resume the rendering thread and ARCore session in the background
    +
    +
    retain() - Method in class com.google.ar.sceneform.resources.SharedReference
    +
     
    +
    right() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 set to (1, 0, 0)
    +
    +
    Right - Static variable in class com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment
    +
    +
    The right border of the rightmost element will align to the right side of + the canvas.
    +
    +
    RIGHT - com.google.ar.sceneform.rendering.ViewRenderable.HorizontalAlignment
    +
     
    +
    RightDown - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added leftmost, and subsequent entities go to the + right (and then down if wrapping is enabled).
    +
    +
    RightUp - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added leftmost, and subsequent entities go to the + right (and then up if wrapping is enabled).
    +
    +
    rotateVector(Quaternion, Vector3) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Rotates a Vector3 by a Quaternion
    +
    +
    rotationBetweenVectors(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Get a new Quaternion representing the rotation from one vector to another.
    +
    +
    Roughness - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    + + + +

    S

    +
    +
    Scalar1f - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    scale() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    Multiplier applied to the model to change its scale.
    +
    +
    scaled(float) - Method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Uniformly scales a Vector3
    +
    +
    Scene - Class in com.google.ar.sceneform
    +
    +
    The Sceneform Scene maintains the scene graph, a hierarchical organization of a scene's content.
    +
    +
    Scene(SceneView) - Constructor for class com.google.ar.sceneform.Scene
    +
    +
    Create a scene with the given context.
    +
    +
    Scene.OnPeekTouchListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for a callback to be invoked when a touch event is dispatched to a scene.
    +
    +
    Scene.OnTouchListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for a callback to be invoked when a touch event is dispatched to a scene.
    +
    +
    Scene.OnUpdateListener - Interface in com.google.ar.sceneform
    +
    +
    Interface definition for a callback to be invoked once per frame immediately before the scene + is updated.
    +
    +
    Sceneform - Class in com.google.ar.sceneform
    +
    +
    Global static Sceneform access class
    +
    +
    Sceneform() - Constructor for class com.google.ar.sceneform.Sceneform
    +
     
    +
    SceneformBufferUtils - Class in com.google.ar.sceneform.utilities
    +
    +
    A simple class to read InputStreams Once the data is read it can be accessed as a ByteBuffer.
    +
    +
    SceneformBundle - Class in com.google.ar.sceneform.rendering
    +
    +
    Helper functions for loading and processing rendercore bundles.
    +
    +
    SceneformBundle() - Constructor for class com.google.ar.sceneform.rendering.SceneformBundle
    +
     
    +
    SceneView - Class in com.google.ar.sceneform
    +
    +
    A Sceneform SurfaceView that manages rendering and interaction with the scene.
    +
    +
    SceneView(Context) - Constructor for class com.google.ar.sceneform.SceneView
    +
    +
    Constructs a SceneView object and binds it to an Android Context.
    +
    +
    SceneView(Context, AttributeSet) - Constructor for class com.google.ar.sceneform.SceneView
    +
    +
    Constructs a SceneView object and binds it to an Android Context.
    +
    +
    SceneView.FrameRate - Enum in com.google.ar.sceneform
    +
    +
    + Further limit the maximal possible frame rate.
    +
    +
    screenPointToRay(float, float) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Calculates a ray in world space going from the near-plane of the camera and going through a + point in screen space.
    +
    +
    secondsToMillis(float) - Static method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Convert time in seconds to time in millis
    +
    +
    set(float[]) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    set(float, float, float) - Method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Set each value
    +
    +
    set(float, float, float) - Method in class com.google.ar.sceneform.rendering.Color
    +
    +
    Set to the RGB values passed in and an alpha of 1.
    +
    +
    set(float, float, float, float) - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Set each value and normalize the Quaternion
    +
    +
    set(float, float, float, float) - Method in class com.google.ar.sceneform.rendering.Color
    +
    +
    Set to the RGBA values passed in.
    +
    +
    set(int) - Method in class com.google.ar.sceneform.rendering.Color
    +
    +
    Set to RGBA values from an integer in the sRGB color space packed as an ARGB value.
    +
    +
    set(RayHit) - Method in class com.google.ar.sceneform.collision.RayHit
    +
     
    +
    set(HitTestResult) - Method in class com.google.ar.sceneform.HitTestResult
    +
     
    +
    set(Matrix) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    set(Quaternion) - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Copy values from another Quaternion into this one
    +
    +
    set(Vector3) - Method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Copy the values from another Vector3 to this Vector3
    +
    +
    set(Vector3, float) - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Update this Quaternion using an axis/angle to define the rotation
    +
    +
    set(Color) - Method in class com.google.ar.sceneform.rendering.Color
    +
    +
    Set to the values of another color.
    +
    +
    setAmbientShScaleForFilament(float) - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters.Builder
    +
    +
    Conversion factor for ambient spherical harmonics.
    +
    +
    setAnchor(Anchor) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Set an ARCore anchor and force the position of this node to be updated immediately.
    +
    +
    setAnimationNames(List<String>) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setAnimationsFramePosition(int) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Sets the current position of (seeks) all the animations to the specified frame number according + to the ModelAnimation.getFrameRate()
    +
    +
    setAnimationsTimePosition(float) - Method in interface com.google.ar.sceneform.animation.AnimatableModel
    +
    +
    Sets the current position of (seeks) the animation to the specified time position in seconds.
    +
    +
    setAntiAliasing(View.AntiAliasing) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setAssetName(String) - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Set the name of the Light Probe to load if the binary bundle file contains more than one.
    +
    +
    setAttachedCollisionSystem(CollisionSystem) - Method in class com.google.ar.sceneform.collision.Collider
    +
     
    +
    setBackground(Drawable) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Set the background to a given Drawable, or remove the background.
    +
    +
    setBoolean(String, boolean) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setBoolean2(String, boolean, boolean) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setBoolean3(String, boolean, boolean, boolean) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setBoolean4(String, boolean, boolean, boolean, boolean) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setCameraProvider(CameraProvider) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setCenter(Vector3) - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Set the center of this box.
    +
    +
    setCenter(Vector3) - Method in class com.google.ar.sceneform.collision.Plane
    +
     
    +
    setCenter(Vector3) - Method in class com.google.ar.sceneform.collision.Sphere
    +
    +
    Set the center of this sphere.
    +
    +
    setCenterAabb(Vector3) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setClearColor(Color) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setCollisionShape(CollisionShape) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the shape to used to detect collisions for this Node.
    +
    +
    setCollisionShape(CollisionShape) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Set the CollisionShape used for collision detection with this Renderable.
    +
    +
    setColor(Color) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Sets the "RGB" color of the light.
    +
    +
    setColor(Color) - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Sets the "RGB" color of the light.
    +
    +
    setColor(Color) - Method in class com.google.ar.sceneform.rendering.Vertex.Builder
    +
     
    +
    setColor(Color) - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    setColorTemperature(float) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Sets the "RGB" color of the light based on the desired "color temperature."
    +
    +
    setColorTemperature(float) - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Sets the "RGB" color of the light based on the desired "color temperature."
    +
    +
    setCubeMap(Image[]) - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
     
    +
    setData(TextureInternalData) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Sets internal data of the texture directly.
    +
    +
    setDefault(Utf8) - Static method in class com.google.flatbuffers.Utf8
    +
    +
    Set the default instance of the UTF-8 processor.
    +
    +
    setDefaultClearColor() - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setDepthOcclusionMode(CameraStream.DepthOcclusionMode) - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
    +
    + Set the DepthModeUsage to CameraStream.DepthOcclusionMode.DEPTH_OCCLUSION_ENABLED to set the + occlusion Material.
    +
    +
    setDepthTexture(String, DepthTexture) - Method in class com.google.ar.sceneform.rendering.Material
    +
    +
    + Sets a DepthTexture to a parameter of the type 'sampler2d' on this material.
    +
    +
    setDesiredSize(int, int) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setDirectIntensityForFilament(float) - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters.Builder
    +
    +
    Conversion factor for directional lighting.
    +
    +
    setDirection(Vector3) - Method in class com.google.ar.sceneform.collision.Ray
    +
    +
    Set the direction of the ray.
    +
    +
    setDirty(boolean) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Set the state of this object properties to changed.
    +
    +
    setDistance(float) - Method in class com.google.ar.sceneform.collision.RayHit
    +
     
    +
    setDithering(View.Dithering) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setDynamicResolutionEnabled(boolean) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setEnabled(boolean) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the enabled state of this node.
    +
    +
    setEnabled(boolean) - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Enable/disable the plane renderer.
    +
    +
    setEnvironmentalHdrLightEstimate(float[], float[], Color, float, Image[]) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Sets the current Hdr Light Estimate state to apply to the Filament scene.
    +
    +
    setEnvironmentalHdrParameters(EnvironmentalHdrParameters) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Setter to help convert between filament and Environmental HDR.
    +
    +
    setEnvironmentalHdrSphericalHarmonics(float[], float, EnvironmentalHdrParameters) - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Updates spherical harmonics with values not premultiplied by the SH basis.
    +
    +
    setExtentsAabb(Vector3) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setExternalTexture(String, ExternalTexture) - Method in class com.google.ar.sceneform.rendering.Material
    +
    +
    Sets an ExternalTexture to a parameter of type 'samplerExternal' on this material.
    +
    +
    setFalloffRadius(float) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Sets the range that the light intensity falls off to zero.
    +
    +
    setFalloffRadius(float) - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Sets the range that the light intensity falls off to zero.
    +
    +
    setFarClipPlane(float) - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    setFloat(String, float) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFloat2(String, float, float) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFloat3(String, float, float, float) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFloat3(String, Vector3) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFloat3(String, Color) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFloat4(String, float, float, float, float) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFloat4(String, Color) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setFractionPosition(float) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Sets the current position of (seeks) the animation to the specified fraction + position.
    +
    +
    setFramePosition(int) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Sets the current position of (seeks) the animation to the specified frame number according to + the ModelAnimation.getFrameRate().
    +
    +
    setFrameRateFactor(SceneView.FrameRate) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    + Set this value for a finer adjustment of the upper fps value.
    +
    +
    setFrameRenderDebugCallback(Runnable) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Sets a callback to happen after each frame is rendered.
    +
    +
    setFrontFaceWindingInverted(Boolean) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Inverts winding for front face rendering.
    +
    +
    setHorizontalAlignment(ViewRenderable.HorizontalAlignment) - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
    +
    Sets the ViewRenderable.HorizontalAlignment that controls where the ViewRenderable is + positioned relative to the Node it is attached to along the + x-axis.
    +
    +
    setHorizontalAlignment(ViewRenderable.HorizontalAlignment) - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Sets the ViewRenderable.HorizontalAlignment that controls where the ViewRenderable is + positioned relative to the Node it is attached to along the + x-axis.
    +
    +
    setIdentity() - Method in class com.google.ar.sceneform.math.Quaternion
    +
    +
    Set the Quaternion to identity
    +
    +
    setIndexBuffer(IndexBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setInnerConeAngle(float) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Spotlights shine light in a cone, this value determines the size of the inner part of the + cone.
    +
    +
    setInnerConeAngle(float) - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Spotlights shine light in a cone, this value determines the size of the inner part of the cone.
    +
    +
    setInt(String, int) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setInt2(String, int, int) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setInt3(String, int, int, int) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setInt4(String, int, int, int, int) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setIntensity(float) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Sets the light intensity which determines how bright the light is in Lux (lx) or Lumens (lm) + (depending on the light type).
    +
    +
    setIntensity(float) - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Sets the light intensity which determines how bright the light is in Lux (lx) or Lumens (lm) + (depending on the light type).
    +
    +
    setIntensity(float) - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Set the intensity of the indirect lighting.
    +
    +
    setIntensity(float) - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Set the overall intensity of the indirect light.
    +
    +
    setLight(Light) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the Light to display.
    +
    +
    setLightDirectionUpdateEnabled(boolean) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Sets whether the sunlight direction generated from Environmental HDR lighting should be updated + every frame.
    +
    +
    setLightEstimate(Color, float) - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Modify light intensity using ArCore light estimation.
    +
    +
    setLightEstimate(Color, float) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Sets light estimate to modulate the scene lighting and intensity.
    +
    +
    setLightEstimationEnabled(boolean) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Enable Light Estimation based on the camera feed.
    +
    +
    setLightProbe(LightProbe) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Set the Light Probe used for reflections and indirect light.
    +
    +
    setLightProbe(LightProbe) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Set a new Light Probe for the scene, this affects reflections and indirect lighting.
    +
    +
    setLoadingStage(LoadGltfListener.GltfLoadStage) - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    setLocalPosition(Vector3) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Set the local-space position of this node if it is not anchored.
    +
    +
    setLocalPosition(Vector3) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Set the position of the camera.
    +
    +
    setLocalPosition(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the position of this node relative to its parent (local-space).
    +
    +
    setLocalRotation(Quaternion) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Set the local-space rotation of this node if it is not anchored.
    +
    +
    setLocalRotation(Quaternion) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Set the rotation of the camera.
    +
    +
    setLocalRotation(Quaternion) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the rotation of this node relative to its parent (local-space).
    +
    +
    setLocalScale(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the scale of this node relative to its parent (local-space).
    +
    +
    setLookDirection(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the direction that the node is looking at in world-space.
    +
    +
    setLookDirection(Vector3, Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the direction that the node is looking at in world-space.
    +
    +
    setMagFilter(Texture.Sampler.MagFilter) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set the magnification function used whenever the level-of-detail function determines that + the texture should be magnified.
    +
    +
    setMainExecutor(Executor) - Static method in class com.google.ar.sceneform.rendering.ThreadPools
    +
     
    +
    setMaterial(int, int, Material) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Sets the material bound to the specified index and entityIndex
    +
    +
    setMaterial(int, Material) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Sets the material bound to the specified submesh.
    +
    +
    setMaterial(int, Material) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Sets the material bound to the specified index.
    +
    +
    setMaterial(Material) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Sets the material bound to the first submesh.
    +
    +
    setMaterial(Material) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh.Builder
    +
     
    +
    setMaterial(Material) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    setMaterial(Material) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Sets the material bound to the first index.
    +
    +
    setMaxFramesPerSeconds(int) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    + Set a higher bound for the frame rate.
    +
    +
    setMinFilter(Texture.Sampler.MinFilter) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set the minifying function used whenever the level-of-detail function determines that the + texture should be minified.
    +
    +
    setMinMagFilter(Texture.Sampler.MagFilter) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set both the texture minifying function and magnification function.
    +
    +
    setModelSize(float) - Method in interface com.google.ar.sceneform.rendering.LoadGltfListener
    +
     
    +
    setName(String) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the name of this node.
    +
    +
    setName(String) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh.Builder
    +
     
    +
    setName(String) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    setNearClipPlane(float) - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    setNode(Node) - Method in class com.google.ar.sceneform.HitTestResult
    +
     
    +
    setNormal(Vector3) - Method in class com.google.ar.sceneform.collision.Plane
    +
     
    +
    setNormal(Vector3) - Method in class com.google.ar.sceneform.rendering.Vertex.Builder
    +
     
    +
    setNormal(Vector3) - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    setOnTapListener(Node.OnTapListener) - Method in class com.google.ar.sceneform.Node
    +
    +
    Registers a callback to be invoked when this node is tapped.
    +
    +
    setOnTouchListener(Node.OnTouchListener) - Method in class com.google.ar.sceneform.Node
    +
    +
    Registers a callback to be invoked when a touch event is dispatched to this node.
    +
    +
    setOnTouchListener(Scene.OnTouchListener) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Register a callback to be invoked when the scene is touched.
    +
    +
    setOnTouchListener(Scene.OnTouchListener) - Method in class com.google.ar.sceneform.TouchEventSystem
    +
    +
    Register a callback to be invoked when the scene is touched.
    +
    +
    setOrigin(Vector3) - Method in class com.google.ar.sceneform.collision.Ray
    +
    +
    Set the origin of the ray in world coordinates.
    +
    +
    setOuterConeAngle(float) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Spotlights shine light in a cone, this value determines the size of the outer part of the + cone.
    +
    +
    setOuterConeAngle(float) - Method in class com.google.ar.sceneform.rendering.Light
    +
    +
    Spotlights shine light in a cone, this value determines the size of the outer part of the cone.
    +
    +
    setParent(NodeParent) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Unsupported operation.
    +
    +
    setParent(NodeParent) - Method in class com.google.ar.sceneform.Node
    +
    +
    Changes the parent node of this node.
    +
    +
    setParent(NodeParent) - Method in class com.google.ar.sceneform.Sun
    +
     
    +
    setPlaneRendererMode(PlaneRenderer.PlaneRendererMode) - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    + Set here how tracked planes should be visualized on the screen.
    +
    +
    setPoint(Vector3) - Method in class com.google.ar.sceneform.collision.RayHit
    +
     
    +
    setPosition(Vector3) - Method in class com.google.ar.sceneform.rendering.Vertex.Builder
    +
     
    +
    setPosition(Vector3) - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    setPostProcessingEnabled(boolean) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setPreRenderCallback(Renderer.PreRenderCallback) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setProjectionMatrix(Matrix) - Method in class com.google.ar.sceneform.Camera
    +
     
    +
    setRadius(float) - Method in class com.google.ar.sceneform.collision.Sphere
    +
    +
    Set the radius of the sphere.
    +
    +
    setRawColorBuffer(FloatBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setRawIndexBuffer(IntBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setRawPositionBuffer(FloatBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setRawTangentsBuffer(FloatBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setRawUvBuffer(FloatBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setReflectionScaleForFilament(float) - Method in class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters.Builder
    +
    +
    Conversion factor for reflections.
    +
    +
    setRegistryId(Object) - Method in class com.google.ar.sceneform.rendering.Material.Builder
    +
    +
    Allows a Material to be reused.
    +
    +
    setRegistryId(Object) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Allows a Texture to be reused.
    +
    +
    setRenderable(Renderable) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the Renderable to display for this node.
    +
    +
    setRenderPriority(int) - Method in class com.google.ar.sceneform.rendering.CameraStream
    +
     
    +
    setRenderPriority(int) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Set the render priority to control the order of rendering.
    +
    +
    setRenderPriority(int) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Set the render priority to control the order of rendering.
    +
    +
    setRenderQuality(View.RenderQuality) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setRotation(Quaternion) - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Set the rotation of this box.
    +
    +
    setRotation(Quaternion) - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Sets the rotation of the indirect light.
    +
    +
    setRotation(Quaternion) - Method in class com.google.ar.sceneform.rendering.LightProbe
    +
    +
    Sets the rotation of the indirect light.
    +
    +
    setSampler(Texture.Sampler) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Sets the Texture.Samplerto control rendering parameters on the Texture.
    +
    +
    setShadowCaster(boolean) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Sets whether the renderable casts shadow on other renderables in the scene.
    +
    +
    setShadowCaster(boolean) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Sets whether the renderable casts shadow on other renderables in the scene.
    +
    +
    setShadowCastingEnabled(boolean) - Method in class com.google.ar.sceneform.rendering.Light.Builder
    +
    +
    Determines whether the light casts shadows, or whether synthetic objects can block the light.
    +
    +
    setShadowReceiver(boolean) - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Control whether Renderables in the scene should cast shadows onto the planes.
    +
    +
    setShadowReceiver(boolean) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
    +
    Sets whether the renderable receives shadows cast by other renderables in the scene.
    +
    +
    setShadowReceiver(boolean) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Sets whether the renderable receives shadows cast by other renderables in the scene.
    +
    +
    setShape(CollisionShape) - Method in class com.google.ar.sceneform.collision.Collider
    +
     
    +
    setSize(Vector3) - Method in class com.google.ar.sceneform.collision.Box
    +
    +
    Set the size of this box.
    +
    +
    setSizer(ViewSizer) - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
    +
    Set the ViewSizer that controls the size of the built ViewRenderable in the + Scene.
    +
    +
    setSizer(ViewSizer) - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Sets the ViewSizer that controls the size of this ViewRenderable in the Scene.
    +
    +
    setSkinningModifier(RenderableInstance.SkinningModifier) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
     
    +
    setSmoothed(boolean) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Set true to smooth the transition between the node’s current position and the anchor position.
    +
    +
    setSource(Context, int) - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Allows a LightProbe to be constructed from resource.
    +
    +
    setSource(Context, int) - Method in class com.google.ar.sceneform.rendering.Material.Builder
    +
    +
    Allows a Material to be constructed from resource.
    +
    +
    setSource(Context, int) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Allows a Texture to be constructed from resource.
    +
    +
    setSource(Context, Uri) - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Allows a LightProbe to be constructed from Uri.
    +
    +
    setSource(Context, Uri) - Method in class com.google.ar.sceneform.rendering.Material.Builder
    +
    +
    Allows a Material to be constructed from Uri.
    +
    +
    setSource(Context, Uri) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Allows a Texture to be constructed from Uri.
    +
    +
    setSource(Bitmap) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Allows a Texture to be constructed from a Bitmap.
    +
    +
    setSource(ByteBuffer) - Method in class com.google.ar.sceneform.rendering.Material.Builder
    +
    +
    Allows a Material to be created with data.
    +
    +
    setSource(Callable<InputStream>) - Method in class com.google.ar.sceneform.rendering.LightProbe.Builder
    +
    +
    Allows a LightProbe to be constructed via callable function.
    +
    +
    setSource(Callable<InputStream>) - Method in class com.google.ar.sceneform.rendering.Material.Builder
    +
    +
    Allows a Material to be constructed via callable function.
    +
    +
    setSource(Callable<InputStream>) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Allows a Texture to be constructed via callable function.
    +
    +
    setSubmeshes(List<RenderableDefinition.Submesh>) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Builder
    +
     
    +
    setSubmeshes(List<RenderableDefinition.Submesh>) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition
    +
     
    +
    setTexture(String, Texture) - Method in class com.google.ar.sceneform.rendering.Material
    +
     
    +
    setThreadPoolExecutor(Executor) - Static method in class com.google.ar.sceneform.rendering.ThreadPools
    +
    +
    Sets the default background Executor.
    +
    +
    setTimePosition(float) - Method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Sets the current position of (seeks) the animation to the specified time position in seconds.
    +
    +
    setTransformOffset(Vector3) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setTransformScale(float) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setTranslation(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    setTransparent(boolean) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    Set the background to transparent.
    +
    +
    setTriangleIndices(List<Integer>) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh.Builder
    +
     
    +
    setTriangleIndices(List<Integer>) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Submesh
    +
     
    +
    setUnderTesting(boolean) - Static method in class com.google.ar.sceneform.utilities.AndroidPreconditions
    +
     
    +
    setupSession(Session) - Method in class com.google.ar.sceneform.ArSceneView
    +
    +
    Setup the view with an AR Session.
    +
    +
    setUsage(Texture.Usage) - Method in class com.google.ar.sceneform.rendering.Texture.Builder
    +
    +
    Mark the Texture as a containing color, normal or arbitrary data.
    +
    +
    setUseHdrLightEstimate(boolean) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
     
    +
    setUseHdrLightEstimate(boolean) - Method in class com.google.ar.sceneform.Scene
    +
    +
    Sets whether the Scene should expect to use an Hdr light estimate, so that Filament light + settings can be adjusted appropriately.
    +
    +
    setUvCoordinate(Vertex.UvCoordinate) - Method in class com.google.ar.sceneform.rendering.Vertex.Builder
    +
     
    +
    setUvCoordinate(Vertex.UvCoordinate) - Method in class com.google.ar.sceneform.rendering.Vertex
    +
     
    +
    setVertexBuffer(VertexBuffer) - Method in class com.google.ar.sceneform.rendering.RenderableInternalFilamentAssetData
    +
     
    +
    setVerticalAlignment(ViewRenderable.VerticalAlignment) - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
    +
    Sets the ViewRenderable.VerticalAlignment that controls where the ViewRenderable is + positioned relative to the Node it is attached to along the + y-axis.
    +
    +
    setVerticalAlignment(ViewRenderable.VerticalAlignment) - Method in class com.google.ar.sceneform.rendering.ViewRenderable
    +
    +
    Sets the ViewRenderable.VerticalAlignment that controls where the ViewRenderable is positioned + relative to the Node it is attached to along the y-axis.
    +
    +
    setVerticalFovDegrees(float) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Sets the vertical field of view for the non-ar camera in degrees.
    +
    +
    setVertices(List<Vertex>) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition.Builder
    +
     
    +
    setVertices(List<Vertex>) - Method in class com.google.ar.sceneform.rendering.RenderableDefinition
    +
     
    +
    setView(Context, int) - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    setView(Context, View) - Method in class com.google.ar.sceneform.rendering.ViewRenderable.Builder
    +
     
    +
    setVisible(boolean) - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
    +
    Control visibility of plane visualization.
    +
    +
    setWorldPosition(Vector3) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Set the world-space position of this node if it is not anchored.
    +
    +
    setWorldPosition(Vector3) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Set the position of the camera.
    +
    +
    setWorldPosition(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the world-space position of this node.
    +
    +
    setWorldRotation(Quaternion) - Method in class com.google.ar.sceneform.AnchorNode
    +
    +
    Set the world-space rotation of this node if it is not anchored.
    +
    +
    setWorldRotation(Quaternion) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Set the rotation of the camera.
    +
    +
    setWorldRotation(Quaternion) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the world-space rotation of this node.
    +
    +
    setWorldScale(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Sets the world-space scale of this node.
    +
    +
    setWrapMode(Texture.Sampler.WrapMode) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set the wrap mode for all texture coordinates.
    +
    +
    setWrapModeR(Texture.Sampler.WrapMode) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set the wrap mode for texture coordinate R.
    +
    +
    setWrapModeS(Texture.Sampler.WrapMode) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set the wrap mode for texture coordinate S.
    +
    +
    setWrapModeT(Texture.Sampler.WrapMode) - Method in class com.google.ar.sceneform.rendering.Texture.Sampler.Builder
    +
    +
    Set the wrap mode for texture coordinate T.
    +
    +
    shaderToMeshBones(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    Maps the skeleton bone index to the shader bone index.
    +
    +
    shaderToMeshBonesAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    shaderToMeshBonesInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    shaderToMeshBonesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    Shadow - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    ShapeFactory - Class in com.google.ar.sceneform.rendering
    +
    +
    Utility class used to dynamically construct ModelRenderables for various shapes.
    +
    +
    ShapeFactory() - Constructor for class com.google.ar.sceneform.rendering.ShapeFactory
    +
     
    +
    shapeIntersection(CollisionShape) - Method in class com.google.ar.sceneform.collision.Box
    +
     
    +
    shapeIntersection(CollisionShape) - Method in class com.google.ar.sceneform.collision.CollisionShape
    +
     
    +
    shapeIntersection(CollisionShape) - Method in class com.google.ar.sceneform.collision.Sphere
    +
     
    +
    SharedReference - Class in com.google.ar.sceneform.resources
    +
    +
    Used for managing memory of shared object using reference counting.
    +
    +
    SharedReference() - Constructor for class com.google.ar.sceneform.resources.SharedReference
    +
     
    +
    Shininess - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    SIZE_PREFIX_LENGTH - Static variable in class com.google.flatbuffers.Constants
    +
    +
    The number of bytes in a size prefix.
    +
    +
    sizedByteArray() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    A utility function to copy and return the ByteBuffer data as a `byte[]`.
    +
    +
    sizedByteArray(int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    A utility function to copy and return the ByteBuffer data from `start` to + `start` + `length` as a `byte[]`.
    +
    +
    sizedInputStream() - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    A utility function to return an InputStream to the ByteBuffer data
    +
    +
    skeleton() - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
    +
    The skeletal information used by the RigSystem to support skinned + animations.
    +
    +
    skeleton() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
    +
    The model used for skeletal animations.
    +
    +
    skeleton(ModelPipelineSkeletonDef) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    skeleton(SkeletonDef) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    SkeletonDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    SkeletonDef() - Constructor for class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    slerp(Quaternion, Quaternion, float) - Static method in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    slot(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Set the current vtable at `voffset` to the current location in the buffer.
    +
    +
    smoothingAngle() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    The limit angle (in degrees) between two normals being considered for + tangent space smoothing.
    +
    +
    sortTables(int[], ByteBuffer) - Method in class com.google.flatbuffers.Table
    +
    +
    Sort tables by the key.
    +
    +
    source() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
    +
    The name of ModelPipelineImportDef defining this model.
    +
    +
    source() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
    +
    The name of ModelPipelineImportDef defining this model.
    +
    +
    source() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
    +
    The name of ModelPipelineImportDef defining this model.
    +
    +
    sourceAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    sourceAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    sourceAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    sourceInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    sourceInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    sourceInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    sources(int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
    +
    The list of assets to import.
    +
    +
    sources(ModelPipelineImportDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    sourcesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    Specular - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    SpecularEnvironment - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    Sphere - Class in com.google.ar.sceneform.collision
    +
    +
    Mathematical representation of a sphere.
    +
    +
    Sphere() - Constructor for class com.google.ar.sceneform.collision.Sphere
    +
    +
    Create a sphere with a center of (0,0,0) and a radius of 1.
    +
    +
    Sphere(float) - Constructor for class com.google.ar.sceneform.collision.Sphere
    +
    +
    Create a sphere with a center of (0,0,0) and a specified radius.
    +
    +
    Sphere(float, Vector3) - Constructor for class com.google.ar.sceneform.collision.Sphere
    +
    +
    Create a sphere with a specified center and radius.
    +
    +
    sphereIntersection(Sphere) - Method in class com.google.ar.sceneform.collision.Box
    +
     
    +
    sphereIntersection(Sphere) - Method in class com.google.ar.sceneform.collision.CollisionShape
    +
     
    +
    sphereIntersection(Sphere) - Method in class com.google.ar.sceneform.collision.Sphere
    +
     
    +
    SPOTLIGHT - com.google.ar.sceneform.rendering.Light.Type
    +
    +
    Similar to a point light but radiating light in a cone rather than all directions.
    +
    +
    Standard2d - Static variable in class com.google.ar.sceneform.lullmodel.TextureTargetType
    +
     
    +
    start() - Method in class com.google.ar.sceneform.lullmodel.ModelIndexRange
    +
     
    +
    startAabbsVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startAngle() - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
    +
    The angle (in radians) in which the start of the arc should be poised at. + 0 = vertical [0,1].
    +
    +
    startAttributesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    startBlendAttributesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startBlendShape(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    startBlendShapesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startBoneNamesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    startBoneParentsVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    startBoneTransformsVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    startDataBool(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    startDataBytes(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    startDataFloat(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    startDataHashValue(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    startDataInt(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    startDataQuat(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    startDataString(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    startDataVec2(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    startDataVec3(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    startDataVec4(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    startDataVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    startIndices16Vector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startIndices32Vector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startKeyVariantPairDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    startLodsVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    startMaterialDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    startMaterialsVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startMaterialsVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    startMaterialTextureDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    startMirroring(Surface, int, int, int, int) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Starts mirroring to the specified Surface.
    +
    +
    startMirroringToSurface(Surface, int, int, int, int) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    To capture the contents of this view, designate a Surface onto which this SceneView + should be mirrored.
    +
    +
    startModelDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    startModelInstanceDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startModelPipelineCollidableDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    startModelPipelineDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    startModelPipelineImportDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    startModelPipelineMaterialDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    startModelPipelineRenderableDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    startModelPipelineSkeletonDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    startObject(int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Start encoding a new object in the buffer.
    +
    +
    startRangesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startRenderablesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    startShaderToMeshBonesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startSkeletonDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    startSourcesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    startSubmeshAabb(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    startTangentDataVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    startTangentIndices16Vector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    startTangentIndices32Vector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    startTargetMeshesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    startTextureDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    startTexturesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    startTexturesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    startTexturesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    startUsagePerChannelVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    startValuesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    startValuesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    startValueVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    startVariantArrayDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    startVariantArrayDefImpl(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    startVariantMapDef(FlatBufferBuilder) - Static method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    startVector(int, int, int) - Method in class com.google.flatbuffers.FlatBufferBuilder
    +
    +
    Start a new array/vector of objects.
    +
    +
    startVertexAttributesVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startVertexDataVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    startVertexDataVector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    startVertexIndices16Vector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    startVertexIndices32Vector(FlatBufferBuilder, int) - Static method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    stopMirroring(Surface) - Method in class com.google.ar.sceneform.rendering.Renderer
    +
    +
    Stops mirroring to the specified Surface.
    +
    +
    stopMirroringToSurface(Surface) - Method in class com.google.ar.sceneform.SceneView
    +
    +
    When capturing is complete, call this method to stop mirroring the SceneView to the specified + Surface.
    +
    +
    Struct - Class in com.google.flatbuffers
    +
    +
    All structs in the generated code derive from this class, and add their own accessors.
    +
    +
    Struct() - Constructor for class com.google.flatbuffers.Struct
    +
     
    +
    SubmeshAabb - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    SubmeshAabb() - Constructor for class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    subtract(Vector3, Vector3) - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Subtract two Vector3
    +
    +
    Sun - Class in com.google.ar.sceneform
    +
    +
    Represents the "sun" - the default directional light in the scene.
    +
    +
    + + + +

    T

    +
    +
    Table - Class in com.google.flatbuffers
    +
    +
    All tables in the generated code derive from this class, and add their own accessors.
    +
    +
    Table() - Constructor for class com.google.flatbuffers.Table
    +
     
    +
    TAG - Static variable in class com.google.ar.sceneform.rendering.HeadlessEngineWrapper
    +
     
    +
    Tangent - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    tangentData(int) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
    +
    Contains Tangent data that is necessary to restore original values of + blend shape vertices that differ from correspondent mesh vertices in + Tangent attribute only OR indentical ones.
    +
    +
    tangentDataAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentDataInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentDataLength() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices16(int) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices16AsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices16InByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices16Length() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices32(int) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
    +
    Indices of vertices that differ in Tangent OR indentical ones.
    +
    +
    tangentIndices32AsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices32InByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    tangentIndices32Length() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    targetMeshes(int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    The names of the nodes that contain the target meshes to import from the + asset.
    +
    +
    targetMeshesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    targetType() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    TexCoord - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeUsage
    +
     
    +
    Texture - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents a reference to a texture.
    +
    +
    Texture.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for Texture
    +
    +
    Texture.Sampler - Class in com.google.ar.sceneform.rendering
    +
    +
    Controls what settings are used to sample Textures when rendering.
    +
    +
    Texture.Sampler.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Builder for constructing Sampler objects.
    +
    +
    Texture.Sampler.MagFilter - Enum in com.google.ar.sceneform.rendering
    +
    +
    Options for Magnification Filter function.
    +
    +
    Texture.Sampler.MinFilter - Enum in com.google.ar.sceneform.rendering
    +
    +
    Options for Minification Filter function.
    +
    +
    Texture.Sampler.WrapMode - Enum in com.google.ar.sceneform.rendering
    +
    +
    Options for Wrap Mode function.
    +
    +
    Texture.Usage - Enum in com.google.ar.sceneform.rendering
    +
    +
    Type of Texture usage.
    +
    +
    TextureDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    TextureDef() - Constructor for class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    TextureFiltering - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    TextureInternalData - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents shared data used by Textures for rendering.
    +
    +
    TextureInternalData(Texture, Texture.Sampler) - Constructor for class com.google.ar.sceneform.rendering.TextureInternalData
    +
     
    +
    textures(int) - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
    +
    The list of textures associated with the Material.
    +
    +
    textures(int) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
    +
    A collection of embedded textures associated with this model.
    +
    +
    textures(int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
    +
    The textures to be used by the renderables.
    +
    +
    textures(MaterialTextureDef, int) - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    textures(TextureDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    textures(TextureDef, int) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    texturesLength() - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    texturesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    texturesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    TextureTargetType - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    TextureWrap - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    THIRD - com.google.ar.sceneform.SceneView.FrameRate
    +
    +
    divide the maximal allowed frame rate by 3
    +
    +
    ThreadPools - Class in com.google.ar.sceneform.rendering
    +
    +
    Provides access to default Executors to be used
    +
    +
    TIME_POSITION - Static variable in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    A Property wrapper around the timePosition functionality handled by the + ModelAnimation.setTimePosition(float) and ModelAnimation.getTimePosition() + methods.
    +
    +
    TimeAccumulator - Class in com.google.ar.sceneform.utilities
    +
    +
    Sums time samples together.
    +
    +
    TimeAccumulator() - Constructor for class com.google.ar.sceneform.utilities.TimeAccumulator
    +
     
    +
    timeToFraction(float, float) - Static method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the fraction position at the elapsed time in seconds.
    +
    +
    timeToFrame(float, int) - Static method in class com.google.ar.sceneform.animation.ModelAnimation
    +
    +
    Get the frame position at the elapsed time in seconds.
    +
    +
    Top - Static variable in class com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment
    +
    +
    Each entity will align to the top of its row in the layout.
    +
    +
    TOP - com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment
    +
     
    +
    toString() - Method in class com.google.ar.sceneform.collision.Ray
    +
     
    +
    toString() - Method in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    toString() - Method in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    toString() - Method in class com.google.ar.sceneform.Node
    +
     
    +
    TouchEventSystem - Class in com.google.ar.sceneform
    +
    +
    Manages propagation of touch events to node's within a scene.
    +
    +
    TouchEventSystem() - Constructor for class com.google.ar.sceneform.TouchEventSystem
    +
     
    +
    transformDirection(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
    +
    Transforms a direction by ignoring any translation.
    +
    +
    transformPoint(Vector3) - Method in class com.google.ar.sceneform.math.Matrix
    +
     
    +
    TransformProvider - Interface in com.google.ar.sceneform.common
    +
    +
    Interface for providing information about a 3D transformation.
    +
    +
    True - Static variable in class com.google.ar.sceneform.lullmodel.OptionalBool
    +
    +
    Force the value to true when created.
    +
    +
    tryLoadSceneformBundle(ByteBuffer) - Static method in class com.google.ar.sceneform.rendering.SceneformBundle
    +
     
    +
    type() - Method in class com.google.ar.sceneform.lullmodel.VertexAttribute
    +
     
    +
    + + + +

    U

    +
    +
    Unset - Static variable in class com.google.ar.sceneform.lullmodel.OptionalBool
    +
    +
    Don't force the value on entity create.
    +
    +
    Unspecified - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    Unused - Static variable in class com.google.ar.sceneform.lullmodel.MaterialTextureUsage
    +
     
    +
    up() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 set to (0, 1, 0)
    +
    +
    update() - Method in class com.google.ar.sceneform.utilities.ChangeId
    +
     
    +
    update(Frame, int, int) - Method in class com.google.ar.sceneform.rendering.PlaneRenderer
    +
     
    +
    updateAnimations(boolean) - Method in class com.google.ar.sceneform.rendering.RenderableInstance
    +
    +
    Apply animations changes if fore==true or the animation has dirty values.
    +
    +
    updateDepthTexture(Image) - Method in class com.google.ar.sceneform.rendering.DepthTexture
    +
    +
    + This is the most important function of this class.
    +
    +
    updateFromDefinition(RenderableDefinition) - Method in class com.google.ar.sceneform.rendering.Renderable
    +
     
    +
    updateTrackedPose(Camera) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Updates the pose and projection of the camera to match the tracked pose from ARCore.
    +
    +
    updateTrackedPose(Camera) - Method in interface com.google.ar.sceneform.rendering.CameraProvider
    +
     
    +
    updateTransform() - Method in class com.google.ar.sceneform.rendering.LightInstance
    +
     
    +
    UpLeft - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added rightmost, and subsequent entities go up + (and then left if wrapping is enabled).
    +
    +
    UpRight - Static variable in class com.google.ar.sceneform.lullmodel.LayoutFillOrder
    +
    +
    The first entity is added leftmost, and subsequent entities go up + (and then right if wrapping is enabled).
    +
    +
    usage() - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    usage() - Method in class com.google.ar.sceneform.lullmodel.VertexAttribute
    +
     
    +
    usagePerChannel(int) - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
    +
    For textures with multiple usages, this array describes the usage of each + channel.
    +
    +
    usagePerChannelAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    usagePerChannelInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    usagePerChannelLength() - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    useSpecularGlossinessTexturesIfPresent() - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
    +
    If a model contains both metallic-roughness textures and + specular-glossiness textures, this flag causes the import to only use the + specular-glossiness textures.
    +
    +
    Utf8 - Class in com.google.flatbuffers
    +
     
    +
    Utf8() - Constructor for class com.google.flatbuffers.Utf8
    +
     
    +
    UTF8_CHARSET - Static variable in class com.google.flatbuffers.Table
    +
     
    +
    Utf8Safe - Class in com.google.flatbuffers
    +
    +
    A set of low-level, high-performance static utility methods related + to the UTF-8 character encoding.
    +
    +
    Utf8Safe() - Constructor for class com.google.flatbuffers.Utf8Safe
    +
     
    +
    UvCoordinate(float, float) - Constructor for class com.google.ar.sceneform.rendering.Vertex.UvCoordinate
    +
     
    +
    + + + +

    V

    +
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    value() - Method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    value(int) - Method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    value(Quat) - Method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    value(Vec2) - Method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    value(Vec3) - Method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    value(Vec4) - Method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    value(Table) - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    value(Table) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    valueAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    valueAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    valueInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    valueInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    valueLength() - Method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.CameraStream.DepthMode
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.CameraStream.DepthOcclusionMode
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.Light.Type
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.PlaneRenderer.PlaneRendererMode
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.Texture.Sampler.MagFilter
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.Texture.Sampler.WrapMode
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.Texture.Usage
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.ViewRenderable.HorizontalAlignment
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    valueOf(String) - Static method in enum com.google.ar.sceneform.SceneView.FrameRate
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.CameraStream.DepthMode
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.CameraStream.DepthOcclusionMode
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.Light.Type
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.LoadGltfListener.GltfLoadStage
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.PlaneRenderer.PlaneRendererMode
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.Texture.Sampler.MagFilter
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.Texture.Sampler.MinFilter
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.Texture.Sampler.WrapMode
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.Texture.Usage
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.ViewRenderable.HorizontalAlignment
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values() - Static method in enum com.google.ar.sceneform.SceneView.FrameRate
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    values(int) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    values(int) - Method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    values(KeyVariantPairDef, int) - Method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    values(VariantArrayDefImpl, int) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    valuesLength() - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    valuesLength() - Method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    valueType() - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    valueType() - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    VariantArrayDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    VariantArrayDef - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    VariantArrayDef() - Constructor for class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    VariantArrayDefImpl - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    VariantArrayDefImpl() - Constructor for class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    VariantDef - Class in com.google.ar.sceneform.lullmodel
    +
    +
    A variant type that can be converted into a lull::Variant.
    +
    +
    VariantMapDef - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    VariantMapDef - Static variable in class com.google.ar.sceneform.lullmodel.VariantDef
    +
     
    +
    VariantMapDef() - Constructor for class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    Vec2 - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Vec2() - Constructor for class com.google.ar.sceneform.lullmodel.Vec2
    +
     
    +
    Vec2f - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    Vec2i - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Vec2i() - Constructor for class com.google.ar.sceneform.lullmodel.Vec2i
    +
     
    +
    Vec2us - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    Vec3 - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    Vec3() - Constructor for class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    Vec3f - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    Vec4 - Class in com.google.ar.sceneform.lullmodel
     
    -
    updateGesture(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.PinchGesture
    +
    Vec4() - Constructor for class com.google.ar.sceneform.lullmodel.Vec4
     
    -
    updateGesture(HitTestResult, MotionEvent) - Method in class com.google.ar.sceneform.ux.TwistGesture
    +
    Vec4f - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
     
    +
    Vec4ub - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    Vec4us - Static variable in class com.google.ar.sceneform.lullmodel.VertexAttributeType
    +
     
    +
    Vector3 - Class in com.google.ar.sceneform.math
    +
    +
    A Vector with 3 floats.
    +
    +
    Vector3() - Constructor for class com.google.ar.sceneform.math.Vector3
    +
    +
    Construct a Vector3 and assign zero to all values
    +
    +
    Vector3(float, float, float) - Constructor for class com.google.ar.sceneform.math.Vector3
    +
    +
    Construct a Vector3 and assign each value
    +
    +
    Vector3(Vector3) - Constructor for class com.google.ar.sceneform.math.Vector3
    +
    +
    Construct a Vector3 and copy the values
    +
    +
    Vector3Evaluator - Class in com.google.ar.sceneform.math
    +
    +
    TypeEvaluator for Vector3.
    +
    +
    Vector3Evaluator() - Constructor for class com.google.ar.sceneform.math.Vector3Evaluator
    +
     
    +
    version() - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
    +
    Version number to help decide how to interpret the flatbuffer data.
    +
    +
    VERSION_CODE_1_3 - Static variable in class com.google.ar.sceneform.utilities.ArCoreVersion
    +
     
    +
    Vertex - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents a Vertex for a RenderableDefinition.
    +
    +
    Vertex.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for Vertex.
    +
    +
    Vertex.UvCoordinate - Class in com.google.ar.sceneform.rendering
    +
    +
    Represents a texture Coordinate for a Vertex.
    +
    +
    VertexAttribute - Class in com.google.ar.sceneform.lullmodel
    +
     
    +
    VertexAttribute() - Constructor for class com.google.ar.sceneform.lullmodel.VertexAttribute
    +
     
    +
    vertexAttributes(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    Describes the structure of the vertex data, effectively the VertexFormat.
    +
    +
    vertexAttributes(VertexAttribute, int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    vertexAttributesLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    VertexAttributeType - Class in com.google.ar.sceneform.lullmodel
    +
    +
    Defines the data structure of a single attribute in a vertex.
    +
    +
    VertexAttributeUsage - Class in com.google.ar.sceneform.lullmodel
    +
    +
    Defines how data in a vertex is interpreted by the shader.
    +
    +
    vertexData(int) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
    +
    Contents vertex data of mesh vertices but with positions and normals + adjusted to match this blend shape.
    +
    +
    vertexData(int) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
    +
    The "raw" vertex data stored as a byte array.
    +
    +
    vertexDataAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexDataAsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    vertexDataInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexDataInByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    vertexDataLength() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexDataLength() - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    vertexIndices16(int) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexIndices16AsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexIndices16InByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexIndices16Length() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexIndices32(int) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
    +
    Indices of fully stored vertices.
    +
    +
    vertexIndices32AsByteBuffer() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexIndices32InByteBuffer(ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    vertexIndices32Length() - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    ViewRenderable - Class in com.google.ar.sceneform.rendering
    +
    +
    Renders a 2D Android view in 3D space by attaching it to a Node + with Node.setRenderable(Renderable).
    +
    +
    ViewRenderable.Builder - Class in com.google.ar.sceneform.rendering
    +
    +
    Factory class for ViewRenderable
    +
    +
    ViewRenderable.HorizontalAlignment - Enum in com.google.ar.sceneform.rendering
    +
    +
    Controls the horizontal alignment of the ViewRenderable relative to the Node it is attached to.
    +
    +
    ViewRenderable.VerticalAlignment - Enum in com.google.ar.sceneform.rendering
    +
    +
    Controls the vertical alignment of the ViewRenderable relative to the Node it is attached to.
    +
    +
    ViewSizer - Interface in com.google.ar.sceneform.rendering
    +
    +
    Interface for controlling the size of a ViewRenderable in the Scene.
    +
    +
    vtable_size - Variable in class com.google.flatbuffers.Table
    +
    +
    Used to hold the vtable size.
    +
    +
    vtable_start - Variable in class com.google.flatbuffers.Table
    +
    +
    Used to hold the vtable position.
    +
    - +

    W

    -
    wasCancelled() - Method in class com.google.ar.sceneform.ux.BaseGesture
    +
    w - Variable in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    w() - Method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    w() - Method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    w() - Method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    w() - Method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    worldToLocalDirection(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Converts a direction from world-space to the local-space of this node.
    +
    +
    worldToLocalPoint(Vector3) - Method in class com.google.ar.sceneform.Node
    +
    +
    Converts a point in world-space to the local-space of this node.
    +
    +
    worldToScreenPoint(Vector3) - Method in class com.google.ar.sceneform.Camera
    +
    +
    Convert a point from world space into screen space.
    +
    +
    wrapR() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    wrapS() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    wrapT() - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    + + + +

    X

    +
    +
    x - Variable in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    x - Variable in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    x - Variable in class com.google.ar.sceneform.rendering.Vertex.UvCoordinate
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Vec2
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Vec2i
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    x() - Method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    XUp_YBack_ZLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_YBack_ZRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_YFront_ZLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_YFront_ZRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_ZBack_YLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_ZBack_YRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_ZFront_YLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    XUp_ZFront_YRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    + + + +

    Y

    +
    +
    y - Variable in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    y - Variable in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    y - Variable in class com.google.ar.sceneform.rendering.Vertex.UvCoordinate
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Vec2
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Vec2i
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    y() - Method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    YUp_XBack_ZLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_XBack_ZRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_XFront_ZLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_XFront_ZRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_ZBack_XLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_ZBack_XRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_ZFront_XLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    YUp_ZFront_XRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    + + + +

    Z

    +
    +
    z - Variable in class com.google.ar.sceneform.math.Quaternion
    +
     
    +
    z - Variable in class com.google.ar.sceneform.math.Vector3
    +
     
    +
    z() - Method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    z() - Method in class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    z() - Method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    zero() - Static method in class com.google.ar.sceneform.math.Vector3
    +
    +
    Gets a Vector3 with all values set to zero
    +
    +
    ZUp_XBack_YLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_XBack_YRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_XFront_YLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_XFront_YRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_YBack_XLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_YBack_XRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_YFront_XLeft - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    ZUp_YFront_XRight - Static variable in class com.google.ar.sceneform.lullmodel.AxisSystem
    +
     
    +
    + + + +

    _

    +
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.AabbDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelIndexRange
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec2
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec2i
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    __assign(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VertexAttribute
    +
     
    +
    __has_identifier(ByteBuffer, String) - Static method in class com.google.flatbuffers.Table
    +
    +
    Check if a ByteBuffer contains a file identifier.
    +
    +
    __indirect(int) - Method in class com.google.flatbuffers.Table
    +
    +
    Retrieve a relative offset.
    +
    +
    __indirect(int, ByteBuffer) - Static method in class com.google.flatbuffers.Table
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.AabbDef
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ArcDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.BlendShape
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Color
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataBool
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataBytes
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataFloat
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataHashValue
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataInt
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataQuat
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataString
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataVec2
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataVec3
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.DataVec4
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.KeyVariantPairDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Mat4x3
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.MaterialTextureDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelIndexRange
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelInstanceDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Quat
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Rect
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Recti
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.SkeletonDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.SubmeshAabb
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.TextureDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VariantMapDef
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec2
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec2i
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec3
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.Vec4
    +
     
    +
    __init(int, ByteBuffer) - Method in class com.google.ar.sceneform.lullmodel.VertexAttribute
    +
     
    +
    __offset(int) - Method in class com.google.flatbuffers.Table
    +
    +
    Look up a field in the vtable.
    +
    +
    __offset(int, int, ByteBuffer) - Static method in class com.google.flatbuffers.Table
    +
     
    +
    __reset() - Method in class com.google.flatbuffers.Struct
    +
    +
    Resets internal state with a null ByteBuffer and a zero position.
    +
    +
    __reset() - Method in class com.google.flatbuffers.Table
    +
    +
    Resets the internal state with a null ByteBuffer and a zero position.
    +
    +
    __string(int) - Method in class com.google.flatbuffers.Table
    +
    +
    Create a Java `String` from UTF-8 data stored inside the FlatBuffer.
    +
    +
    __union(Table, int) - Method in class com.google.flatbuffers.Table
    +
    +
    Initialize any Table-derived type to point to the union at the given `offset`.
    +
    +
    __vector(int) - Method in class com.google.flatbuffers.Table
    +
    +
    Get the start data of a vector.
    +
    +
    __vector_as_bytebuffer(int, int) - Method in class com.google.flatbuffers.Table
    +
    +
    Get a whole vector as a ByteBuffer.
    +
    +
    __vector_in_bytebuffer(ByteBuffer, int, int) - Method in class com.google.flatbuffers.Table
    +
    +
    Initialize vector as a ByteBuffer.
    +
    +
    __vector_len(int) - Method in class com.google.flatbuffers.Table
    +
    +
    Get the length of a vector.
    +
    -A B C D F G H I J M O P R S T U W 
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes All Packages +
    + diff --git a/docs/javadoc/index.html b/docs/javadoc/index.html index 54d56f92..656d0c2c 100644 --- a/docs/javadoc/index.html +++ b/docs/javadoc/index.html @@ -1,72 +1,196 @@ - + -ux API - + + + + + + + + + + +
    + +
    +
    +

    core 1.19.4 API

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Packages 
    PackageDescription
    com.google.ar.sceneform 
    com.google.ar.sceneform.animation 
    com.google.ar.sceneform.collision 
    com.google.ar.sceneform.common 
    com.google.ar.sceneform.lullmodel 
    com.google.ar.sceneform.math 
    com.google.ar.sceneform.rendering 
    com.google.ar.sceneform.resources 
    com.google.ar.sceneform.utilities 
    com.google.flatbuffers 
    +
    +
    + + diff --git a/docs/javadoc/jquery/external/jquery/jquery.js b/docs/javadoc/jquery/external/jquery/jquery.js new file mode 100644 index 00000000..9b5206bc --- /dev/null +++ b/docs/javadoc/jquery/external/jquery/jquery.js @@ -0,0 +1,10364 @@ +/*! + * jQuery JavaScript Library v3.3.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2018-01-20T17:24Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + noModule: true + }; + + function DOMEval( code, doc, node ) { + doc = doc || document; + + var i, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + if ( node[ i ] ) { + script[ i ] = node[ i ]; + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.3.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + div.style.position = "absolute"; + scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + ) ); + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + val = curCSS( elem, dimension, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox; + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = valueIsBorderBox && + ( support.boxSizingReliable() || val === elem.style[ dimension ] ); + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + if ( val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { + + val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; + + // offsetWidth/offsetHeight provide border-box values + valueIsBorderBox = true; + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra && boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ); + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && support.scrollboxSize() === styles.position ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "\r\n"; + +// inject VBScript +document.write(IEBinaryToArray_ByteStr_Script); + +global.JSZipUtils._getBinaryFromXHR = function (xhr) { + var binary = xhr.responseBody; + var byteMapping = {}; + for ( var i = 0; i < 256; i++ ) { + for ( var j = 0; j < 256; j++ ) { + byteMapping[ String.fromCharCode( i + (j << 8) ) ] = + String.fromCharCode(i) + String.fromCharCode(j); + } + } + var rawBytes = IEBinaryToArray_ByteStr(binary); + var lastChr = IEBinaryToArray_ByteStr_Last(binary); + return rawBytes.replace(/[\s\S]/g, function( match ) { + return byteMapping[match]; + }) + lastChr; +}; + +// enforcing Stuk's coding style +// vim: set shiftwidth=4 softtabstop=4: + +},{}]},{},[1]) +; diff --git a/docs/javadoc/jquery/jszip-utils/dist/jszip-utils-ie.min.js b/docs/javadoc/jquery/jszip-utils/dist/jszip-utils-ie.min.js new file mode 100644 index 00000000..93d8bc8e --- /dev/null +++ b/docs/javadoc/jquery/jszip-utils/dist/jszip-utils-ie.min.js @@ -0,0 +1,10 @@ +/*! + +JSZipUtils - A collection of cross-browser utilities to go along with JSZip. + + +(c) 2014 Stuart Knightley, David Duponchel +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. + +*/ +!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g\r\n";document.write(b),a.JSZipUtils._getBinaryFromXHR=function(a){for(var b=a.responseBody,c={},d=0;256>d;d++)for(var e=0;256>e;e++)c[String.fromCharCode(d+(e<<8))]=String.fromCharCode(d)+String.fromCharCode(e);var f=IEBinaryToArray_ByteStr(b),g=IEBinaryToArray_ByteStr_Last(b);return f.replace(/[\s\S]/g,function(a){return c[a]})+g}},{}]},{},[1]); diff --git a/docs/javadoc/jquery/jszip-utils/dist/jszip-utils.js b/docs/javadoc/jquery/jszip-utils/dist/jszip-utils.js new file mode 100644 index 00000000..775895ec --- /dev/null +++ b/docs/javadoc/jquery/jszip-utils/dist/jszip-utils.js @@ -0,0 +1,118 @@ +/*! + +JSZipUtils - A collection of cross-browser utilities to go along with JSZip. + + +(c) 2014 Stuart Knightley, David Duponchel +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. + +*/ +!function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.JSZipUtils=e():"undefined"!=typeof global?global.JSZipUtils=e():"undefined"!=typeof self&&(self.JSZipUtils=e())}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o + +(c) 2014 Stuart Knightley, David Duponchel +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. + +*/ +!function(a){"object"==typeof exports?module.exports=a():"function"==typeof define&&define.amd?define(a):"undefined"!=typeof window?window.JSZipUtils=a():"undefined"!=typeof global?global.JSZipUtils=a():"undefined"!=typeof self&&(self.JSZipUtils=a())}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g + +(c) 2009-2016 Stuart Knightley +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown. + +JSZip uses the library pako released under the MIT license : +https://github.com/nodeca/pako/blob/master/LICENSE +*/ + +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSZip = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = remainingBytes > 1 ? (((chr2 & 15) << 2) | (chr3 >> 6)) : 64; + enc4 = remainingBytes > 2 ? (chr3 & 63) : 64; + + output.push(_keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4)); + + } + + return output.join(""); +}; + +// public method for decoding +exports.decode = function(input) { + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0, resultIndex = 0; + + var dataUrlPrefix = "data:"; + + if (input.substr(0, dataUrlPrefix.length) === dataUrlPrefix) { + // This is a common error: people give a data url + // (data:image/png;base64,iVBOR...) with a {base64: true} and + // wonders why things don't work. + // We can detect that the string input looks like a data url but we + // *can't* be sure it is one: removing everything up to the comma would + // be too dangerous. + throw new Error("Invalid base64 input, it looks like a data url."); + } + + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + var totalLength = input.length * 3 / 4; + if(input.charAt(input.length - 1) === _keyStr.charAt(64)) { + totalLength--; + } + if(input.charAt(input.length - 2) === _keyStr.charAt(64)) { + totalLength--; + } + if (totalLength % 1 !== 0) { + // totalLength is not an integer, the length does not match a valid + // base64 content. That can happen if: + // - the input is not a base64 content + // - the input is *almost* a base64 content, with a extra chars at the + // beginning or at the end + // - the input uses a base64 variant (base64url for example) + throw new Error("Invalid base64 input, bad content length."); + } + var output; + if (support.uint8array) { + output = new Uint8Array(totalLength|0); + } else { + output = new Array(totalLength|0); + } + + while (i < input.length) { + + enc1 = _keyStr.indexOf(input.charAt(i++)); + enc2 = _keyStr.indexOf(input.charAt(i++)); + enc3 = _keyStr.indexOf(input.charAt(i++)); + enc4 = _keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output[resultIndex++] = chr1; + + if (enc3 !== 64) { + output[resultIndex++] = chr2; + } + if (enc4 !== 64) { + output[resultIndex++] = chr3; + } + + } + + return output; +}; + +},{"./support":30,"./utils":32}],2:[function(require,module,exports){ +'use strict'; + +var external = require("./external"); +var DataWorker = require('./stream/DataWorker'); +var DataLengthProbe = require('./stream/DataLengthProbe'); +var Crc32Probe = require('./stream/Crc32Probe'); +var DataLengthProbe = require('./stream/DataLengthProbe'); + +/** + * Represent a compressed object, with everything needed to decompress it. + * @constructor + * @param {number} compressedSize the size of the data compressed. + * @param {number} uncompressedSize the size of the data after decompression. + * @param {number} crc32 the crc32 of the decompressed file. + * @param {object} compression the type of compression, see lib/compressions.js. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the compressed data. + */ +function CompressedObject(compressedSize, uncompressedSize, crc32, compression, data) { + this.compressedSize = compressedSize; + this.uncompressedSize = uncompressedSize; + this.crc32 = crc32; + this.compression = compression; + this.compressedContent = data; +} + +CompressedObject.prototype = { + /** + * Create a worker to get the uncompressed content. + * @return {GenericWorker} the worker. + */ + getContentWorker : function () { + var worker = new DataWorker(external.Promise.resolve(this.compressedContent)) + .pipe(this.compression.uncompressWorker()) + .pipe(new DataLengthProbe("data_length")); + + var that = this; + worker.on("end", function () { + if(this.streamInfo['data_length'] !== that.uncompressedSize) { + throw new Error("Bug : uncompressed data size mismatch"); + } + }); + return worker; + }, + /** + * Create a worker to get the compressed content. + * @return {GenericWorker} the worker. + */ + getCompressedWorker : function () { + return new DataWorker(external.Promise.resolve(this.compressedContent)) + .withStreamInfo("compressedSize", this.compressedSize) + .withStreamInfo("uncompressedSize", this.uncompressedSize) + .withStreamInfo("crc32", this.crc32) + .withStreamInfo("compression", this.compression) + ; + } +}; + +/** + * Chain the given worker with other workers to compress the content with the + * given compresion. + * @param {GenericWorker} uncompressedWorker the worker to pipe. + * @param {Object} compression the compression object. + * @param {Object} compressionOptions the options to use when compressing. + * @return {GenericWorker} the new worker compressing the content. + */ +CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) { + return uncompressedWorker + .pipe(new Crc32Probe()) + .pipe(new DataLengthProbe("uncompressedSize")) + .pipe(compression.compressWorker(compressionOptions)) + .pipe(new DataLengthProbe("compressedSize")) + .withStreamInfo("compression", compression); +}; + +module.exports = CompressedObject; + +},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(require,module,exports){ +'use strict'; + +var GenericWorker = require("./stream/GenericWorker"); + +exports.STORE = { + magic: "\x00\x00", + compressWorker : function (compressionOptions) { + return new GenericWorker("STORE compression"); + }, + uncompressWorker : function () { + return new GenericWorker("STORE decompression"); + } +}; +exports.DEFLATE = require('./flate'); + +},{"./flate":7,"./stream/GenericWorker":28}],4:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); + +/** + * The following functions come from pako, from pako/lib/zlib/crc32.js + * released under the MIT license, see pako https://github.com/nodeca/pako/ + */ + +// Use ordinary array, since untyped makes no boost here +function makeTable() { + var c, table = []; + + for(var n =0; n < 256; n++){ + c = n; + for(var k =0; k < 8; k++){ + c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); + } + table[n] = c; + } + + return table; +} + +// Create table on load. Just 255 signed longs. Not a problem. +var crcTable = makeTable(); + + +function crc32(crc, buf, len, pos) { + var t = crcTable, end = pos + len; + + crc = crc ^ (-1); + + for (var i = pos; i < end; i++ ) { + crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + +// That's all for the pako functions. + +/** + * Compute the crc32 of a string. + * This is almost the same as the function crc32, but for strings. Using the + * same function for the two use cases leads to horrible performances. + * @param {Number} crc the starting value of the crc. + * @param {String} str the string to use. + * @param {Number} len the length of the string. + * @param {Number} pos the starting position for the crc32 computation. + * @return {Number} the computed crc32. + */ +function crc32str(crc, str, len, pos) { + var t = crcTable, end = pos + len; + + crc = crc ^ (-1); + + for (var i = pos; i < end; i++ ) { + crc = (crc >>> 8) ^ t[(crc ^ str.charCodeAt(i)) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + +module.exports = function crc32wrapper(input, crc) { + if (typeof input === "undefined" || !input.length) { + return 0; + } + + var isArray = utils.getTypeOf(input) !== "string"; + + if(isArray) { + return crc32(crc|0, input, input.length, 0); + } else { + return crc32str(crc|0, input, input.length, 0); + } +}; + +},{"./utils":32}],5:[function(require,module,exports){ +'use strict'; +exports.base64 = false; +exports.binary = false; +exports.dir = false; +exports.createFolders = true; +exports.date = null; +exports.compression = null; +exports.compressionOptions = null; +exports.comment = null; +exports.unixPermissions = null; +exports.dosPermissions = null; + +},{}],6:[function(require,module,exports){ +/* global Promise */ +'use strict'; + +// load the global object first: +// - it should be better integrated in the system (unhandledRejection in node) +// - the environment may have a custom Promise implementation (see zone.js) +var ES6Promise = null; +if (typeof Promise !== "undefined") { + ES6Promise = Promise; +} else { + ES6Promise = require("lie"); +} + +/** + * Let the user use/change some implementations. + */ +module.exports = { + Promise: ES6Promise +}; + +},{"lie":37}],7:[function(require,module,exports){ +'use strict'; +var USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined'); + +var pako = require("pako"); +var utils = require("./utils"); +var GenericWorker = require("./stream/GenericWorker"); + +var ARRAY_TYPE = USE_TYPEDARRAY ? "uint8array" : "array"; + +exports.magic = "\x08\x00"; + +/** + * Create a worker that uses pako to inflate/deflate. + * @constructor + * @param {String} action the name of the pako function to call : either "Deflate" or "Inflate". + * @param {Object} options the options to use when (de)compressing. + */ +function FlateWorker(action, options) { + GenericWorker.call(this, "FlateWorker/" + action); + + this._pako = null; + this._pakoAction = action; + this._pakoOptions = options; + // the `meta` object from the last chunk received + // this allow this worker to pass around metadata + this.meta = {}; +} + +utils.inherits(FlateWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +FlateWorker.prototype.processChunk = function (chunk) { + this.meta = chunk.meta; + if (this._pako === null) { + this._createPako(); + } + this._pako.push(utils.transformTo(ARRAY_TYPE, chunk.data), false); +}; + +/** + * @see GenericWorker.flush + */ +FlateWorker.prototype.flush = function () { + GenericWorker.prototype.flush.call(this); + if (this._pako === null) { + this._createPako(); + } + this._pako.push([], true); +}; +/** + * @see GenericWorker.cleanUp + */ +FlateWorker.prototype.cleanUp = function () { + GenericWorker.prototype.cleanUp.call(this); + this._pako = null; +}; + +/** + * Create the _pako object. + * TODO: lazy-loading this object isn't the best solution but it's the + * quickest. The best solution is to lazy-load the worker list. See also the + * issue #446. + */ +FlateWorker.prototype._createPako = function () { + this._pako = new pako[this._pakoAction]({ + raw: true, + level: this._pakoOptions.level || -1 // default compression + }); + var self = this; + this._pako.onData = function(data) { + self.push({ + data : data, + meta : self.meta + }); + }; +}; + +exports.compressWorker = function (compressionOptions) { + return new FlateWorker("Deflate", compressionOptions); +}; +exports.uncompressWorker = function () { + return new FlateWorker("Inflate", {}); +}; + +},{"./stream/GenericWorker":28,"./utils":32,"pako":38}],8:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var GenericWorker = require('../stream/GenericWorker'); +var utf8 = require('../utf8'); +var crc32 = require('../crc32'); +var signature = require('../signature'); + +/** + * Transform an integer into a string in hexadecimal. + * @private + * @param {number} dec the number to convert. + * @param {number} bytes the number of bytes to generate. + * @returns {string} the result. + */ +var decToHex = function(dec, bytes) { + var hex = "", i; + for (i = 0; i < bytes; i++) { + hex += String.fromCharCode(dec & 0xff); + dec = dec >>> 8; + } + return hex; +}; + +/** + * Generate the UNIX part of the external file attributes. + * @param {Object} unixPermissions the unix permissions or null. + * @param {Boolean} isDir true if the entry is a directory, false otherwise. + * @return {Number} a 32 bit integer. + * + * adapted from http://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute : + * + * TTTTsstrwxrwxrwx0000000000ADVSHR + * ^^^^____________________________ file type, see zipinfo.c (UNX_*) + * ^^^_________________________ setuid, setgid, sticky + * ^^^^^^^^^________________ permissions + * ^^^^^^^^^^______ not used ? + * ^^^^^^ DOS attribute bits : Archive, Directory, Volume label, System file, Hidden, Read only + */ +var generateUnixExternalFileAttr = function (unixPermissions, isDir) { + + var result = unixPermissions; + if (!unixPermissions) { + // I can't use octal values in strict mode, hence the hexa. + // 040775 => 0x41fd + // 0100664 => 0x81b4 + result = isDir ? 0x41fd : 0x81b4; + } + return (result & 0xFFFF) << 16; +}; + +/** + * Generate the DOS part of the external file attributes. + * @param {Object} dosPermissions the dos permissions or null. + * @param {Boolean} isDir true if the entry is a directory, false otherwise. + * @return {Number} a 32 bit integer. + * + * Bit 0 Read-Only + * Bit 1 Hidden + * Bit 2 System + * Bit 3 Volume Label + * Bit 4 Directory + * Bit 5 Archive + */ +var generateDosExternalFileAttr = function (dosPermissions, isDir) { + + // the dir flag is already set for compatibility + return (dosPermissions || 0) & 0x3F; +}; + +/** + * Generate the various parts used in the construction of the final zip file. + * @param {Object} streamInfo the hash with informations about the compressed file. + * @param {Boolean} streamedContent is the content streamed ? + * @param {Boolean} streamingEnded is the stream finished ? + * @param {number} offset the current offset from the start of the zip file. + * @param {String} platform let's pretend we are this platform (change platform dependents fields) + * @param {Function} encodeFileName the function to encode the file name / comment. + * @return {Object} the zip parts. + */ +var generateZipParts = function(streamInfo, streamedContent, streamingEnded, offset, platform, encodeFileName) { + var file = streamInfo['file'], + compression = streamInfo['compression'], + useCustomEncoding = encodeFileName !== utf8.utf8encode, + encodedFileName = utils.transformTo("string", encodeFileName(file.name)), + utfEncodedFileName = utils.transformTo("string", utf8.utf8encode(file.name)), + comment = file.comment, + encodedComment = utils.transformTo("string", encodeFileName(comment)), + utfEncodedComment = utils.transformTo("string", utf8.utf8encode(comment)), + useUTF8ForFileName = utfEncodedFileName.length !== file.name.length, + useUTF8ForComment = utfEncodedComment.length !== comment.length, + dosTime, + dosDate, + extraFields = "", + unicodePathExtraField = "", + unicodeCommentExtraField = "", + dir = file.dir, + date = file.date; + + + var dataInfo = { + crc32 : 0, + compressedSize : 0, + uncompressedSize : 0 + }; + + // if the content is streamed, the sizes/crc32 are only available AFTER + // the end of the stream. + if (!streamedContent || streamingEnded) { + dataInfo.crc32 = streamInfo['crc32']; + dataInfo.compressedSize = streamInfo['compressedSize']; + dataInfo.uncompressedSize = streamInfo['uncompressedSize']; + } + + var bitflag = 0; + if (streamedContent) { + // Bit 3: the sizes/crc32 are set to zero in the local header. + // The correct values are put in the data descriptor immediately + // following the compressed data. + bitflag |= 0x0008; + } + if (!useCustomEncoding && (useUTF8ForFileName || useUTF8ForComment)) { + // Bit 11: Language encoding flag (EFS). + bitflag |= 0x0800; + } + + + var extFileAttr = 0; + var versionMadeBy = 0; + if (dir) { + // dos or unix, we set the dos dir flag + extFileAttr |= 0x00010; + } + if(platform === "UNIX") { + versionMadeBy = 0x031E; // UNIX, version 3.0 + extFileAttr |= generateUnixExternalFileAttr(file.unixPermissions, dir); + } else { // DOS or other, fallback to DOS + versionMadeBy = 0x0014; // DOS, version 2.0 + extFileAttr |= generateDosExternalFileAttr(file.dosPermissions, dir); + } + + // date + // @see http://www.delorie.com/djgpp/doc/rbinter/it/52/13.html + // @see http://www.delorie.com/djgpp/doc/rbinter/it/65/16.html + // @see http://www.delorie.com/djgpp/doc/rbinter/it/66/16.html + + dosTime = date.getUTCHours(); + dosTime = dosTime << 6; + dosTime = dosTime | date.getUTCMinutes(); + dosTime = dosTime << 5; + dosTime = dosTime | date.getUTCSeconds() / 2; + + dosDate = date.getUTCFullYear() - 1980; + dosDate = dosDate << 4; + dosDate = dosDate | (date.getUTCMonth() + 1); + dosDate = dosDate << 5; + dosDate = dosDate | date.getUTCDate(); + + if (useUTF8ForFileName) { + // set the unicode path extra field. unzip needs at least one extra + // field to correctly handle unicode path, so using the path is as good + // as any other information. This could improve the situation with + // other archive managers too. + // This field is usually used without the utf8 flag, with a non + // unicode path in the header (winrar, winzip). This helps (a bit) + // with the messy Windows' default compressed folders feature but + // breaks on p7zip which doesn't seek the unicode path extra field. + // So for now, UTF-8 everywhere ! + unicodePathExtraField = + // Version + decToHex(1, 1) + + // NameCRC32 + decToHex(crc32(encodedFileName), 4) + + // UnicodeName + utfEncodedFileName; + + extraFields += + // Info-ZIP Unicode Path Extra Field + "\x75\x70" + + // size + decToHex(unicodePathExtraField.length, 2) + + // content + unicodePathExtraField; + } + + if(useUTF8ForComment) { + + unicodeCommentExtraField = + // Version + decToHex(1, 1) + + // CommentCRC32 + decToHex(crc32(encodedComment), 4) + + // UnicodeName + utfEncodedComment; + + extraFields += + // Info-ZIP Unicode Path Extra Field + "\x75\x63" + + // size + decToHex(unicodeCommentExtraField.length, 2) + + // content + unicodeCommentExtraField; + } + + var header = ""; + + // version needed to extract + header += "\x0A\x00"; + // general purpose bit flag + header += decToHex(bitflag, 2); + // compression method + header += compression.magic; + // last mod file time + header += decToHex(dosTime, 2); + // last mod file date + header += decToHex(dosDate, 2); + // crc-32 + header += decToHex(dataInfo.crc32, 4); + // compressed size + header += decToHex(dataInfo.compressedSize, 4); + // uncompressed size + header += decToHex(dataInfo.uncompressedSize, 4); + // file name length + header += decToHex(encodedFileName.length, 2); + // extra field length + header += decToHex(extraFields.length, 2); + + + var fileRecord = signature.LOCAL_FILE_HEADER + header + encodedFileName + extraFields; + + var dirRecord = signature.CENTRAL_FILE_HEADER + + // version made by (00: DOS) + decToHex(versionMadeBy, 2) + + // file header (common to file and central directory) + header + + // file comment length + decToHex(encodedComment.length, 2) + + // disk number start + "\x00\x00" + + // internal file attributes TODO + "\x00\x00" + + // external file attributes + decToHex(extFileAttr, 4) + + // relative offset of local header + decToHex(offset, 4) + + // file name + encodedFileName + + // extra field + extraFields + + // file comment + encodedComment; + + return { + fileRecord: fileRecord, + dirRecord: dirRecord + }; +}; + +/** + * Generate the EOCD record. + * @param {Number} entriesCount the number of entries in the zip file. + * @param {Number} centralDirLength the length (in bytes) of the central dir. + * @param {Number} localDirLength the length (in bytes) of the local dir. + * @param {String} comment the zip file comment as a binary string. + * @param {Function} encodeFileName the function to encode the comment. + * @return {String} the EOCD record. + */ +var generateCentralDirectoryEnd = function (entriesCount, centralDirLength, localDirLength, comment, encodeFileName) { + var dirEnd = ""; + var encodedComment = utils.transformTo("string", encodeFileName(comment)); + + // end of central dir signature + dirEnd = signature.CENTRAL_DIRECTORY_END + + // number of this disk + "\x00\x00" + + // number of the disk with the start of the central directory + "\x00\x00" + + // total number of entries in the central directory on this disk + decToHex(entriesCount, 2) + + // total number of entries in the central directory + decToHex(entriesCount, 2) + + // size of the central directory 4 bytes + decToHex(centralDirLength, 4) + + // offset of start of central directory with respect to the starting disk number + decToHex(localDirLength, 4) + + // .ZIP file comment length + decToHex(encodedComment.length, 2) + + // .ZIP file comment + encodedComment; + + return dirEnd; +}; + +/** + * Generate data descriptors for a file entry. + * @param {Object} streamInfo the hash generated by a worker, containing informations + * on the file entry. + * @return {String} the data descriptors. + */ +var generateDataDescriptors = function (streamInfo) { + var descriptor = ""; + descriptor = signature.DATA_DESCRIPTOR + + // crc-32 4 bytes + decToHex(streamInfo['crc32'], 4) + + // compressed size 4 bytes + decToHex(streamInfo['compressedSize'], 4) + + // uncompressed size 4 bytes + decToHex(streamInfo['uncompressedSize'], 4); + + return descriptor; +}; + + +/** + * A worker to concatenate other workers to create a zip file. + * @param {Boolean} streamFiles `true` to stream the content of the files, + * `false` to accumulate it. + * @param {String} comment the comment to use. + * @param {String} platform the platform to use, "UNIX" or "DOS". + * @param {Function} encodeFileName the function to encode file names and comments. + */ +function ZipFileWorker(streamFiles, comment, platform, encodeFileName) { + GenericWorker.call(this, "ZipFileWorker"); + // The number of bytes written so far. This doesn't count accumulated chunks. + this.bytesWritten = 0; + // The comment of the zip file + this.zipComment = comment; + // The platform "generating" the zip file. + this.zipPlatform = platform; + // the function to encode file names and comments. + this.encodeFileName = encodeFileName; + // Should we stream the content of the files ? + this.streamFiles = streamFiles; + // If `streamFiles` is false, we will need to accumulate the content of the + // files to calculate sizes / crc32 (and write them *before* the content). + // This boolean indicates if we are accumulating chunks (it will change a lot + // during the lifetime of this worker). + this.accumulate = false; + // The buffer receiving chunks when accumulating content. + this.contentBuffer = []; + // The list of generated directory records. + this.dirRecords = []; + // The offset (in bytes) from the beginning of the zip file for the current source. + this.currentSourceOffset = 0; + // The total number of entries in this zip file. + this.entriesCount = 0; + // the name of the file currently being added, null when handling the end of the zip file. + // Used for the emited metadata. + this.currentFile = null; + + + + this._sources = []; +} +utils.inherits(ZipFileWorker, GenericWorker); + +/** + * @see GenericWorker.push + */ +ZipFileWorker.prototype.push = function (chunk) { + + var currentFilePercent = chunk.meta.percent || 0; + var entriesCount = this.entriesCount; + var remainingFiles = this._sources.length; + + if(this.accumulate) { + this.contentBuffer.push(chunk); + } else { + this.bytesWritten += chunk.data.length; + + GenericWorker.prototype.push.call(this, { + data : chunk.data, + meta : { + currentFile : this.currentFile, + percent : entriesCount ? (currentFilePercent + 100 * (entriesCount - remainingFiles - 1)) / entriesCount : 100 + } + }); + } +}; + +/** + * The worker started a new source (an other worker). + * @param {Object} streamInfo the streamInfo object from the new source. + */ +ZipFileWorker.prototype.openedSource = function (streamInfo) { + this.currentSourceOffset = this.bytesWritten; + this.currentFile = streamInfo['file'].name; + + var streamedContent = this.streamFiles && !streamInfo['file'].dir; + + // don't stream folders (because they don't have any content) + if(streamedContent) { + var record = generateZipParts(streamInfo, streamedContent, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + this.push({ + data : record.fileRecord, + meta : {percent:0} + }); + } else { + // we need to wait for the whole file before pushing anything + this.accumulate = true; + } +}; + +/** + * The worker finished a source (an other worker). + * @param {Object} streamInfo the streamInfo object from the finished source. + */ +ZipFileWorker.prototype.closedSource = function (streamInfo) { + this.accumulate = false; + var streamedContent = this.streamFiles && !streamInfo['file'].dir; + var record = generateZipParts(streamInfo, streamedContent, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + + this.dirRecords.push(record.dirRecord); + if(streamedContent) { + // after the streamed file, we put data descriptors + this.push({ + data : generateDataDescriptors(streamInfo), + meta : {percent:100} + }); + } else { + // the content wasn't streamed, we need to push everything now + // first the file record, then the content + this.push({ + data : record.fileRecord, + meta : {percent:0} + }); + while(this.contentBuffer.length) { + this.push(this.contentBuffer.shift()); + } + } + this.currentFile = null; +}; + +/** + * @see GenericWorker.flush + */ +ZipFileWorker.prototype.flush = function () { + + var localDirLength = this.bytesWritten; + for(var i = 0; i < this.dirRecords.length; i++) { + this.push({ + data : this.dirRecords[i], + meta : {percent:100} + }); + } + var centralDirLength = this.bytesWritten - localDirLength; + + var dirEnd = generateCentralDirectoryEnd(this.dirRecords.length, centralDirLength, localDirLength, this.zipComment, this.encodeFileName); + + this.push({ + data : dirEnd, + meta : {percent:100} + }); +}; + +/** + * Prepare the next source to be read. + */ +ZipFileWorker.prototype.prepareNextSource = function () { + this.previous = this._sources.shift(); + this.openedSource(this.previous.streamInfo); + if (this.isPaused) { + this.previous.pause(); + } else { + this.previous.resume(); + } +}; + +/** + * @see GenericWorker.registerPrevious + */ +ZipFileWorker.prototype.registerPrevious = function (previous) { + this._sources.push(previous); + var self = this; + + previous.on('data', function (chunk) { + self.processChunk(chunk); + }); + previous.on('end', function () { + self.closedSource(self.previous.streamInfo); + if(self._sources.length) { + self.prepareNextSource(); + } else { + self.end(); + } + }); + previous.on('error', function (e) { + self.error(e); + }); + return this; +}; + +/** + * @see GenericWorker.resume + */ +ZipFileWorker.prototype.resume = function () { + if(!GenericWorker.prototype.resume.call(this)) { + return false; + } + + if (!this.previous && this._sources.length) { + this.prepareNextSource(); + return true; + } + if (!this.previous && !this._sources.length && !this.generatedError) { + this.end(); + return true; + } +}; + +/** + * @see GenericWorker.error + */ +ZipFileWorker.prototype.error = function (e) { + var sources = this._sources; + if(!GenericWorker.prototype.error.call(this, e)) { + return false; + } + for(var i = 0; i < sources.length; i++) { + try { + sources[i].error(e); + } catch(e) { + // the `error` exploded, nothing to do + } + } + return true; +}; + +/** + * @see GenericWorker.lock + */ +ZipFileWorker.prototype.lock = function () { + GenericWorker.prototype.lock.call(this); + var sources = this._sources; + for(var i = 0; i < sources.length; i++) { + sources[i].lock(); + } +}; + +module.exports = ZipFileWorker; + +},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(require,module,exports){ +'use strict'; + +var compressions = require('../compressions'); +var ZipFileWorker = require('./ZipFileWorker'); + +/** + * Find the compression to use. + * @param {String} fileCompression the compression defined at the file level, if any. + * @param {String} zipCompression the compression defined at the load() level. + * @return {Object} the compression object to use. + */ +var getCompression = function (fileCompression, zipCompression) { + + var compressionName = fileCompression || zipCompression; + var compression = compressions[compressionName]; + if (!compression) { + throw new Error(compressionName + " is not a valid compression method !"); + } + return compression; +}; + +/** + * Create a worker to generate a zip file. + * @param {JSZip} zip the JSZip instance at the right root level. + * @param {Object} options to generate the zip file. + * @param {String} comment the comment to use. + */ +exports.generateWorker = function (zip, options, comment) { + + var zipFileWorker = new ZipFileWorker(options.streamFiles, comment, options.platform, options.encodeFileName); + var entriesCount = 0; + try { + + zip.forEach(function (relativePath, file) { + entriesCount++; + var compression = getCompression(file.options.compression, options.compression); + var compressionOptions = file.options.compressionOptions || options.compressionOptions || {}; + var dir = file.dir, date = file.date; + + file._compressWorker(compression, compressionOptions) + .withStreamInfo("file", { + name : relativePath, + dir : dir, + date : date, + comment : file.comment || "", + unixPermissions : file.unixPermissions, + dosPermissions : file.dosPermissions + }) + .pipe(zipFileWorker); + }); + zipFileWorker.entriesCount = entriesCount; + } catch (e) { + zipFileWorker.error(e); + } + + return zipFileWorker; +}; + +},{"../compressions":3,"./ZipFileWorker":8}],10:[function(require,module,exports){ +'use strict'; + +/** + * Representation a of zip file in js + * @constructor + */ +function JSZip() { + // if this constructor is used without `new`, it adds `new` before itself: + if(!(this instanceof JSZip)) { + return new JSZip(); + } + + if(arguments.length) { + throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); + } + + // object containing the files : + // { + // "folder/" : {...}, + // "folder/data.txt" : {...} + // } + this.files = {}; + + this.comment = null; + + // Where we are in the hierarchy + this.root = ""; + this.clone = function() { + var newObj = new JSZip(); + for (var i in this) { + if (typeof this[i] !== "function") { + newObj[i] = this[i]; + } + } + return newObj; + }; +} +JSZip.prototype = require('./object'); +JSZip.prototype.loadAsync = require('./load'); +JSZip.support = require('./support'); +JSZip.defaults = require('./defaults'); + +// TODO find a better way to handle this version, +// a require('package.json').version doesn't work with webpack, see #327 +JSZip.version = "3.2.0"; + +JSZip.loadAsync = function (content, options) { + return new JSZip().loadAsync(content, options); +}; + +JSZip.external = require("./external"); +module.exports = JSZip; + +},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(require,module,exports){ +'use strict'; +var utils = require('./utils'); +var external = require("./external"); +var utf8 = require('./utf8'); +var utils = require('./utils'); +var ZipEntries = require('./zipEntries'); +var Crc32Probe = require('./stream/Crc32Probe'); +var nodejsUtils = require("./nodejsUtils"); + +/** + * Check the CRC32 of an entry. + * @param {ZipEntry} zipEntry the zip entry to check. + * @return {Promise} the result. + */ +function checkEntryCRC32(zipEntry) { + return new external.Promise(function (resolve, reject) { + var worker = zipEntry.decompressed.getContentWorker().pipe(new Crc32Probe()); + worker.on("error", function (e) { + reject(e); + }) + .on("end", function () { + if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) { + reject(new Error("Corrupted zip : CRC32 mismatch")); + } else { + resolve(); + } + }) + .resume(); + }); +} + +module.exports = function(data, options) { + var zip = this; + options = utils.extend(options || {}, { + base64: false, + checkCRC32: false, + optimizedBinaryString: false, + createFolders: false, + decodeFileName: utf8.utf8decode + }); + + if (nodejsUtils.isNode && nodejsUtils.isStream(data)) { + return external.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")); + } + + return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64) + .then(function(data) { + var zipEntries = new ZipEntries(options); + zipEntries.load(data); + return zipEntries; + }).then(function checkCRC32(zipEntries) { + var promises = [external.Promise.resolve(zipEntries)]; + var files = zipEntries.files; + if (options.checkCRC32) { + for (var i = 0; i < files.length; i++) { + promises.push(checkEntryCRC32(files[i])); + } + } + return external.Promise.all(promises); + }).then(function addFiles(results) { + var zipEntries = results.shift(); + var files = zipEntries.files; + for (var i = 0; i < files.length; i++) { + var input = files[i]; + zip.file(input.fileNameStr, input.decompressed, { + binary: true, + optimizedBinaryString: true, + date: input.date, + dir: input.dir, + comment : input.fileCommentStr.length ? input.fileCommentStr : null, + unixPermissions : input.unixPermissions, + dosPermissions : input.dosPermissions, + createFolders: options.createFolders + }); + } + if (zipEntries.zipComment.length) { + zip.comment = zipEntries.zipComment; + } + + return zip; + }); +}; + +},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(require,module,exports){ +"use strict"; + +var utils = require('../utils'); +var GenericWorker = require('../stream/GenericWorker'); + +/** + * A worker that use a nodejs stream as source. + * @constructor + * @param {String} filename the name of the file entry for this stream. + * @param {Readable} stream the nodejs stream. + */ +function NodejsStreamInputAdapter(filename, stream) { + GenericWorker.call(this, "Nodejs stream input adapter for " + filename); + this._upstreamEnded = false; + this._bindStream(stream); +} + +utils.inherits(NodejsStreamInputAdapter, GenericWorker); + +/** + * Prepare the stream and bind the callbacks on it. + * Do this ASAP on node 0.10 ! A lazy binding doesn't always work. + * @param {Stream} stream the nodejs stream to use. + */ +NodejsStreamInputAdapter.prototype._bindStream = function (stream) { + var self = this; + this._stream = stream; + stream.pause(); + stream + .on("data", function (chunk) { + self.push({ + data: chunk, + meta : { + percent : 0 + } + }); + }) + .on("error", function (e) { + if(self.isPaused) { + this.generatedError = e; + } else { + self.error(e); + } + }) + .on("end", function () { + if(self.isPaused) { + self._upstreamEnded = true; + } else { + self.end(); + } + }); +}; +NodejsStreamInputAdapter.prototype.pause = function () { + if(!GenericWorker.prototype.pause.call(this)) { + return false; + } + this._stream.pause(); + return true; +}; +NodejsStreamInputAdapter.prototype.resume = function () { + if(!GenericWorker.prototype.resume.call(this)) { + return false; + } + + if(this._upstreamEnded) { + this.end(); + } else { + this._stream.resume(); + } + + return true; +}; + +module.exports = NodejsStreamInputAdapter; + +},{"../stream/GenericWorker":28,"../utils":32}],13:[function(require,module,exports){ +'use strict'; + +var Readable = require('readable-stream').Readable; + +var utils = require('../utils'); +utils.inherits(NodejsStreamOutputAdapter, Readable); + +/** +* A nodejs stream using a worker as source. +* @see the SourceWrapper in http://nodejs.org/api/stream.html +* @constructor +* @param {StreamHelper} helper the helper wrapping the worker +* @param {Object} options the nodejs stream options +* @param {Function} updateCb the update callback. +*/ +function NodejsStreamOutputAdapter(helper, options, updateCb) { + Readable.call(this, options); + this._helper = helper; + + var self = this; + helper.on("data", function (data, meta) { + if (!self.push(data)) { + self._helper.pause(); + } + if(updateCb) { + updateCb(meta); + } + }) + .on("error", function(e) { + self.emit('error', e); + }) + .on("end", function () { + self.push(null); + }); +} + + +NodejsStreamOutputAdapter.prototype._read = function() { + this._helper.resume(); +}; + +module.exports = NodejsStreamOutputAdapter; + +},{"../utils":32,"readable-stream":16}],14:[function(require,module,exports){ +'use strict'; + +module.exports = { + /** + * True if this is running in Nodejs, will be undefined in a browser. + * In a browser, browserify won't include this file and the whole module + * will be resolved an empty object. + */ + isNode : typeof Buffer !== "undefined", + /** + * Create a new nodejs Buffer from an existing content. + * @param {Object} data the data to pass to the constructor. + * @param {String} encoding the encoding to use. + * @return {Buffer} a new Buffer. + */ + newBufferFrom: function(data, encoding) { + if (Buffer.from && Buffer.from !== Uint8Array.from) { + return Buffer.from(data, encoding); + } else { + if (typeof data === "number") { + // Safeguard for old Node.js versions. On newer versions, + // Buffer.from(number) / Buffer(number, encoding) already throw. + throw new Error("The \"data\" argument must not be a number"); + } + return new Buffer(data, encoding); + } + }, + /** + * Create a new nodejs Buffer with the specified size. + * @param {Integer} size the size of the buffer. + * @return {Buffer} a new Buffer. + */ + allocBuffer: function (size) { + if (Buffer.alloc) { + return Buffer.alloc(size); + } else { + var buf = new Buffer(size); + buf.fill(0); + return buf; + } + }, + /** + * Find out if an object is a Buffer. + * @param {Object} b the object to test. + * @return {Boolean} true if the object is a Buffer, false otherwise. + */ + isBuffer : function(b){ + return Buffer.isBuffer(b); + }, + + isStream : function (obj) { + return obj && + typeof obj.on === "function" && + typeof obj.pause === "function" && + typeof obj.resume === "function"; + } +}; + +},{}],15:[function(require,module,exports){ +'use strict'; +var utf8 = require('./utf8'); +var utils = require('./utils'); +var GenericWorker = require('./stream/GenericWorker'); +var StreamHelper = require('./stream/StreamHelper'); +var defaults = require('./defaults'); +var CompressedObject = require('./compressedObject'); +var ZipObject = require('./zipObject'); +var generate = require("./generate"); +var nodejsUtils = require("./nodejsUtils"); +var NodejsStreamInputAdapter = require("./nodejs/NodejsStreamInputAdapter"); + + +/** + * Add a file in the current folder. + * @private + * @param {string} name the name of the file + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file + * @param {Object} originalOptions the options of the file + * @return {Object} the new file. + */ +var fileAdd = function(name, data, originalOptions) { + // be sure sub folders exist + var dataType = utils.getTypeOf(data), + parent; + + + /* + * Correct options. + */ + + var o = utils.extend(originalOptions || {}, defaults); + o.date = o.date || new Date(); + if (o.compression !== null) { + o.compression = o.compression.toUpperCase(); + } + + if (typeof o.unixPermissions === "string") { + o.unixPermissions = parseInt(o.unixPermissions, 8); + } + + // UNX_IFDIR 0040000 see zipinfo.c + if (o.unixPermissions && (o.unixPermissions & 0x4000)) { + o.dir = true; + } + // Bit 4 Directory + if (o.dosPermissions && (o.dosPermissions & 0x0010)) { + o.dir = true; + } + + if (o.dir) { + name = forceTrailingSlash(name); + } + if (o.createFolders && (parent = parentFolder(name))) { + folderAdd.call(this, parent, true); + } + + var isUnicodeString = dataType === "string" && o.binary === false && o.base64 === false; + if (!originalOptions || typeof originalOptions.binary === "undefined") { + o.binary = !isUnicodeString; + } + + + var isCompressedEmpty = (data instanceof CompressedObject) && data.uncompressedSize === 0; + + if (isCompressedEmpty || o.dir || !data || data.length === 0) { + o.base64 = false; + o.binary = true; + data = ""; + o.compression = "STORE"; + dataType = "string"; + } + + /* + * Convert content to fit. + */ + + var zipObjectContent = null; + if (data instanceof CompressedObject || data instanceof GenericWorker) { + zipObjectContent = data; + } else if (nodejsUtils.isNode && nodejsUtils.isStream(data)) { + zipObjectContent = new NodejsStreamInputAdapter(name, data); + } else { + zipObjectContent = utils.prepareContent(name, data, o.binary, o.optimizedBinaryString, o.base64); + } + + var object = new ZipObject(name, zipObjectContent, o); + this.files[name] = object; + /* + TODO: we can't throw an exception because we have async promises + (we can have a promise of a Date() for example) but returning a + promise is useless because file(name, data) returns the JSZip + object for chaining. Should we break that to allow the user + to catch the error ? + + return external.Promise.resolve(zipObjectContent) + .then(function () { + return object; + }); + */ +}; + +/** + * Find the parent folder of the path. + * @private + * @param {string} path the path to use + * @return {string} the parent folder, or "" + */ +var parentFolder = function (path) { + if (path.slice(-1) === '/') { + path = path.substring(0, path.length - 1); + } + var lastSlash = path.lastIndexOf('/'); + return (lastSlash > 0) ? path.substring(0, lastSlash) : ""; +}; + +/** + * Returns the path with a slash at the end. + * @private + * @param {String} path the path to check. + * @return {String} the path with a trailing slash. + */ +var forceTrailingSlash = function(path) { + // Check the name ends with a / + if (path.slice(-1) !== "/") { + path += "/"; // IE doesn't like substr(-1) + } + return path; +}; + +/** + * Add a (sub) folder in the current folder. + * @private + * @param {string} name the folder's name + * @param {boolean=} [createFolders] If true, automatically create sub + * folders. Defaults to false. + * @return {Object} the new folder. + */ +var folderAdd = function(name, createFolders) { + createFolders = (typeof createFolders !== 'undefined') ? createFolders : defaults.createFolders; + + name = forceTrailingSlash(name); + + // Does this folder already exist? + if (!this.files[name]) { + fileAdd.call(this, name, null, { + dir: true, + createFolders: createFolders + }); + } + return this.files[name]; +}; + +/** +* Cross-window, cross-Node-context regular expression detection +* @param {Object} object Anything +* @return {Boolean} true if the object is a regular expression, +* false otherwise +*/ +function isRegExp(object) { + return Object.prototype.toString.call(object) === "[object RegExp]"; +} + +// return the actual prototype of JSZip +var out = { + /** + * @see loadAsync + */ + load: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, + + + /** + * Call a callback function for each entry at this folder level. + * @param {Function} cb the callback function: + * function (relativePath, file) {...} + * It takes 2 arguments : the relative path and the file. + */ + forEach: function(cb) { + var filename, relativePath, file; + for (filename in this.files) { + if (!this.files.hasOwnProperty(filename)) { + continue; + } + file = this.files[filename]; + relativePath = filename.slice(this.root.length, filename.length); + if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root + cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn... + } + } + }, + + /** + * Filter nested files/folders with the specified function. + * @param {Function} search the predicate to use : + * function (relativePath, file) {...} + * It takes 2 arguments : the relative path and the file. + * @return {Array} An array of matching elements. + */ + filter: function(search) { + var result = []; + this.forEach(function (relativePath, entry) { + if (search(relativePath, entry)) { // the file matches the function + result.push(entry); + } + + }); + return result; + }, + + /** + * Add a file to the zip file, or search a file. + * @param {string|RegExp} name The name of the file to add (if data is defined), + * the name of the file to find (if no data) or a regex to match files. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded + * @param {Object} o File options + * @return {JSZip|Object|Array} this JSZip object (when adding a file), + * a file (when searching by string) or an array of files (when searching by regex). + */ + file: function(name, data, o) { + if (arguments.length === 1) { + if (isRegExp(name)) { + var regexp = name; + return this.filter(function(relativePath, file) { + return !file.dir && regexp.test(relativePath); + }); + } + else { // text + var obj = this.files[this.root + name]; + if (obj && !obj.dir) { + return obj; + } else { + return null; + } + } + } + else { // more than one argument : we have data ! + name = this.root + name; + fileAdd.call(this, name, data, o); + } + return this; + }, + + /** + * Add a directory to the zip file, or search. + * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders. + * @return {JSZip} an object with the new directory as the root, or an array containing matching folders. + */ + folder: function(arg) { + if (!arg) { + return this; + } + + if (isRegExp(arg)) { + return this.filter(function(relativePath, file) { + return file.dir && arg.test(relativePath); + }); + } + + // else, name is a new folder + var name = this.root + arg; + var newFolder = folderAdd.call(this, name); + + // Allow chaining by returning a new object with this folder as the root + var ret = this.clone(); + ret.root = newFolder.name; + return ret; + }, + + /** + * Delete a file, or a directory and all sub-files, from the zip + * @param {string} name the name of the file to delete + * @return {JSZip} this JSZip object + */ + remove: function(name) { + name = this.root + name; + var file = this.files[name]; + if (!file) { + // Look for any folders + if (name.slice(-1) !== "/") { + name += "/"; + } + file = this.files[name]; + } + + if (file && !file.dir) { + // file + delete this.files[name]; + } else { + // maybe a folder, delete recursively + var kids = this.filter(function(relativePath, file) { + return file.name.slice(0, name.length) === name; + }); + for (var i = 0; i < kids.length; i++) { + delete this.files[kids[i].name]; + } + } + + return this; + }, + + /** + * Generate the complete zip file + * @param {Object} options the options to generate the zip file : + * - compression, "STORE" by default. + * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob. + * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file + */ + generate: function(options) { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, + + /** + * Generate the complete zip file as an internal stream. + * @param {Object} options the options to generate the zip file : + * - compression, "STORE" by default. + * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob. + * @return {StreamHelper} the streamed zip file. + */ + generateInternalStream: function(options) { + var worker, opts = {}; + try { + opts = utils.extend(options || {}, { + streamFiles: false, + compression: "STORE", + compressionOptions : null, + type: "", + platform: "DOS", + comment: null, + mimeType: 'application/zip', + encodeFileName: utf8.utf8encode + }); + + opts.type = opts.type.toLowerCase(); + opts.compression = opts.compression.toUpperCase(); + + // "binarystring" is prefered but the internals use "string". + if(opts.type === "binarystring") { + opts.type = "string"; + } + + if (!opts.type) { + throw new Error("No output type specified."); + } + + utils.checkSupport(opts.type); + + // accept nodejs `process.platform` + if( + opts.platform === 'darwin' || + opts.platform === 'freebsd' || + opts.platform === 'linux' || + opts.platform === 'sunos' + ) { + opts.platform = "UNIX"; + } + if (opts.platform === 'win32') { + opts.platform = "DOS"; + } + + var comment = opts.comment || this.comment || ""; + worker = generate.generateWorker(this, opts, comment); + } catch (e) { + worker = new GenericWorker("error"); + worker.error(e); + } + return new StreamHelper(worker, opts.type || "string", opts.mimeType); + }, + /** + * Generate the complete zip file asynchronously. + * @see generateInternalStream + */ + generateAsync: function(options, onUpdate) { + return this.generateInternalStream(options).accumulate(onUpdate); + }, + /** + * Generate the complete zip file asynchronously. + * @see generateInternalStream + */ + generateNodeStream: function(options, onUpdate) { + options = options || {}; + if (!options.type) { + options.type = "nodebuffer"; + } + return this.generateInternalStream(options).toNodejsStream(onUpdate); + } +}; +module.exports = out; + +},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(require,module,exports){ +/* + * This file is used by module bundlers (browserify/webpack/etc) when + * including a stream implementation. We use "readable-stream" to get a + * consistent behavior between nodejs versions but bundlers often have a shim + * for "stream". Using this shim greatly improve the compatibility and greatly + * reduce the final size of the bundle (only one stream implementation, not + * two). + */ +module.exports = require("stream"); + +},{"stream":undefined}],17:[function(require,module,exports){ +'use strict'; +var DataReader = require('./DataReader'); +var utils = require('../utils'); + +function ArrayReader(data) { + DataReader.call(this, data); + for(var i = 0; i < this.data.length; i++) { + data[i] = data[i] & 0xFF; + } +} +utils.inherits(ArrayReader, DataReader); +/** + * @see DataReader.byteAt + */ +ArrayReader.prototype.byteAt = function(i) { + return this.data[this.zero + i]; +}; +/** + * @see DataReader.lastIndexOfSignature + */ +ArrayReader.prototype.lastIndexOfSignature = function(sig) { + var sig0 = sig.charCodeAt(0), + sig1 = sig.charCodeAt(1), + sig2 = sig.charCodeAt(2), + sig3 = sig.charCodeAt(3); + for (var i = this.length - 4; i >= 0; --i) { + if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) { + return i - this.zero; + } + } + + return -1; +}; +/** + * @see DataReader.readAndCheckSignature + */ +ArrayReader.prototype.readAndCheckSignature = function (sig) { + var sig0 = sig.charCodeAt(0), + sig1 = sig.charCodeAt(1), + sig2 = sig.charCodeAt(2), + sig3 = sig.charCodeAt(3), + data = this.readData(4); + return sig0 === data[0] && sig1 === data[1] && sig2 === data[2] && sig3 === data[3]; +}; +/** + * @see DataReader.readData + */ +ArrayReader.prototype.readData = function(size) { + this.checkOffset(size); + if(size === 0) { + return []; + } + var result = this.data.slice(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = ArrayReader; + +},{"../utils":32,"./DataReader":18}],18:[function(require,module,exports){ +'use strict'; +var utils = require('../utils'); + +function DataReader(data) { + this.data = data; // type : see implementation + this.length = data.length; + this.index = 0; + this.zero = 0; +} +DataReader.prototype = { + /** + * Check that the offset will not go too far. + * @param {string} offset the additional offset to check. + * @throws {Error} an Error if the offset is out of bounds. + */ + checkOffset: function(offset) { + this.checkIndex(this.index + offset); + }, + /** + * Check that the specified index will not be too far. + * @param {string} newIndex the index to check. + * @throws {Error} an Error if the index is out of bounds. + */ + checkIndex: function(newIndex) { + if (this.length < this.zero + newIndex || newIndex < 0) { + throw new Error("End of data reached (data length = " + this.length + ", asked index = " + (newIndex) + "). Corrupted zip ?"); + } + }, + /** + * Change the index. + * @param {number} newIndex The new index. + * @throws {Error} if the new index is out of the data. + */ + setIndex: function(newIndex) { + this.checkIndex(newIndex); + this.index = newIndex; + }, + /** + * Skip the next n bytes. + * @param {number} n the number of bytes to skip. + * @throws {Error} if the new index is out of the data. + */ + skip: function(n) { + this.setIndex(this.index + n); + }, + /** + * Get the byte at the specified index. + * @param {number} i the index to use. + * @return {number} a byte. + */ + byteAt: function(i) { + // see implementations + }, + /** + * Get the next number with a given byte size. + * @param {number} size the number of bytes to read. + * @return {number} the corresponding number. + */ + readInt: function(size) { + var result = 0, + i; + this.checkOffset(size); + for (i = this.index + size - 1; i >= this.index; i--) { + result = (result << 8) + this.byteAt(i); + } + this.index += size; + return result; + }, + /** + * Get the next string with a given byte size. + * @param {number} size the number of bytes to read. + * @return {string} the corresponding string. + */ + readString: function(size) { + return utils.transformTo("string", this.readData(size)); + }, + /** + * Get raw data without conversion, bytes. + * @param {number} size the number of bytes to read. + * @return {Object} the raw data, implementation specific. + */ + readData: function(size) { + // see implementations + }, + /** + * Find the last occurence of a zip signature (4 bytes). + * @param {string} sig the signature to find. + * @return {number} the index of the last occurence, -1 if not found. + */ + lastIndexOfSignature: function(sig) { + // see implementations + }, + /** + * Read the signature (4 bytes) at the current position and compare it with sig. + * @param {string} sig the expected signature + * @return {boolean} true if the signature matches, false otherwise. + */ + readAndCheckSignature: function(sig) { + // see implementations + }, + /** + * Get the next date. + * @return {Date} the date. + */ + readDate: function() { + var dostime = this.readInt(4); + return new Date(Date.UTC( + ((dostime >> 25) & 0x7f) + 1980, // year + ((dostime >> 21) & 0x0f) - 1, // month + (dostime >> 16) & 0x1f, // day + (dostime >> 11) & 0x1f, // hour + (dostime >> 5) & 0x3f, // minute + (dostime & 0x1f) << 1)); // second + } +}; +module.exports = DataReader; + +},{"../utils":32}],19:[function(require,module,exports){ +'use strict'; +var Uint8ArrayReader = require('./Uint8ArrayReader'); +var utils = require('../utils'); + +function NodeBufferReader(data) { + Uint8ArrayReader.call(this, data); +} +utils.inherits(NodeBufferReader, Uint8ArrayReader); + +/** + * @see DataReader.readData + */ +NodeBufferReader.prototype.readData = function(size) { + this.checkOffset(size); + var result = this.data.slice(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = NodeBufferReader; + +},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(require,module,exports){ +'use strict'; +var DataReader = require('./DataReader'); +var utils = require('../utils'); + +function StringReader(data) { + DataReader.call(this, data); +} +utils.inherits(StringReader, DataReader); +/** + * @see DataReader.byteAt + */ +StringReader.prototype.byteAt = function(i) { + return this.data.charCodeAt(this.zero + i); +}; +/** + * @see DataReader.lastIndexOfSignature + */ +StringReader.prototype.lastIndexOfSignature = function(sig) { + return this.data.lastIndexOf(sig) - this.zero; +}; +/** + * @see DataReader.readAndCheckSignature + */ +StringReader.prototype.readAndCheckSignature = function (sig) { + var data = this.readData(4); + return sig === data; +}; +/** + * @see DataReader.readData + */ +StringReader.prototype.readData = function(size) { + this.checkOffset(size); + // this will work because the constructor applied the "& 0xff" mask. + var result = this.data.slice(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = StringReader; + +},{"../utils":32,"./DataReader":18}],21:[function(require,module,exports){ +'use strict'; +var ArrayReader = require('./ArrayReader'); +var utils = require('../utils'); + +function Uint8ArrayReader(data) { + ArrayReader.call(this, data); +} +utils.inherits(Uint8ArrayReader, ArrayReader); +/** + * @see DataReader.readData + */ +Uint8ArrayReader.prototype.readData = function(size) { + this.checkOffset(size); + if(size === 0) { + // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of []. + return new Uint8Array(0); + } + var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = Uint8ArrayReader; + +},{"../utils":32,"./ArrayReader":17}],22:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var support = require('../support'); +var ArrayReader = require('./ArrayReader'); +var StringReader = require('./StringReader'); +var NodeBufferReader = require('./NodeBufferReader'); +var Uint8ArrayReader = require('./Uint8ArrayReader'); + +/** + * Create a reader adapted to the data. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data to read. + * @return {DataReader} the data reader. + */ +module.exports = function (data) { + var type = utils.getTypeOf(data); + utils.checkSupport(type); + if (type === "string" && !support.uint8array) { + return new StringReader(data); + } + if (type === "nodebuffer") { + return new NodeBufferReader(data); + } + if (support.uint8array) { + return new Uint8ArrayReader(utils.transformTo("uint8array", data)); + } + return new ArrayReader(utils.transformTo("array", data)); +}; + +},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(require,module,exports){ +'use strict'; +exports.LOCAL_FILE_HEADER = "PK\x03\x04"; +exports.CENTRAL_FILE_HEADER = "PK\x01\x02"; +exports.CENTRAL_DIRECTORY_END = "PK\x05\x06"; +exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x06\x07"; +exports.ZIP64_CENTRAL_DIRECTORY_END = "PK\x06\x06"; +exports.DATA_DESCRIPTOR = "PK\x07\x08"; + +},{}],24:[function(require,module,exports){ +'use strict'; + +var GenericWorker = require('./GenericWorker'); +var utils = require('../utils'); + +/** + * A worker which convert chunks to a specified type. + * @constructor + * @param {String} destType the destination type. + */ +function ConvertWorker(destType) { + GenericWorker.call(this, "ConvertWorker to " + destType); + this.destType = destType; +} +utils.inherits(ConvertWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +ConvertWorker.prototype.processChunk = function (chunk) { + this.push({ + data : utils.transformTo(this.destType, chunk.data), + meta : chunk.meta + }); +}; +module.exports = ConvertWorker; + +},{"../utils":32,"./GenericWorker":28}],25:[function(require,module,exports){ +'use strict'; + +var GenericWorker = require('./GenericWorker'); +var crc32 = require('../crc32'); +var utils = require('../utils'); + +/** + * A worker which calculate the crc32 of the data flowing through. + * @constructor + */ +function Crc32Probe() { + GenericWorker.call(this, "Crc32Probe"); + this.withStreamInfo("crc32", 0); +} +utils.inherits(Crc32Probe, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +Crc32Probe.prototype.processChunk = function (chunk) { + this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0); + this.push(chunk); +}; +module.exports = Crc32Probe; + +},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var GenericWorker = require('./GenericWorker'); + +/** + * A worker which calculate the total length of the data flowing through. + * @constructor + * @param {String} propName the name used to expose the length + */ +function DataLengthProbe(propName) { + GenericWorker.call(this, "DataLengthProbe for " + propName); + this.propName = propName; + this.withStreamInfo(propName, 0); +} +utils.inherits(DataLengthProbe, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +DataLengthProbe.prototype.processChunk = function (chunk) { + if(chunk) { + var length = this.streamInfo[this.propName] || 0; + this.streamInfo[this.propName] = length + chunk.data.length; + } + GenericWorker.prototype.processChunk.call(this, chunk); +}; +module.exports = DataLengthProbe; + + +},{"../utils":32,"./GenericWorker":28}],27:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var GenericWorker = require('./GenericWorker'); + +// the size of the generated chunks +// TODO expose this as a public variable +var DEFAULT_BLOCK_SIZE = 16 * 1024; + +/** + * A worker that reads a content and emits chunks. + * @constructor + * @param {Promise} dataP the promise of the data to split + */ +function DataWorker(dataP) { + GenericWorker.call(this, "DataWorker"); + var self = this; + this.dataIsReady = false; + this.index = 0; + this.max = 0; + this.data = null; + this.type = ""; + + this._tickScheduled = false; + + dataP.then(function (data) { + self.dataIsReady = true; + self.data = data; + self.max = data && data.length || 0; + self.type = utils.getTypeOf(data); + if(!self.isPaused) { + self._tickAndRepeat(); + } + }, function (e) { + self.error(e); + }); +} + +utils.inherits(DataWorker, GenericWorker); + +/** + * @see GenericWorker.cleanUp + */ +DataWorker.prototype.cleanUp = function () { + GenericWorker.prototype.cleanUp.call(this); + this.data = null; +}; + +/** + * @see GenericWorker.resume + */ +DataWorker.prototype.resume = function () { + if(!GenericWorker.prototype.resume.call(this)) { + return false; + } + + if (!this._tickScheduled && this.dataIsReady) { + this._tickScheduled = true; + utils.delay(this._tickAndRepeat, [], this); + } + return true; +}; + +/** + * Trigger a tick a schedule an other call to this function. + */ +DataWorker.prototype._tickAndRepeat = function() { + this._tickScheduled = false; + if(this.isPaused || this.isFinished) { + return; + } + this._tick(); + if(!this.isFinished) { + utils.delay(this._tickAndRepeat, [], this); + this._tickScheduled = true; + } +}; + +/** + * Read and push a chunk. + */ +DataWorker.prototype._tick = function() { + + if(this.isPaused || this.isFinished) { + return false; + } + + var size = DEFAULT_BLOCK_SIZE; + var data = null, nextIndex = Math.min(this.max, this.index + size); + if (this.index >= this.max) { + // EOF + return this.end(); + } else { + switch(this.type) { + case "string": + data = this.data.substring(this.index, nextIndex); + break; + case "uint8array": + data = this.data.subarray(this.index, nextIndex); + break; + case "array": + case "nodebuffer": + data = this.data.slice(this.index, nextIndex); + break; + } + this.index = nextIndex; + return this.push({ + data : data, + meta : { + percent : this.max ? this.index / this.max * 100 : 0 + } + }); + } +}; + +module.exports = DataWorker; + +},{"../utils":32,"./GenericWorker":28}],28:[function(require,module,exports){ +'use strict'; + +/** + * A worker that does nothing but passing chunks to the next one. This is like + * a nodejs stream but with some differences. On the good side : + * - it works on IE 6-9 without any issue / polyfill + * - it weights less than the full dependencies bundled with browserify + * - it forwards errors (no need to declare an error handler EVERYWHERE) + * + * A chunk is an object with 2 attributes : `meta` and `data`. The former is an + * object containing anything (`percent` for example), see each worker for more + * details. The latter is the real data (String, Uint8Array, etc). + * + * @constructor + * @param {String} name the name of the stream (mainly used for debugging purposes) + */ +function GenericWorker(name) { + // the name of the worker + this.name = name || "default"; + // an object containing metadata about the workers chain + this.streamInfo = {}; + // an error which happened when the worker was paused + this.generatedError = null; + // an object containing metadata to be merged by this worker into the general metadata + this.extraStreamInfo = {}; + // true if the stream is paused (and should not do anything), false otherwise + this.isPaused = true; + // true if the stream is finished (and should not do anything), false otherwise + this.isFinished = false; + // true if the stream is locked to prevent further structure updates (pipe), false otherwise + this.isLocked = false; + // the event listeners + this._listeners = { + 'data':[], + 'end':[], + 'error':[] + }; + // the previous worker, if any + this.previous = null; +} + +GenericWorker.prototype = { + /** + * Push a chunk to the next workers. + * @param {Object} chunk the chunk to push + */ + push : function (chunk) { + this.emit("data", chunk); + }, + /** + * End the stream. + * @return {Boolean} true if this call ended the worker, false otherwise. + */ + end : function () { + if (this.isFinished) { + return false; + } + + this.flush(); + try { + this.emit("end"); + this.cleanUp(); + this.isFinished = true; + } catch (e) { + this.emit("error", e); + } + return true; + }, + /** + * End the stream with an error. + * @param {Error} e the error which caused the premature end. + * @return {Boolean} true if this call ended the worker with an error, false otherwise. + */ + error : function (e) { + if (this.isFinished) { + return false; + } + + if(this.isPaused) { + this.generatedError = e; + } else { + this.isFinished = true; + + this.emit("error", e); + + // in the workers chain exploded in the middle of the chain, + // the error event will go downward but we also need to notify + // workers upward that there has been an error. + if(this.previous) { + this.previous.error(e); + } + + this.cleanUp(); + } + return true; + }, + /** + * Add a callback on an event. + * @param {String} name the name of the event (data, end, error) + * @param {Function} listener the function to call when the event is triggered + * @return {GenericWorker} the current object for chainability + */ + on : function (name, listener) { + this._listeners[name].push(listener); + return this; + }, + /** + * Clean any references when a worker is ending. + */ + cleanUp : function () { + this.streamInfo = this.generatedError = this.extraStreamInfo = null; + this._listeners = []; + }, + /** + * Trigger an event. This will call registered callback with the provided arg. + * @param {String} name the name of the event (data, end, error) + * @param {Object} arg the argument to call the callback with. + */ + emit : function (name, arg) { + if (this._listeners[name]) { + for(var i = 0; i < this._listeners[name].length; i++) { + this._listeners[name][i].call(this, arg); + } + } + }, + /** + * Chain a worker with an other. + * @param {Worker} next the worker receiving events from the current one. + * @return {worker} the next worker for chainability + */ + pipe : function (next) { + return next.registerPrevious(this); + }, + /** + * Same as `pipe` in the other direction. + * Using an API with `pipe(next)` is very easy. + * Implementing the API with the point of view of the next one registering + * a source is easier, see the ZipFileWorker. + * @param {Worker} previous the previous worker, sending events to this one + * @return {Worker} the current worker for chainability + */ + registerPrevious : function (previous) { + if (this.isLocked) { + throw new Error("The stream '" + this + "' has already been used."); + } + + // sharing the streamInfo... + this.streamInfo = previous.streamInfo; + // ... and adding our own bits + this.mergeStreamInfo(); + this.previous = previous; + var self = this; + previous.on('data', function (chunk) { + self.processChunk(chunk); + }); + previous.on('end', function () { + self.end(); + }); + previous.on('error', function (e) { + self.error(e); + }); + return this; + }, + /** + * Pause the stream so it doesn't send events anymore. + * @return {Boolean} true if this call paused the worker, false otherwise. + */ + pause : function () { + if(this.isPaused || this.isFinished) { + return false; + } + this.isPaused = true; + + if(this.previous) { + this.previous.pause(); + } + return true; + }, + /** + * Resume a paused stream. + * @return {Boolean} true if this call resumed the worker, false otherwise. + */ + resume : function () { + if(!this.isPaused || this.isFinished) { + return false; + } + this.isPaused = false; + + // if true, the worker tried to resume but failed + var withError = false; + if(this.generatedError) { + this.error(this.generatedError); + withError = true; + } + if(this.previous) { + this.previous.resume(); + } + + return !withError; + }, + /** + * Flush any remaining bytes as the stream is ending. + */ + flush : function () {}, + /** + * Process a chunk. This is usually the method overridden. + * @param {Object} chunk the chunk to process. + */ + processChunk : function(chunk) { + this.push(chunk); + }, + /** + * Add a key/value to be added in the workers chain streamInfo once activated. + * @param {String} key the key to use + * @param {Object} value the associated value + * @return {Worker} the current worker for chainability + */ + withStreamInfo : function (key, value) { + this.extraStreamInfo[key] = value; + this.mergeStreamInfo(); + return this; + }, + /** + * Merge this worker's streamInfo into the chain's streamInfo. + */ + mergeStreamInfo : function () { + for(var key in this.extraStreamInfo) { + if (!this.extraStreamInfo.hasOwnProperty(key)) { + continue; + } + this.streamInfo[key] = this.extraStreamInfo[key]; + } + }, + + /** + * Lock the stream to prevent further updates on the workers chain. + * After calling this method, all calls to pipe will fail. + */ + lock: function () { + if (this.isLocked) { + throw new Error("The stream '" + this + "' has already been used."); + } + this.isLocked = true; + if (this.previous) { + this.previous.lock(); + } + }, + + /** + * + * Pretty print the workers chain. + */ + toString : function () { + var me = "Worker " + this.name; + if (this.previous) { + return this.previous + " -> " + me; + } else { + return me; + } + } +}; + +module.exports = GenericWorker; + +},{}],29:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var ConvertWorker = require('./ConvertWorker'); +var GenericWorker = require('./GenericWorker'); +var base64 = require('../base64'); +var support = require("../support"); +var external = require("../external"); + +var NodejsStreamOutputAdapter = null; +if (support.nodestream) { + try { + NodejsStreamOutputAdapter = require('../nodejs/NodejsStreamOutputAdapter'); + } catch(e) {} +} + +/** + * Apply the final transformation of the data. If the user wants a Blob for + * example, it's easier to work with an U8intArray and finally do the + * ArrayBuffer/Blob conversion. + * @param {String} type the name of the final type + * @param {String|Uint8Array|Buffer} content the content to transform + * @param {String} mimeType the mime type of the content, if applicable. + * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the content in the right format. + */ +function transformZipOutput(type, content, mimeType) { + switch(type) { + case "blob" : + return utils.newBlob(utils.transformTo("arraybuffer", content), mimeType); + case "base64" : + return base64.encode(content); + default : + return utils.transformTo(type, content); + } +} + +/** + * Concatenate an array of data of the given type. + * @param {String} type the type of the data in the given array. + * @param {Array} dataArray the array containing the data chunks to concatenate + * @return {String|Uint8Array|Buffer} the concatenated data + * @throws Error if the asked type is unsupported + */ +function concat (type, dataArray) { + var i, index = 0, res = null, totalLength = 0; + for(i = 0; i < dataArray.length; i++) { + totalLength += dataArray[i].length; + } + switch(type) { + case "string": + return dataArray.join(""); + case "array": + return Array.prototype.concat.apply([], dataArray); + case "uint8array": + res = new Uint8Array(totalLength); + for(i = 0; i < dataArray.length; i++) { + res.set(dataArray[i], index); + index += dataArray[i].length; + } + return res; + case "nodebuffer": + return Buffer.concat(dataArray); + default: + throw new Error("concat : unsupported type '" + type + "'"); + } +} + +/** + * Listen a StreamHelper, accumulate its content and concatenate it into a + * complete block. + * @param {StreamHelper} helper the helper to use. + * @param {Function} updateCallback a callback called on each update. Called + * with one arg : + * - the metadata linked to the update received. + * @return Promise the promise for the accumulation. + */ +function accumulate(helper, updateCallback) { + return new external.Promise(function (resolve, reject){ + var dataArray = []; + var chunkType = helper._internalType, + resultType = helper._outputType, + mimeType = helper._mimeType; + helper + .on('data', function (data, meta) { + dataArray.push(data); + if(updateCallback) { + updateCallback(meta); + } + }) + .on('error', function(err) { + dataArray = []; + reject(err); + }) + .on('end', function (){ + try { + var result = transformZipOutput(resultType, concat(chunkType, dataArray), mimeType); + resolve(result); + } catch (e) { + reject(e); + } + dataArray = []; + }) + .resume(); + }); +} + +/** + * An helper to easily use workers outside of JSZip. + * @constructor + * @param {Worker} worker the worker to wrap + * @param {String} outputType the type of data expected by the use + * @param {String} mimeType the mime type of the content, if applicable. + */ +function StreamHelper(worker, outputType, mimeType) { + var internalType = outputType; + switch(outputType) { + case "blob": + case "arraybuffer": + internalType = "uint8array"; + break; + case "base64": + internalType = "string"; + break; + } + + try { + // the type used internally + this._internalType = internalType; + // the type used to output results + this._outputType = outputType; + // the mime type + this._mimeType = mimeType; + utils.checkSupport(internalType); + this._worker = worker.pipe(new ConvertWorker(internalType)); + // the last workers can be rewired without issues but we need to + // prevent any updates on previous workers. + worker.lock(); + } catch(e) { + this._worker = new GenericWorker("error"); + this._worker.error(e); + } +} + +StreamHelper.prototype = { + /** + * Listen a StreamHelper, accumulate its content and concatenate it into a + * complete block. + * @param {Function} updateCb the update callback. + * @return Promise the promise for the accumulation. + */ + accumulate : function (updateCb) { + return accumulate(this, updateCb); + }, + /** + * Add a listener on an event triggered on a stream. + * @param {String} evt the name of the event + * @param {Function} fn the listener + * @return {StreamHelper} the current helper. + */ + on : function (evt, fn) { + var self = this; + + if(evt === "data") { + this._worker.on(evt, function (chunk) { + fn.call(self, chunk.data, chunk.meta); + }); + } else { + this._worker.on(evt, function () { + utils.delay(fn, arguments, self); + }); + } + return this; + }, + /** + * Resume the flow of chunks. + * @return {StreamHelper} the current helper. + */ + resume : function () { + utils.delay(this._worker.resume, [], this._worker); + return this; + }, + /** + * Pause the flow of chunks. + * @return {StreamHelper} the current helper. + */ + pause : function () { + this._worker.pause(); + return this; + }, + /** + * Return a nodejs stream for this helper. + * @param {Function} updateCb the update callback. + * @return {NodejsStreamOutputAdapter} the nodejs stream. + */ + toNodejsStream : function (updateCb) { + utils.checkSupport("nodestream"); + if (this._outputType !== "nodebuffer") { + // an object stream containing blob/arraybuffer/uint8array/string + // is strange and I don't know if it would be useful. + // I you find this comment and have a good usecase, please open a + // bug report ! + throw new Error(this._outputType + " is not supported by this method"); + } + + return new NodejsStreamOutputAdapter(this, { + objectMode : this._outputType !== "nodebuffer" + }, updateCb); + } +}; + + +module.exports = StreamHelper; + +},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(require,module,exports){ +'use strict'; + +exports.base64 = true; +exports.array = true; +exports.string = true; +exports.arraybuffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined"; +exports.nodebuffer = typeof Buffer !== "undefined"; +// contains true if JSZip can read/generate Uint8Array, false otherwise. +exports.uint8array = typeof Uint8Array !== "undefined"; + +if (typeof ArrayBuffer === "undefined") { + exports.blob = false; +} +else { + var buffer = new ArrayBuffer(0); + try { + exports.blob = new Blob([buffer], { + type: "application/zip" + }).size === 0; + } + catch (e) { + try { + var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder; + var builder = new Builder(); + builder.append(buffer); + exports.blob = builder.getBlob('application/zip').size === 0; + } + catch (e) { + exports.blob = false; + } + } +} + +try { + exports.nodestream = !!require('readable-stream').Readable; +} catch(e) { + exports.nodestream = false; +} + +},{"readable-stream":16}],31:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); +var support = require('./support'); +var nodejsUtils = require('./nodejsUtils'); +var GenericWorker = require('./stream/GenericWorker'); + +/** + * The following functions come from pako, from pako/lib/utils/strings + * released under the MIT license, see pako https://github.com/nodeca/pako/ + */ + +// Table with utf8 lengths (calculated by first byte of sequence) +// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS, +// because max possible codepoint is 0x10ffff +var _utf8len = new Array(256); +for (var i=0; i<256; i++) { + _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1); +} +_utf8len[254]=_utf8len[254]=1; // Invalid sequence start + +// convert string to array (typed, when possible) +var string2buf = function (str) { + var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; + + // count binary size + for (m_pos = 0; m_pos < str_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) { + c2 = str.charCodeAt(m_pos+1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; + } + + // allocate buffer + if (support.uint8array) { + buf = new Uint8Array(buf_len); + } else { + buf = new Array(buf_len); + } + + // convert + for (i=0, m_pos = 0; i < buf_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) { + c2 = str.charCodeAt(m_pos+1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + if (c < 0x80) { + /* one byte */ + buf[i++] = c; + } else if (c < 0x800) { + /* two bytes */ + buf[i++] = 0xC0 | (c >>> 6); + buf[i++] = 0x80 | (c & 0x3f); + } else if (c < 0x10000) { + /* three bytes */ + buf[i++] = 0xE0 | (c >>> 12); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } else { + /* four bytes */ + buf[i++] = 0xf0 | (c >>> 18); + buf[i++] = 0x80 | (c >>> 12 & 0x3f); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } + } + + return buf; +}; + +// Calculate max possible position in utf8 buffer, +// that will not break sequence. If that's not possible +// - (very small limits) return max size as is. +// +// buf[] - utf8 bytes array +// max - length limit (mandatory); +var utf8border = function(buf, max) { + var pos; + + max = max || buf.length; + if (max > buf.length) { max = buf.length; } + + // go back from last position, until start of sequence found + pos = max-1; + while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; } + + // Fuckup - very small and broken sequence, + // return max, because we should return something anyway. + if (pos < 0) { return max; } + + // If we came to start of buffer - that means vuffer is too small, + // return max too. + if (pos === 0) { return max; } + + return (pos + _utf8len[buf[pos]] > max) ? pos : max; +}; + +// convert array to string +var buf2string = function (buf) { + var str, i, out, c, c_len; + var len = buf.length; + + // Reserve max possible length (2 words per char) + // NB: by unknown reasons, Array is significantly faster for + // String.fromCharCode.apply than Uint16Array. + var utf16buf = new Array(len*2); + + for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; } + + // apply mask on first byte + c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07; + // join the rest + while (c_len > 1 && i < len) { + c = (c << 6) | (buf[i++] & 0x3f); + c_len--; + } + + // terminated by end of string? + if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; } + + if (c < 0x10000) { + utf16buf[out++] = c; + } else { + c -= 0x10000; + utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff); + utf16buf[out++] = 0xdc00 | (c & 0x3ff); + } + } + + // shrinkBuf(utf16buf, out) + if (utf16buf.length !== out) { + if(utf16buf.subarray) { + utf16buf = utf16buf.subarray(0, out); + } else { + utf16buf.length = out; + } + } + + // return String.fromCharCode.apply(null, utf16buf); + return utils.applyFromCharCode(utf16buf); +}; + + +// That's all for the pako functions. + + +/** + * Transform a javascript string into an array (typed if possible) of bytes, + * UTF-8 encoded. + * @param {String} str the string to encode + * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string. + */ +exports.utf8encode = function utf8encode(str) { + if (support.nodebuffer) { + return nodejsUtils.newBufferFrom(str, "utf-8"); + } + + return string2buf(str); +}; + + +/** + * Transform a bytes array (or a representation) representing an UTF-8 encoded + * string into a javascript string. + * @param {Array|Uint8Array|Buffer} buf the data de decode + * @return {String} the decoded string. + */ +exports.utf8decode = function utf8decode(buf) { + if (support.nodebuffer) { + return utils.transformTo("nodebuffer", buf).toString("utf-8"); + } + + buf = utils.transformTo(support.uint8array ? "uint8array" : "array", buf); + + return buf2string(buf); +}; + +/** + * A worker to decode utf8 encoded binary chunks into string chunks. + * @constructor + */ +function Utf8DecodeWorker() { + GenericWorker.call(this, "utf-8 decode"); + // the last bytes if a chunk didn't end with a complete codepoint. + this.leftOver = null; +} +utils.inherits(Utf8DecodeWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +Utf8DecodeWorker.prototype.processChunk = function (chunk) { + + var data = utils.transformTo(support.uint8array ? "uint8array" : "array", chunk.data); + + // 1st step, re-use what's left of the previous chunk + if (this.leftOver && this.leftOver.length) { + if(support.uint8array) { + var previousData = data; + data = new Uint8Array(previousData.length + this.leftOver.length); + data.set(this.leftOver, 0); + data.set(previousData, this.leftOver.length); + } else { + data = this.leftOver.concat(data); + } + this.leftOver = null; + } + + var nextBoundary = utf8border(data); + var usableData = data; + if (nextBoundary !== data.length) { + if (support.uint8array) { + usableData = data.subarray(0, nextBoundary); + this.leftOver = data.subarray(nextBoundary, data.length); + } else { + usableData = data.slice(0, nextBoundary); + this.leftOver = data.slice(nextBoundary, data.length); + } + } + + this.push({ + data : exports.utf8decode(usableData), + meta : chunk.meta + }); +}; + +/** + * @see GenericWorker.flush + */ +Utf8DecodeWorker.prototype.flush = function () { + if(this.leftOver && this.leftOver.length) { + this.push({ + data : exports.utf8decode(this.leftOver), + meta : {} + }); + this.leftOver = null; + } +}; +exports.Utf8DecodeWorker = Utf8DecodeWorker; + +/** + * A worker to endcode string chunks into utf8 encoded binary chunks. + * @constructor + */ +function Utf8EncodeWorker() { + GenericWorker.call(this, "utf-8 encode"); +} +utils.inherits(Utf8EncodeWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +Utf8EncodeWorker.prototype.processChunk = function (chunk) { + this.push({ + data : exports.utf8encode(chunk.data), + meta : chunk.meta + }); +}; +exports.Utf8EncodeWorker = Utf8EncodeWorker; + +},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(require,module,exports){ +'use strict'; + +var support = require('./support'); +var base64 = require('./base64'); +var nodejsUtils = require('./nodejsUtils'); +var setImmediate = require('set-immediate-shim'); +var external = require("./external"); + + +/** + * Convert a string that pass as a "binary string": it should represent a byte + * array but may have > 255 char codes. Be sure to take only the first byte + * and returns the byte array. + * @param {String} str the string to transform. + * @return {Array|Uint8Array} the string in a binary format. + */ +function string2binary(str) { + var result = null; + if (support.uint8array) { + result = new Uint8Array(str.length); + } else { + result = new Array(str.length); + } + return stringToArrayLike(str, result); +} + +/** + * Create a new blob with the given content and the given type. + * @param {String|ArrayBuffer} part the content to put in the blob. DO NOT use + * an Uint8Array because the stock browser of android 4 won't accept it (it + * will be silently converted to a string, "[object Uint8Array]"). + * + * Use only ONE part to build the blob to avoid a memory leak in IE11 / Edge: + * when a large amount of Array is used to create the Blob, the amount of + * memory consumed is nearly 100 times the original data amount. + * + * @param {String} type the mime type of the blob. + * @return {Blob} the created blob. + */ +exports.newBlob = function(part, type) { + exports.checkSupport("blob"); + + try { + // Blob constructor + return new Blob([part], { + type: type + }); + } + catch (e) { + + try { + // deprecated, browser only, old way + var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder; + var builder = new Builder(); + builder.append(part); + return builder.getBlob(type); + } + catch (e) { + + // well, fuck ?! + throw new Error("Bug : can't construct the Blob."); + } + } + + +}; +/** + * The identity function. + * @param {Object} input the input. + * @return {Object} the same input. + */ +function identity(input) { + return input; +} + +/** + * Fill in an array with a string. + * @param {String} str the string to use. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated). + * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array. + */ +function stringToArrayLike(str, array) { + for (var i = 0; i < str.length; ++i) { + array[i] = str.charCodeAt(i) & 0xFF; + } + return array; +} + +/** + * An helper for the function arrayLikeToString. + * This contains static informations and functions that + * can be optimized by the browser JIT compiler. + */ +var arrayToStringHelper = { + /** + * Transform an array of int into a string, chunk by chunk. + * See the performances notes on arrayLikeToString. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform. + * @param {String} type the type of the array. + * @param {Integer} chunk the chunk size. + * @return {String} the resulting string. + * @throws Error if the chunk is too big for the stack. + */ + stringifyByChunk: function(array, type, chunk) { + var result = [], k = 0, len = array.length; + // shortcut + if (len <= chunk) { + return String.fromCharCode.apply(null, array); + } + while (k < len) { + if (type === "array" || type === "nodebuffer") { + result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len)))); + } + else { + result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len)))); + } + k += chunk; + } + return result.join(""); + }, + /** + * Call String.fromCharCode on every item in the array. + * This is the naive implementation, which generate A LOT of intermediate string. + * This should be used when everything else fail. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform. + * @return {String} the result. + */ + stringifyByChar: function(array){ + var resultStr = ""; + for(var i = 0; i < array.length; i++) { + resultStr += String.fromCharCode(array[i]); + } + return resultStr; + }, + applyCanBeUsed : { + /** + * true if the browser accepts to use String.fromCharCode on Uint8Array + */ + uint8array : (function () { + try { + return support.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1; + } catch (e) { + return false; + } + })(), + /** + * true if the browser accepts to use String.fromCharCode on nodejs Buffer. + */ + nodebuffer : (function () { + try { + return support.nodebuffer && String.fromCharCode.apply(null, nodejsUtils.allocBuffer(1)).length === 1; + } catch (e) { + return false; + } + })() + } +}; + +/** + * Transform an array-like object to a string. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform. + * @return {String} the result. + */ +function arrayLikeToString(array) { + // Performances notes : + // -------------------- + // String.fromCharCode.apply(null, array) is the fastest, see + // see http://jsperf.com/converting-a-uint8array-to-a-string/2 + // but the stack is limited (and we can get huge arrays !). + // + // result += String.fromCharCode(array[i]); generate too many strings ! + // + // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2 + // TODO : we now have workers that split the work. Do we still need that ? + var chunk = 65536, + type = exports.getTypeOf(array), + canUseApply = true; + if (type === "uint8array") { + canUseApply = arrayToStringHelper.applyCanBeUsed.uint8array; + } else if (type === "nodebuffer") { + canUseApply = arrayToStringHelper.applyCanBeUsed.nodebuffer; + } + + if (canUseApply) { + while (chunk > 1) { + try { + return arrayToStringHelper.stringifyByChunk(array, type, chunk); + } catch (e) { + chunk = Math.floor(chunk / 2); + } + } + } + + // no apply or chunk error : slow and painful algorithm + // default browser on android 4.* + return arrayToStringHelper.stringifyByChar(array); +} + +exports.applyFromCharCode = arrayLikeToString; + + +/** + * Copy the data from an array-like to an other array-like. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated. + * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array. + */ +function arrayLikeToArrayLike(arrayFrom, arrayTo) { + for (var i = 0; i < arrayFrom.length; i++) { + arrayTo[i] = arrayFrom[i]; + } + return arrayTo; +} + +// a matrix containing functions to transform everything into everything. +var transform = {}; + +// string to ? +transform["string"] = { + "string": identity, + "array": function(input) { + return stringToArrayLike(input, new Array(input.length)); + }, + "arraybuffer": function(input) { + return transform["string"]["uint8array"](input).buffer; + }, + "uint8array": function(input) { + return stringToArrayLike(input, new Uint8Array(input.length)); + }, + "nodebuffer": function(input) { + return stringToArrayLike(input, nodejsUtils.allocBuffer(input.length)); + } +}; + +// array to ? +transform["array"] = { + "string": arrayLikeToString, + "array": identity, + "arraybuffer": function(input) { + return (new Uint8Array(input)).buffer; + }, + "uint8array": function(input) { + return new Uint8Array(input); + }, + "nodebuffer": function(input) { + return nodejsUtils.newBufferFrom(input); + } +}; + +// arraybuffer to ? +transform["arraybuffer"] = { + "string": function(input) { + return arrayLikeToString(new Uint8Array(input)); + }, + "array": function(input) { + return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength)); + }, + "arraybuffer": identity, + "uint8array": function(input) { + return new Uint8Array(input); + }, + "nodebuffer": function(input) { + return nodejsUtils.newBufferFrom(new Uint8Array(input)); + } +}; + +// uint8array to ? +transform["uint8array"] = { + "string": arrayLikeToString, + "array": function(input) { + return arrayLikeToArrayLike(input, new Array(input.length)); + }, + "arraybuffer": function(input) { + return input.buffer; + }, + "uint8array": identity, + "nodebuffer": function(input) { + return nodejsUtils.newBufferFrom(input); + } +}; + +// nodebuffer to ? +transform["nodebuffer"] = { + "string": arrayLikeToString, + "array": function(input) { + return arrayLikeToArrayLike(input, new Array(input.length)); + }, + "arraybuffer": function(input) { + return transform["nodebuffer"]["uint8array"](input).buffer; + }, + "uint8array": function(input) { + return arrayLikeToArrayLike(input, new Uint8Array(input.length)); + }, + "nodebuffer": identity +}; + +/** + * Transform an input into any type. + * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer. + * If no output type is specified, the unmodified input will be returned. + * @param {String} outputType the output type. + * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert. + * @throws {Error} an Error if the browser doesn't support the requested output type. + */ +exports.transformTo = function(outputType, input) { + if (!input) { + // undefined, null, etc + // an empty string won't harm. + input = ""; + } + if (!outputType) { + return input; + } + exports.checkSupport(outputType); + var inputType = exports.getTypeOf(input); + var result = transform[inputType][outputType](input); + return result; +}; + +/** + * Return the type of the input. + * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer. + * @param {Object} input the input to identify. + * @return {String} the (lowercase) type of the input. + */ +exports.getTypeOf = function(input) { + if (typeof input === "string") { + return "string"; + } + if (Object.prototype.toString.call(input) === "[object Array]") { + return "array"; + } + if (support.nodebuffer && nodejsUtils.isBuffer(input)) { + return "nodebuffer"; + } + if (support.uint8array && input instanceof Uint8Array) { + return "uint8array"; + } + if (support.arraybuffer && input instanceof ArrayBuffer) { + return "arraybuffer"; + } +}; + +/** + * Throw an exception if the type is not supported. + * @param {String} type the type to check. + * @throws {Error} an Error if the browser doesn't support the requested type. + */ +exports.checkSupport = function(type) { + var supported = support[type.toLowerCase()]; + if (!supported) { + throw new Error(type + " is not supported by this platform"); + } +}; + +exports.MAX_VALUE_16BITS = 65535; +exports.MAX_VALUE_32BITS = -1; // well, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" is parsed as -1 + +/** + * Prettify a string read as binary. + * @param {string} str the string to prettify. + * @return {string} a pretty string. + */ +exports.pretty = function(str) { + var res = '', + code, i; + for (i = 0; i < (str || "").length; i++) { + code = str.charCodeAt(i); + res += '\\x' + (code < 16 ? "0" : "") + code.toString(16).toUpperCase(); + } + return res; +}; + +/** + * Defer the call of a function. + * @param {Function} callback the function to call asynchronously. + * @param {Array} args the arguments to give to the callback. + */ +exports.delay = function(callback, args, self) { + setImmediate(function () { + callback.apply(self || null, args || []); + }); +}; + +/** + * Extends a prototype with an other, without calling a constructor with + * side effects. Inspired by nodejs' `utils.inherits` + * @param {Function} ctor the constructor to augment + * @param {Function} superCtor the parent constructor to use + */ +exports.inherits = function (ctor, superCtor) { + var Obj = function() {}; + Obj.prototype = superCtor.prototype; + ctor.prototype = new Obj(); +}; + +/** + * Merge the objects passed as parameters into a new one. + * @private + * @param {...Object} var_args All objects to merge. + * @return {Object} a new object with the data of the others. + */ +exports.extend = function() { + var result = {}, i, attr; + for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers + for (attr in arguments[i]) { + if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === "undefined") { + result[attr] = arguments[i][attr]; + } + } + } + return result; +}; + +/** + * Transform arbitrary content into a Promise. + * @param {String} name a name for the content being processed. + * @param {Object} inputData the content to process. + * @param {Boolean} isBinary true if the content is not an unicode string + * @param {Boolean} isOptimizedBinaryString true if the string content only has one byte per character. + * @param {Boolean} isBase64 true if the string content is encoded with base64. + * @return {Promise} a promise in a format usable by JSZip. + */ +exports.prepareContent = function(name, inputData, isBinary, isOptimizedBinaryString, isBase64) { + + // if inputData is already a promise, this flatten it. + var promise = external.Promise.resolve(inputData).then(function(data) { + + + var isBlob = support.blob && (data instanceof Blob || ['[object File]', '[object Blob]'].indexOf(Object.prototype.toString.call(data)) !== -1); + + if (isBlob && typeof FileReader !== "undefined") { + return new external.Promise(function (resolve, reject) { + var reader = new FileReader(); + + reader.onload = function(e) { + resolve(e.target.result); + }; + reader.onerror = function(e) { + reject(e.target.error); + }; + reader.readAsArrayBuffer(data); + }); + } else { + return data; + } + }); + + return promise.then(function(data) { + var dataType = exports.getTypeOf(data); + + if (!dataType) { + return external.Promise.reject( + new Error("Can't read the data of '" + name + "'. Is it " + + "in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?") + ); + } + // special case : it's way easier to work with Uint8Array than with ArrayBuffer + if (dataType === "arraybuffer") { + data = exports.transformTo("uint8array", data); + } else if (dataType === "string") { + if (isBase64) { + data = base64.decode(data); + } + else if (isBinary) { + // optimizedBinaryString === true means that the file has already been filtered with a 0xFF mask + if (isOptimizedBinaryString !== true) { + // this is a string, not in a base64 format. + // Be sure that this is a correct "binary string" + data = string2binary(data); + } + } + } + return data; + }); +}; + +},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(require,module,exports){ +'use strict'; +var readerFor = require('./reader/readerFor'); +var utils = require('./utils'); +var sig = require('./signature'); +var ZipEntry = require('./zipEntry'); +var utf8 = require('./utf8'); +var support = require('./support'); +// class ZipEntries {{{ +/** + * All the entries in the zip file. + * @constructor + * @param {Object} loadOptions Options for loading the stream. + */ +function ZipEntries(loadOptions) { + this.files = []; + this.loadOptions = loadOptions; +} +ZipEntries.prototype = { + /** + * Check that the reader is on the specified signature. + * @param {string} expectedSignature the expected signature. + * @throws {Error} if it is an other signature. + */ + checkSignature: function(expectedSignature) { + if (!this.reader.readAndCheckSignature(expectedSignature)) { + this.reader.index -= 4; + var signature = this.reader.readString(4); + throw new Error("Corrupted zip or bug: unexpected signature " + "(" + utils.pretty(signature) + ", expected " + utils.pretty(expectedSignature) + ")"); + } + }, + /** + * Check if the given signature is at the given index. + * @param {number} askedIndex the index to check. + * @param {string} expectedSignature the signature to expect. + * @return {boolean} true if the signature is here, false otherwise. + */ + isSignature: function(askedIndex, expectedSignature) { + var currentIndex = this.reader.index; + this.reader.setIndex(askedIndex); + var signature = this.reader.readString(4); + var result = signature === expectedSignature; + this.reader.setIndex(currentIndex); + return result; + }, + /** + * Read the end of the central directory. + */ + readBlockEndOfCentral: function() { + this.diskNumber = this.reader.readInt(2); + this.diskWithCentralDirStart = this.reader.readInt(2); + this.centralDirRecordsOnThisDisk = this.reader.readInt(2); + this.centralDirRecords = this.reader.readInt(2); + this.centralDirSize = this.reader.readInt(4); + this.centralDirOffset = this.reader.readInt(4); + + this.zipCommentLength = this.reader.readInt(2); + // warning : the encoding depends of the system locale + // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded. + // On a windows machine, this field is encoded with the localized windows code page. + var zipComment = this.reader.readData(this.zipCommentLength); + var decodeParamType = support.uint8array ? "uint8array" : "array"; + // To get consistent behavior with the generation part, we will assume that + // this is utf8 encoded unless specified otherwise. + var decodeContent = utils.transformTo(decodeParamType, zipComment); + this.zipComment = this.loadOptions.decodeFileName(decodeContent); + }, + /** + * Read the end of the Zip 64 central directory. + * Not merged with the method readEndOfCentral : + * The end of central can coexist with its Zip64 brother, + * I don't want to read the wrong number of bytes ! + */ + readBlockZip64EndOfCentral: function() { + this.zip64EndOfCentralSize = this.reader.readInt(8); + this.reader.skip(4); + // this.versionMadeBy = this.reader.readString(2); + // this.versionNeeded = this.reader.readInt(2); + this.diskNumber = this.reader.readInt(4); + this.diskWithCentralDirStart = this.reader.readInt(4); + this.centralDirRecordsOnThisDisk = this.reader.readInt(8); + this.centralDirRecords = this.reader.readInt(8); + this.centralDirSize = this.reader.readInt(8); + this.centralDirOffset = this.reader.readInt(8); + + this.zip64ExtensibleData = {}; + var extraDataSize = this.zip64EndOfCentralSize - 44, + index = 0, + extraFieldId, + extraFieldLength, + extraFieldValue; + while (index < extraDataSize) { + extraFieldId = this.reader.readInt(2); + extraFieldLength = this.reader.readInt(4); + extraFieldValue = this.reader.readData(extraFieldLength); + this.zip64ExtensibleData[extraFieldId] = { + id: extraFieldId, + length: extraFieldLength, + value: extraFieldValue + }; + } + }, + /** + * Read the end of the Zip 64 central directory locator. + */ + readBlockZip64EndOfCentralLocator: function() { + this.diskWithZip64CentralDirStart = this.reader.readInt(4); + this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8); + this.disksCount = this.reader.readInt(4); + if (this.disksCount > 1) { + throw new Error("Multi-volumes zip are not supported"); + } + }, + /** + * Read the local files, based on the offset read in the central part. + */ + readLocalFiles: function() { + var i, file; + for (i = 0; i < this.files.length; i++) { + file = this.files[i]; + this.reader.setIndex(file.localHeaderOffset); + this.checkSignature(sig.LOCAL_FILE_HEADER); + file.readLocalPart(this.reader); + file.handleUTF8(); + file.processAttributes(); + } + }, + /** + * Read the central directory. + */ + readCentralDir: function() { + var file; + + this.reader.setIndex(this.centralDirOffset); + while (this.reader.readAndCheckSignature(sig.CENTRAL_FILE_HEADER)) { + file = new ZipEntry({ + zip64: this.zip64 + }, this.loadOptions); + file.readCentralPart(this.reader); + this.files.push(file); + } + + if (this.centralDirRecords !== this.files.length) { + if (this.centralDirRecords !== 0 && this.files.length === 0) { + // We expected some records but couldn't find ANY. + // This is really suspicious, as if something went wrong. + throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); + } else { + // We found some records but not all. + // Something is wrong but we got something for the user: no error here. + // console.warn("expected", this.centralDirRecords, "records in central dir, got", this.files.length); + } + } + }, + /** + * Read the end of central directory. + */ + readEndOfCentral: function() { + var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END); + if (offset < 0) { + // Check if the content is a truncated zip or complete garbage. + // A "LOCAL_FILE_HEADER" is not required at the beginning (auto + // extractible zip for example) but it can give a good hint. + // If an ajax request was used without responseType, we will also + // get unreadable data. + var isGarbage = !this.isSignature(0, sig.LOCAL_FILE_HEADER); + + if (isGarbage) { + throw new Error("Can't find end of central directory : is this a zip file ? " + + "If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"); + } else { + throw new Error("Corrupted zip: can't find end of central directory"); + } + + } + this.reader.setIndex(offset); + var endOfCentralDirOffset = offset; + this.checkSignature(sig.CENTRAL_DIRECTORY_END); + this.readBlockEndOfCentral(); + + + /* extract from the zip spec : + 4) If one of the fields in the end of central directory + record is too small to hold required data, the field + should be set to -1 (0xFFFF or 0xFFFFFFFF) and the + ZIP64 format record should be created. + 5) The end of central directory record and the + Zip64 end of central directory locator record must + reside on the same disk when splitting or spanning + an archive. + */ + if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) { + this.zip64 = true; + + /* + Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from + the zip file can fit into a 32bits integer. This cannot be solved : JavaScript represents + all numbers as 64-bit double precision IEEE 754 floating point numbers. + So, we have 53bits for integers and bitwise operations treat everything as 32bits. + see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators + and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5 + */ + + // should look for a zip64 EOCD locator + offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR); + if (offset < 0) { + throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); + } + this.reader.setIndex(offset); + this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR); + this.readBlockZip64EndOfCentralLocator(); + + // now the zip64 EOCD record + if (!this.isSignature(this.relativeOffsetEndOfZip64CentralDir, sig.ZIP64_CENTRAL_DIRECTORY_END)) { + // console.warn("ZIP64 end of central directory not where expected."); + this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_END); + if (this.relativeOffsetEndOfZip64CentralDir < 0) { + throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); + } + } + this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir); + this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END); + this.readBlockZip64EndOfCentral(); + } + + var expectedEndOfCentralDirOffset = this.centralDirOffset + this.centralDirSize; + if (this.zip64) { + expectedEndOfCentralDirOffset += 20; // end of central dir 64 locator + expectedEndOfCentralDirOffset += 12 /* should not include the leading 12 bytes */ + this.zip64EndOfCentralSize; + } + + var extraBytes = endOfCentralDirOffset - expectedEndOfCentralDirOffset; + + if (extraBytes > 0) { + // console.warn(extraBytes, "extra bytes at beginning or within zipfile"); + if (this.isSignature(endOfCentralDirOffset, sig.CENTRAL_FILE_HEADER)) { + // The offsets seem wrong, but we have something at the specified offset. + // So… we keep it. + } else { + // the offset is wrong, update the "zero" of the reader + // this happens if data has been prepended (crx files for example) + this.reader.zero = extraBytes; + } + } else if (extraBytes < 0) { + throw new Error("Corrupted zip: missing " + Math.abs(extraBytes) + " bytes."); + } + }, + prepareReader: function(data) { + this.reader = readerFor(data); + }, + /** + * Read a zip file and create ZipEntries. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file. + */ + load: function(data) { + this.prepareReader(data); + this.readEndOfCentral(); + this.readCentralDir(); + this.readLocalFiles(); + } +}; +// }}} end of ZipEntries +module.exports = ZipEntries; + +},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(require,module,exports){ +'use strict'; +var readerFor = require('./reader/readerFor'); +var utils = require('./utils'); +var CompressedObject = require('./compressedObject'); +var crc32fn = require('./crc32'); +var utf8 = require('./utf8'); +var compressions = require('./compressions'); +var support = require('./support'); + +var MADE_BY_DOS = 0x00; +var MADE_BY_UNIX = 0x03; + +/** + * Find a compression registered in JSZip. + * @param {string} compressionMethod the method magic to find. + * @return {Object|null} the JSZip compression object, null if none found. + */ +var findCompression = function(compressionMethod) { + for (var method in compressions) { + if (!compressions.hasOwnProperty(method)) { + continue; + } + if (compressions[method].magic === compressionMethod) { + return compressions[method]; + } + } + return null; +}; + +// class ZipEntry {{{ +/** + * An entry in the zip file. + * @constructor + * @param {Object} options Options of the current file. + * @param {Object} loadOptions Options for loading the stream. + */ +function ZipEntry(options, loadOptions) { + this.options = options; + this.loadOptions = loadOptions; +} +ZipEntry.prototype = { + /** + * say if the file is encrypted. + * @return {boolean} true if the file is encrypted, false otherwise. + */ + isEncrypted: function() { + // bit 1 is set + return (this.bitFlag & 0x0001) === 0x0001; + }, + /** + * say if the file has utf-8 filename/comment. + * @return {boolean} true if the filename/comment is in utf-8, false otherwise. + */ + useUTF8: function() { + // bit 11 is set + return (this.bitFlag & 0x0800) === 0x0800; + }, + /** + * Read the local part of a zip file and add the info in this object. + * @param {DataReader} reader the reader to use. + */ + readLocalPart: function(reader) { + var compression, localExtraFieldsLength; + + // we already know everything from the central dir ! + // If the central dir data are false, we are doomed. + // On the bright side, the local part is scary : zip64, data descriptors, both, etc. + // The less data we get here, the more reliable this should be. + // Let's skip the whole header and dash to the data ! + reader.skip(22); + // in some zip created on windows, the filename stored in the central dir contains \ instead of /. + // Strangely, the filename here is OK. + // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes + // or APPNOTE#4.4.17.1, "All slashes MUST be forward slashes '/'") but there are a lot of bad zip generators... + // Search "unzip mismatching "local" filename continuing with "central" filename version" on + // the internet. + // + // I think I see the logic here : the central directory is used to display + // content and the local directory is used to extract the files. Mixing / and \ + // may be used to display \ to windows users and use / when extracting the files. + // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394 + this.fileNameLength = reader.readInt(2); + localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir + // the fileName is stored as binary data, the handleUTF8 method will take care of the encoding. + this.fileName = reader.readData(this.fileNameLength); + reader.skip(localExtraFieldsLength); + + if (this.compressedSize === -1 || this.uncompressedSize === -1) { + throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory " + "(compressedSize === -1 || uncompressedSize === -1)"); + } + + compression = findCompression(this.compressionMethod); + if (compression === null) { // no compression found + throw new Error("Corrupted zip : compression " + utils.pretty(this.compressionMethod) + " unknown (inner file : " + utils.transformTo("string", this.fileName) + ")"); + } + this.decompressed = new CompressedObject(this.compressedSize, this.uncompressedSize, this.crc32, compression, reader.readData(this.compressedSize)); + }, + + /** + * Read the central part of a zip file and add the info in this object. + * @param {DataReader} reader the reader to use. + */ + readCentralPart: function(reader) { + this.versionMadeBy = reader.readInt(2); + reader.skip(2); + // this.versionNeeded = reader.readInt(2); + this.bitFlag = reader.readInt(2); + this.compressionMethod = reader.readString(2); + this.date = reader.readDate(); + this.crc32 = reader.readInt(4); + this.compressedSize = reader.readInt(4); + this.uncompressedSize = reader.readInt(4); + var fileNameLength = reader.readInt(2); + this.extraFieldsLength = reader.readInt(2); + this.fileCommentLength = reader.readInt(2); + this.diskNumberStart = reader.readInt(2); + this.internalFileAttributes = reader.readInt(2); + this.externalFileAttributes = reader.readInt(4); + this.localHeaderOffset = reader.readInt(4); + + if (this.isEncrypted()) { + throw new Error("Encrypted zip are not supported"); + } + + // will be read in the local part, see the comments there + reader.skip(fileNameLength); + this.readExtraFields(reader); + this.parseZIP64ExtraField(reader); + this.fileComment = reader.readData(this.fileCommentLength); + }, + + /** + * Parse the external file attributes and get the unix/dos permissions. + */ + processAttributes: function () { + this.unixPermissions = null; + this.dosPermissions = null; + var madeBy = this.versionMadeBy >> 8; + + // Check if we have the DOS directory flag set. + // We look for it in the DOS and UNIX permissions + // but some unknown platform could set it as a compatibility flag. + this.dir = this.externalFileAttributes & 0x0010 ? true : false; + + if(madeBy === MADE_BY_DOS) { + // first 6 bits (0 to 5) + this.dosPermissions = this.externalFileAttributes & 0x3F; + } + + if(madeBy === MADE_BY_UNIX) { + this.unixPermissions = (this.externalFileAttributes >> 16) & 0xFFFF; + // the octal permissions are in (this.unixPermissions & 0x01FF).toString(8); + } + + // fail safe : if the name ends with a / it probably means a folder + if (!this.dir && this.fileNameStr.slice(-1) === '/') { + this.dir = true; + } + }, + + /** + * Parse the ZIP64 extra field and merge the info in the current ZipEntry. + * @param {DataReader} reader the reader to use. + */ + parseZIP64ExtraField: function(reader) { + + if (!this.extraFields[0x0001]) { + return; + } + + // should be something, preparing the extra reader + var extraReader = readerFor(this.extraFields[0x0001].value); + + // I really hope that these 64bits integer can fit in 32 bits integer, because js + // won't let us have more. + if (this.uncompressedSize === utils.MAX_VALUE_32BITS) { + this.uncompressedSize = extraReader.readInt(8); + } + if (this.compressedSize === utils.MAX_VALUE_32BITS) { + this.compressedSize = extraReader.readInt(8); + } + if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) { + this.localHeaderOffset = extraReader.readInt(8); + } + if (this.diskNumberStart === utils.MAX_VALUE_32BITS) { + this.diskNumberStart = extraReader.readInt(4); + } + }, + /** + * Read the central part of a zip file and add the info in this object. + * @param {DataReader} reader the reader to use. + */ + readExtraFields: function(reader) { + var end = reader.index + this.extraFieldsLength, + extraFieldId, + extraFieldLength, + extraFieldValue; + + if (!this.extraFields) { + this.extraFields = {}; + } + + while (reader.index < end) { + extraFieldId = reader.readInt(2); + extraFieldLength = reader.readInt(2); + extraFieldValue = reader.readData(extraFieldLength); + + this.extraFields[extraFieldId] = { + id: extraFieldId, + length: extraFieldLength, + value: extraFieldValue + }; + } + }, + /** + * Apply an UTF8 transformation if needed. + */ + handleUTF8: function() { + var decodeParamType = support.uint8array ? "uint8array" : "array"; + if (this.useUTF8()) { + this.fileNameStr = utf8.utf8decode(this.fileName); + this.fileCommentStr = utf8.utf8decode(this.fileComment); + } else { + var upath = this.findExtraFieldUnicodePath(); + if (upath !== null) { + this.fileNameStr = upath; + } else { + // ASCII text or unsupported code page + var fileNameByteArray = utils.transformTo(decodeParamType, this.fileName); + this.fileNameStr = this.loadOptions.decodeFileName(fileNameByteArray); + } + + var ucomment = this.findExtraFieldUnicodeComment(); + if (ucomment !== null) { + this.fileCommentStr = ucomment; + } else { + // ASCII text or unsupported code page + var commentByteArray = utils.transformTo(decodeParamType, this.fileComment); + this.fileCommentStr = this.loadOptions.decodeFileName(commentByteArray); + } + } + }, + + /** + * Find the unicode path declared in the extra field, if any. + * @return {String} the unicode path, null otherwise. + */ + findExtraFieldUnicodePath: function() { + var upathField = this.extraFields[0x7075]; + if (upathField) { + var extraReader = readerFor(upathField.value); + + // wrong version + if (extraReader.readInt(1) !== 1) { + return null; + } + + // the crc of the filename changed, this field is out of date. + if (crc32fn(this.fileName) !== extraReader.readInt(4)) { + return null; + } + + return utf8.utf8decode(extraReader.readData(upathField.length - 5)); + } + return null; + }, + + /** + * Find the unicode comment declared in the extra field, if any. + * @return {String} the unicode comment, null otherwise. + */ + findExtraFieldUnicodeComment: function() { + var ucommentField = this.extraFields[0x6375]; + if (ucommentField) { + var extraReader = readerFor(ucommentField.value); + + // wrong version + if (extraReader.readInt(1) !== 1) { + return null; + } + + // the crc of the comment changed, this field is out of date. + if (crc32fn(this.fileComment) !== extraReader.readInt(4)) { + return null; + } + + return utf8.utf8decode(extraReader.readData(ucommentField.length - 5)); + } + return null; + } +}; +module.exports = ZipEntry; + +},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(require,module,exports){ +'use strict'; + +var StreamHelper = require('./stream/StreamHelper'); +var DataWorker = require('./stream/DataWorker'); +var utf8 = require('./utf8'); +var CompressedObject = require('./compressedObject'); +var GenericWorker = require('./stream/GenericWorker'); + +/** + * A simple object representing a file in the zip file. + * @constructor + * @param {string} name the name of the file + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data + * @param {Object} options the options of the file + */ +var ZipObject = function(name, data, options) { + this.name = name; + this.dir = options.dir; + this.date = options.date; + this.comment = options.comment; + this.unixPermissions = options.unixPermissions; + this.dosPermissions = options.dosPermissions; + + this._data = data; + this._dataBinary = options.binary; + // keep only the compression + this.options = { + compression : options.compression, + compressionOptions : options.compressionOptions + }; +}; + +ZipObject.prototype = { + /** + * Create an internal stream for the content of this object. + * @param {String} type the type of each chunk. + * @return StreamHelper the stream. + */ + internalStream: function (type) { + var result = null, outputType = "string"; + try { + if (!type) { + throw new Error("No output type specified."); + } + outputType = type.toLowerCase(); + var askUnicodeString = outputType === "string" || outputType === "text"; + if (outputType === "binarystring" || outputType === "text") { + outputType = "string"; + } + result = this._decompressWorker(); + + var isUnicodeString = !this._dataBinary; + + if (isUnicodeString && !askUnicodeString) { + result = result.pipe(new utf8.Utf8EncodeWorker()); + } + if (!isUnicodeString && askUnicodeString) { + result = result.pipe(new utf8.Utf8DecodeWorker()); + } + } catch (e) { + result = new GenericWorker("error"); + result.error(e); + } + + return new StreamHelper(result, outputType, ""); + }, + + /** + * Prepare the content in the asked type. + * @param {String} type the type of the result. + * @param {Function} onUpdate a function to call on each internal update. + * @return Promise the promise of the result. + */ + async: function (type, onUpdate) { + return this.internalStream(type).accumulate(onUpdate); + }, + + /** + * Prepare the content as a nodejs stream. + * @param {String} type the type of each chunk. + * @param {Function} onUpdate a function to call on each internal update. + * @return Stream the stream. + */ + nodeStream: function (type, onUpdate) { + return this.internalStream(type || "nodebuffer").toNodejsStream(onUpdate); + }, + + /** + * Return a worker for the compressed content. + * @private + * @param {Object} compression the compression object to use. + * @param {Object} compressionOptions the options to use when compressing. + * @return Worker the worker. + */ + _compressWorker: function (compression, compressionOptions) { + if ( + this._data instanceof CompressedObject && + this._data.compression.magic === compression.magic + ) { + return this._data.getCompressedWorker(); + } else { + var result = this._decompressWorker(); + if(!this._dataBinary) { + result = result.pipe(new utf8.Utf8EncodeWorker()); + } + return CompressedObject.createWorkerFrom(result, compression, compressionOptions); + } + }, + /** + * Return a worker for the decompressed content. + * @private + * @return Worker the worker. + */ + _decompressWorker : function () { + if (this._data instanceof CompressedObject) { + return this._data.getContentWorker(); + } else if (this._data instanceof GenericWorker) { + return this._data; + } else { + return new DataWorker(this._data); + } + } +}; + +var removedMethods = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"]; +var removedFn = function () { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); +}; + +for(var i = 0; i < removedMethods.length; i++) { + ZipObject.prototype[removedMethods[i]] = removedFn; +} +module.exports = ZipObject; + +},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(require,module,exports){ +(function (global){ +'use strict'; +var Mutation = global.MutationObserver || global.WebKitMutationObserver; + +var scheduleDrain; + +{ + if (Mutation) { + var called = 0; + var observer = new Mutation(nextTick); + var element = global.document.createTextNode(''); + observer.observe(element, { + characterData: true + }); + scheduleDrain = function () { + element.data = (called = ++called % 2); + }; + } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') { + var channel = new global.MessageChannel(); + channel.port1.onmessage = nextTick; + scheduleDrain = function () { + channel.port2.postMessage(0); + }; + } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) { + scheduleDrain = function () { + + // Create a + + + + + +
    + +

    index.html

    +
    + + diff --git a/docs/javadoc/overview-tree.html b/docs/javadoc/overview-tree.html index 5f92186f..1b74f1ce 100644 --- a/docs/javadoc/overview-tree.html +++ b/docs/javadoc/overview-tree.html @@ -1,36 +1,52 @@ - + -Class Hierarchy (ux API) +Class Hierarchy (core 1.19.4 API) + + + + + + + + +var pathtoroot = "./"; +var useModuleDirectories = true; +loadScripts(document, 'script'); +
    + +
    +
    +

    Class Hierarchy

    +
    +

    Interface Hierarchy

    +
    +
    +

    Enum Hierarchy

    +
    +
    + diff --git a/docs/javadoc/package-list b/docs/javadoc/package-list deleted file mode 100644 index 4be53d86..00000000 --- a/docs/javadoc/package-list +++ /dev/null @@ -1 +0,0 @@ -com.google.ar.sceneform.ux diff --git a/docs/javadoc/package-search-index.js b/docs/javadoc/package-search-index.js new file mode 100644 index 00000000..f03bf431 --- /dev/null +++ b/docs/javadoc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","url":"allpackages-index.html"},{"l":"com.google.ar.sceneform"},{"l":"com.google.ar.sceneform.animation"},{"l":"com.google.ar.sceneform.collision"},{"l":"com.google.ar.sceneform.common"},{"l":"com.google.ar.sceneform.lullmodel"},{"l":"com.google.ar.sceneform.math"},{"l":"com.google.ar.sceneform.rendering"},{"l":"com.google.ar.sceneform.resources"},{"l":"com.google.ar.sceneform.utilities"},{"l":"com.google.flatbuffers"}] \ No newline at end of file diff --git a/docs/javadoc/package-search-index.zip b/docs/javadoc/package-search-index.zip new file mode 100644 index 00000000..3db5d799 Binary files /dev/null and b/docs/javadoc/package-search-index.zip differ diff --git a/docs/javadoc/resources/glass.png b/docs/javadoc/resources/glass.png new file mode 100644 index 00000000..a7f591f4 Binary files /dev/null and b/docs/javadoc/resources/glass.png differ diff --git a/docs/javadoc/resources/x.png b/docs/javadoc/resources/x.png new file mode 100644 index 00000000..30548a75 Binary files /dev/null and b/docs/javadoc/resources/x.png differ diff --git a/docs/javadoc/script.js b/docs/javadoc/script.js index b3463569..7dc93c48 100644 --- a/docs/javadoc/script.js +++ b/docs/javadoc/script.js @@ -1,9 +1,124 @@ -function show(type) -{ +/* + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); + if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || + window.navigator.userAgent.indexOf('Edge/') > 0) { + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); + } + createElem(doc, tag, 'search.js'); + + $.get(pathtoroot + "module-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("module-search-index.json").async("text").then(function(content){ + moduleSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "package-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("package-search-index.json").async("text").then(function(content){ + packageSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "type-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("type-search-index.json").async("text").then(function(content){ + typeSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "member-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("member-search-index.json").async("text").then(function(content){ + memberSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "tag-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("tag-search-index.json").async("text").then(function(content){ + tagSearchIndex = JSON.parse(content); + }); + }); + }); + }); + if (!moduleSearchIndex) { + createElem(doc, tag, 'module-search-index.js'); + } + if (!packageSearchIndex) { + createElem(doc, tag, 'package-search-index.js'); + } + if (!typeSearchIndex) { + createElem(doc, tag, 'type-search-index.js'); + } + if (!memberSearchIndex) { + createElem(doc, tag, 'member-search-index.js'); + } + if (!tagSearchIndex) { + createElem(doc, tag, 'tag-search-index.js'); + } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(type) { count = 0; - for (var key in methods) { + for (var key in data) { var row = document.getElementById(key); - if ((methods[key] & type) != 0) { + if ((data[key] & type) !== 0) { row.style.display = ''; row.className = (count++ % 2) ? rowColor : altColor; } @@ -13,8 +128,7 @@ function show(type) updateTabs(type); } -function updateTabs(type) -{ +function updateTabs(type) { for (var value in tabs) { var sNode = document.getElementById(tabs[value][0]); var spanNode = sNode.firstChild; @@ -28,3 +142,8 @@ function updateTabs(type) } } } + +function updateModuleFrame(pFrame, cFrame) { + top.packageFrame.location = pFrame; + top.classFrame.location = cFrame; +} diff --git a/docs/javadoc/search.js b/docs/javadoc/search.js new file mode 100644 index 00000000..b773531b --- /dev/null +++ b/docs/javadoc/search.js @@ -0,0 +1,326 @@ +/* + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Types"; +var catMembers = "Members"; +var catSearchTags = "SearchTags"; +var highlight = "$&"; +var camelCaseRegexp = ""; +var secondaryMatcher = ""; +function getHighlightedText(item) { + var ccMatcher = new RegExp(camelCaseRegexp); + var label = item.replace(ccMatcher, highlight); + if (label === item) { + label = item.replace(secondaryMatcher, highlight); + } + return label; +} +function getURLPrefix(ui) { + var urlPrefix=""; + if (useModuleDirectories) { + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) { + $.each(packageSearchIndex, function(index, item) { + if (ui.item.p == item.l) { + urlPrefix = item.m + slash; + } + }); + return urlPrefix; + } else { + return urlPrefix; + } + } + return urlPrefix; +} +var watermark = 'Search'; +$(function() { + $("#search").val(''); + $("#search").prop("disabled", false); + $("#reset").prop("disabled", false); + $("#search").val(watermark).addClass('watermark'); + $("#search").blur(function() { + if ($(this).val().length == 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + $("#search").on('click keydown', function() { + if ($(this).val() == watermark) { + $(this).val('').removeClass('watermark'); + } + }); + $("#reset").click(function() { + $("#search").val(''); + $("#search").focus(); + }); + $("#search").focus(); + $("#search")[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this, + currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.l !== noResult.l && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "resultItem"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "resultItem"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + if (item.category === catModules) { + label = getHighlightedText(item.l); + } else if (item.category === catPackages) { + label = (item.m) + ? getHighlightedText(item.m + "/" + item.l) + : getHighlightedText(item.l); + } else if (item.category === catTypes) { + label = (item.p) + ? getHighlightedText(item.p + "." + item.l) + : getHighlightedText(item.l); + } else if (item.category === catMembers) { + label = getHighlightedText(item.p + "." + (item.c + "." + item.l)); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + div.html(label); + } + return li; + } +}); +$(function() { + $("#search").catcomplete({ + minLength: 1, + delay: 100, + source: function(request, response) { + var result = new Array(); + var presult = new Array(); + var tresult = new Array(); + var mresult = new Array(); + var tgresult = new Array(); + var secondaryresult = new Array(); + var displayCount = 0; + var exactMatcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term) + "$", "i"); + camelCaseRegexp = ($.ui.autocomplete.escapeRegex(request.term)).split(/(?=[A-Z])/).join("([a-z0-9_$]*?)"); + var camelCaseMatcher = new RegExp("^" + camelCaseRegexp); + secondaryMatcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); + + // Return the nested innermost name from the specified object + function nestedName(e) { + return e.l.substring(e.l.lastIndexOf(".") + 1); + } + + function concatResults(a1, a2) { + a1 = a1.concat(a2); + a2.length = 0; + return a1; + } + + if (moduleSearchIndex) { + var mdleCount = 0; + $.each(moduleSearchIndex, function(index, item) { + item.category = catModules; + if (exactMatcher.test(item.l)) { + result.push(item); + mdleCount++; + } else if (camelCaseMatcher.test(item.l)) { + result.push(item); + } else if (secondaryMatcher.test(item.l)) { + secondaryresult.push(item); + } + }); + displayCount = mdleCount; + result = concatResults(result, secondaryresult); + } + if (packageSearchIndex) { + var pCount = 0; + var pkg = ""; + $.each(packageSearchIndex, function(index, item) { + item.category = catPackages; + pkg = (item.m) + ? (item.m + "/" + item.l) + : item.l; + if (exactMatcher.test(item.l)) { + presult.push(item); + pCount++; + } else if (camelCaseMatcher.test(pkg)) { + presult.push(item); + } else if (secondaryMatcher.test(pkg)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(presult, secondaryresult)); + displayCount = (pCount > displayCount) ? pCount : displayCount; + } + if (typeSearchIndex) { + var tCount = 0; + $.each(typeSearchIndex, function(index, item) { + item.category = catTypes; + var s = nestedName(item); + if (exactMatcher.test(s)) { + tresult.push(item); + tCount++; + } else if (camelCaseMatcher.test(s)) { + tresult.push(item); + } else if (secondaryMatcher.test(item.p + "." + item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(tresult, secondaryresult)); + displayCount = (tCount > displayCount) ? tCount : displayCount; + } + if (memberSearchIndex) { + var mCount = 0; + $.each(memberSearchIndex, function(index, item) { + item.category = catMembers; + var s = nestedName(item); + if (exactMatcher.test(s)) { + mresult.push(item); + mCount++; + } else if (camelCaseMatcher.test(s)) { + mresult.push(item); + } else if (secondaryMatcher.test(item.c + "." + item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(mresult, secondaryresult)); + displayCount = (mCount > displayCount) ? mCount : displayCount; + } + if (tagSearchIndex) { + var tgCount = 0; + $.each(tagSearchIndex, function(index, item) { + item.category = catSearchTags; + if (exactMatcher.test(item.l)) { + tgresult.push(item); + tgCount++; + } else if (secondaryMatcher.test(item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(tgresult, secondaryresult)); + displayCount = (tgCount > displayCount) ? tgCount : displayCount; + } + displayCount = (displayCount > 500) ? displayCount : 500; + var counter = function() { + var count = {Modules: 0, Packages: 0, Types: 0, Members: 0, SearchTags: 0}; + var f = function(item) { + count[item.category] += 1; + return (count[item.category] <= displayCount); + }; + return f; + }(); + response(result.filter(counter)); + }, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search").empty(); + } + }, + autoFocus: true, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.l !== noResult.l) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + if (useModuleDirectories) { + url += "module-summary.html"; + } else { + url = ui.item.l + "-summary.html"; + } + } else if (ui.item.category === catPackages) { + if (ui.item.url) { + url = ui.item.url; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.url) { + url = ui.item.url; + } else if (ui.item.p === "") { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === "") { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.url) { + url += ui.item.url; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search").focus(); + } + } + }); +}); diff --git a/docs/javadoc/serialized-form.html b/docs/javadoc/serialized-form.html new file mode 100644 index 00000000..8a9ec4d2 --- /dev/null +++ b/docs/javadoc/serialized-form.html @@ -0,0 +1,200 @@ + + + + + +Serialized Form (core 1.19.4 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    +
    +
      +
    • +
      +

      Package com.google.ar.sceneform.rendering

      +
        +
      • + + +

        Class com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate extends Object implements Serializable

        +
          +
        • +

          Serialized Fields

          +
            +
          • +

            colorA

            +
            float colorA
            +
          • +
          • +

            colorB

            +
            float colorB
            +
          • +
          • +

            colorG

            +
            float colorG
            +
          • +
          • +

            colorR

            +
            float colorR
            +
          • +
          • +

            cubeMap

            +
            com.google.ar.sceneform.rendering.EnvironmentalHdrLightEstimate.CubeMapImage[] cubeMap
            +
          • +
          • +

            direction

            +
            float[] direction
            +
          • +
          • +

            relativeIntensity

            +
            float relativeIntensity
            +
          • +
          • +

            sphericalHarmonics

            +
            float[] sphericalHarmonics
            +
          • +
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    + + + diff --git a/docs/javadoc/stylesheet.css b/docs/javadoc/stylesheet.css index 98055b22..fa246765 100644 --- a/docs/javadoc/stylesheet.css +++ b/docs/javadoc/stylesheet.css @@ -1,35 +1,51 @@ -/* Javadoc style sheet */ -/* -Overall document style -*/ +/* + * Javadoc style sheet + */ @import url('resources/fonts/dejavu.css'); +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + body { background-color:#ffffff; color:#353833; font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; font-size:14px; margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; } a:link, a:visited { text-decoration:none; color:#4A6782; } -a:hover, a:focus { +a[href]:hover, a[href]:focus { text-decoration:none; color:#bb7a2a; } -a:active { - text-decoration:none; - color:#4A6782; -} a[name] { color:#353833; } -a[name]:hover { - text-decoration:none; - color:#353833; +a[name]:before, a[name]:target, a[id]:before, a[id]:target { + content:""; + display:inline-block; + position:relative; + padding-top:129px; + margin-top:-129px; } pre { font-family:'DejaVu Sans Mono', monospace; @@ -78,9 +94,16 @@ table tr td dt code { sup { font-size:8px; } + +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + /* -Document title and Copyright styles -*/ + * Styles for document title and copyright. + */ .clear { clear:both; height:0px; @@ -111,8 +134,8 @@ Document title and Copyright styles font-weight:bold; } /* -Navigation bar styles -*/ + * Styles for navigation bar. + */ .bar { background-color:#4D7A97; color:#FFFFFF; @@ -121,6 +144,15 @@ Navigation bar styles font-size:11px; margin:0; } +.navPadding { + padding-top: 107px; +} +.fixedNav { + position:fixed; + width:100%; + z-index:999; + background-color:#ffffff; +} .topNav { background-color:#4D7A97; color:#FFFFFF; @@ -170,7 +202,22 @@ ul.navList li{ padding: 5px 6px; text-transform:uppercase; } -ul.subNavList li{ +ul.navListSearch { + float:right; + margin:0 0 0 0; + padding:0; +} +ul.navListSearch li { + list-style:none; + float:right; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch li label { + position:relative; + right:-16px; +} +ul.subNavList li { list-style:none; float:left; } @@ -196,21 +243,29 @@ ul.subNavList li{ overflow:hidden; } /* -Page header and footer styles -*/ + * Styles for page header and footer. + */ .header, .footer { clear:both; margin:0 20px; padding:5px 0 0 0; } -.indexHeader { - margin:10px; +.indexNav { position:relative; + font-size:12px; + background-color:#dee3e9; +} +.indexNav ul { + margin-top:0; + padding:5px; } -.indexHeader span{ - margin-right:15px; +.indexNav ul li { + display:inline; + list-style-type:none; + padding-right:10px; + text-transform:uppercase; } -.indexHeader h1 { +.indexNav h1 { font-size:13px; } .title { @@ -232,8 +287,8 @@ Page header and footer styles font-size:13px; } /* -Heading styles -*/ + * Styles for headings. + */ div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { background-color:#dee3e9; border:1px solid #d0d9e0; @@ -254,9 +309,10 @@ ul.blockList li.blockList h2 { padding:0px 0 20px 0; } /* -Page layout container styles -*/ -.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + * Styles for page layout containers. + */ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer, +.allClassesContainer, .allPackagesContainer { clear:both; padding:10px 20px; position:relative; @@ -287,7 +343,7 @@ Page layout container styles .contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { margin:5px 0 10px 0px; font-size:14px; - font-family:'DejaVu Sans Mono',monospace; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; } .serializedFormContainer dl.nameValue dt { margin-left:1px; @@ -301,8 +357,11 @@ Page layout container styles display:inline; } /* -List styles -*/ + * Styles for lists. + */ +li.circle { + list-style:circle; +} ul.horizontal li { display:inline; font-size:0.9em; @@ -355,19 +414,22 @@ table tr td dl, table tr td dl dt, table tr td dl dd { margin-bottom:1px; } /* -Table styles -*/ -.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + * Styles for tables. + */ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary, +.requiresSummary, .packagesSummary, .providesSummary, .usesSummary { width:100%; + border-spacing:0; border-left:1px solid #EEE; border-right:1px solid #EEE; border-bottom:1px solid #EEE; } -.overviewSummary, .memberSummary { +.overviewSummary, .memberSummary, .requiresSummary, .packagesSummary, .providesSummary, .usesSummary { padding:0px; } .overviewSummary caption, .memberSummary caption, .typeSummary caption, -.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption, +.requiresSummary caption, .packagesSummary caption, .providesSummary caption, .usesSummary caption { position:relative; text-align:left; background-repeat:no-repeat; @@ -382,17 +444,31 @@ Table styles white-space:pre; } .overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, -.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.constantsSummary caption a:link, .deprecatedSummary caption a:link, +.requiresSummary caption a:link, .packagesSummary caption a:link, .providesSummary caption a:link, +.usesSummary caption a:link, .overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, -.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.requiresSummary caption a:hover, .packagesSummary caption a:hover, .providesSummary caption a:hover, +.usesSummary caption a:hover, .overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, -.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.constantsSummary caption a:active, .deprecatedSummary caption a:active, +.requiresSummary caption a:active, .packagesSummary caption a:active, .providesSummary caption a:active, +.usesSummary caption a:active, .overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, -.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { +.constantsSummary caption a:visited, .deprecatedSummary caption a:visited, +.requiresSummary caption a:visited, .packagesSummary caption a:visited, .providesSummary caption a:visited, +.usesSummary caption a:visited { color:#FFFFFF; } +.useSummary caption a:link, .useSummary caption a:hover, .useSummary caption a:active, +.useSummary caption a:visited { + color:#1f389c; +} .overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, -.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span, +.requiresSummary caption span, .packagesSummary caption span, .providesSummary caption span, +.usesSummary caption span { white-space:nowrap; padding-top:5px; padding-left:12px; @@ -404,7 +480,8 @@ Table styles border: none; height:16px; } -.memberSummary caption span.activeTableTab span { +.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, +.overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span { white-space:nowrap; padding-top:5px; padding-left:12px; @@ -415,7 +492,8 @@ Table styles background-color:#F8981D; height:16px; } -.memberSummary caption span.tableTab span { +.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, +.overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span { white-space:nowrap; padding-top:5px; padding-left:12px; @@ -426,7 +504,10 @@ Table styles background-color:#4D7A97; height:16px; } -.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, +.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, +.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab, +.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab { padding-top:0px; padding-left:0px; padding-right:0px; @@ -435,14 +516,16 @@ Table styles display:inline; } .overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, -.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd, +.requiresSummary .tabEnd, .packagesSummary .tabEnd, .providesSummary .tabEnd, .usesSummary .tabEnd { display:none; width:5px; position:relative; float:left; background-color:#F8981D; } -.memberSummary .activeTableTab .tabEnd { +.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, +.overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd { display:none; width:5px; margin-right:3px; @@ -450,66 +533,88 @@ Table styles float:left; background-color:#F8981D; } -.memberSummary .tableTab .tabEnd { +.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, +.overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd { display:none; width:5px; margin-right:3px; position:relative; background-color:#4D7A97; float:left; - +} +.rowColor th, .altColor th { + font-weight:normal; } .overviewSummary td, .memberSummary td, .typeSummary td, -.useSummary td, .constantsSummary td, .deprecatedSummary td { +.useSummary td, .constantsSummary td, .deprecatedSummary td, +.requiresSummary td, .packagesSummary td, .providesSummary td, .usesSummary td { text-align:left; padding:0px 0px 12px 10px; } -th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, -td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { vertical-align:top; padding-right:0px; padding-top:8px; padding-bottom:3px; } -th.colFirst, th.colLast, th.colOne, .constantsSummary th { +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { background:#dee3e9; text-align:left; padding:8px 3px 3px 7px; } td.colFirst, th.colFirst { - white-space:nowrap; font-size:13px; } -td.colLast, th.colLast { +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { font-size:13px; } -td.colOne, th.colOne { +.constantsSummary th, .packagesSummary th { + font-size:13px; +} +.providesSummary th.colFirst, .providesSummary th.colLast, .providesSummary td.colFirst, +.providesSummary td.colLast { + white-space:normal; font-size:13px; } .overviewSummary td.colFirst, .overviewSummary th.colFirst, -.useSummary td.colFirst, .useSummary th.colFirst, -.overviewSummary td.colOne, .overviewSummary th.colOne, +.requiresSummary td.colFirst, .requiresSummary th.colFirst, +.packagesSummary td.colFirst, .packagesSummary td.colSecond, .packagesSummary th.colFirst, .packagesSummary th, +.usesSummary td.colFirst, .usesSummary th.colFirst, +.providesSummary td.colFirst, .providesSummary th.colFirst, .memberSummary td.colFirst, .memberSummary th.colFirst, -.memberSummary td.colOne, .memberSummary th.colOne, -.typeSummary td.colFirst{ - width:25%; +.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, +.typeSummary td.colFirst, .typeSummary th.colFirst { vertical-align:top; } -td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { +.packagesSummary th.colLast, .packagesSummary td.colLast { + white-space:normal; +} +td.colFirst a:link, td.colFirst a:visited, +td.colSecond a:link, td.colSecond a:visited, +th.colFirst a:link, th.colFirst a:visited, +th.colSecond a:link, th.colSecond a:visited, +th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, +.constantValuesContainer td a:link, .constantValuesContainer td a:visited, +.allClassesContainer td a:link, .allClassesContainer td a:visited, +.allPackagesContainer td a:link, .allPackagesContainer td a:visited { font-weight:bold; } .tableSubHeadingColor { background-color:#EEEEFF; } -.altColor { +.altColor, .altColor th { background-color:#FFFFFF; } -.rowColor { +.rowColor, .rowColor th { background-color:#EEEEEF; } /* -Content styles -*/ + * Styles for contents. + */ .description pre { margin-top:0; } @@ -520,27 +625,22 @@ Content styles .docSummary { padding:0; } - ul.blockList ul.blockList ul.blockList li.blockList h3 { font-style:normal; } - div.block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; } - td.colLast div { padding-top:0px; } - - td.colLast a { padding-bottom:3px; } /* -Formatting effect styles -*/ + * Styles for formatting effect. + */ .sourceLineNo { color:green; padding:0 30px 0 0; @@ -555,20 +655,252 @@ h1.hidden { margin:3px 10px 2px 0px; color:#474747; } -.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, -.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, -.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { +.deprecatedLabel, .descfrmTypeLabel, .implementationLabel, .memberNameLabel, .memberNameLink, +.moduleLabelInPackage, .moduleLabelInType, .overrideSpecifyLabel, .packageLabelInType, +.packageHierarchyLabel, .paramLabel, .returnLabel, .seeLabel, .simpleTagLabel, +.throwsLabel, .typeNameLabel, .typeNameLink, .searchTagLink { font-weight:bold; } .deprecationComment, .emphasizedPhrase, .interfaceName { font-style:italic; } - -div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +.deprecationBlock { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecationComment, div.block div.block span.emphasizedPhrase, div.block div.block span.interfaceName { font-style:normal; } - -div.contentContainer ul.blockList li.blockList h2{ +div.contentContainer ul.blockList li.blockList h2 { padding-bottom:0px; } +/* + * Styles for IFRAME. + */ +.mainContainer { + margin:0 auto; + padding:0; + height:100%; + width:100%; + position:fixed; + top:0; + left:0; +} +.leftContainer { + height:100%; + position:fixed; + width:320px; +} +.leftTop { + position:relative; + float:left; + width:315px; + top:0; + left:0; + height:30%; + border-right:6px solid #ccc; + border-bottom:6px solid #ccc; +} +.leftBottom { + position:relative; + float:left; + width:315px; + bottom:0; + left:0; + height:70%; + border-right:6px solid #ccc; + border-top:1px solid #000; +} +.rightContainer { + position:absolute; + left:320px; + top:0; + bottom:0; + height:100%; + right:0; + border-left:1px solid #000; +} +.rightIframe { + margin:0; + padding:0; + height:100%; + right:30px; + width:100%; + overflow:visible; + margin-bottom:30px; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.resultItem { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.resultHighlight { + font-weight:bold; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:17px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.searchTagDescResult { + font-style:italic; + font-size:11px; +} +.searchTagHolderResult { + font-style:italic; + font-size:12px; +} +.searchTagResult:before, .searchTagResult:target { + color:red; +} +.moduleGraph span { + display:none; + position:absolute; +} +.moduleGraph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.methodSignature { + white-space:normal; +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} diff --git a/docs/javadoc/type-search-index.js b/docs/javadoc/type-search-index.js new file mode 100644 index 00000000..fdccca4e --- /dev/null +++ b/docs/javadoc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"com.google.ar.sceneform.lullmodel","l":"AabbDef"},{"l":"All Classes","url":"allclasses-index.html"},{"p":"com.google.ar.sceneform","l":"AnchorNode"},{"p":"com.google.ar.sceneform.utilities","l":"AndroidPreconditions"},{"p":"com.google.ar.sceneform.animation","l":"AnimatableModel"},{"p":"com.google.ar.sceneform.lullmodel","l":"ArcDef"},{"p":"com.google.ar.sceneform.utilities","l":"ArCoreVersion"},{"p":"com.google.ar.sceneform","l":"ArSceneView"},{"p":"com.google.ar.sceneform.lullmodel","l":"AxisSystem"},{"p":"com.google.ar.sceneform.lullmodel","l":"BlendShape"},{"p":"com.google.ar.sceneform.collision","l":"Box"},{"p":"com.google.ar.sceneform.utilities","l":"BufferHelper"},{"p":"com.google.ar.sceneform.rendering","l":"Light.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"LightProbe.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"Material.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"ModelRenderable.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableDefinition.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableDefinition.Submesh.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Sampler.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"Vertex.Builder"},{"p":"com.google.ar.sceneform.rendering","l":"ViewRenderable.Builder"},{"p":"com.google.ar.sceneform.utilities","l":"EnvironmentalHdrParameters.Builder"},{"p":"com.google.flatbuffers","l":"FlatBufferBuilder.ByteBufferFactory"},{"p":"com.google.ar.sceneform","l":"Camera"},{"p":"com.google.ar.sceneform.rendering","l":"CameraProvider"},{"p":"com.google.ar.sceneform.rendering","l":"CameraStream"},{"p":"com.google.ar.sceneform.utilities","l":"ChangeId"},{"p":"com.google.ar.sceneform.rendering","l":"CleanupRegistry"},{"p":"com.google.ar.sceneform.collision","l":"Collider"},{"p":"com.google.ar.sceneform.collision","l":"CollisionShape"},{"p":"com.google.ar.sceneform.collision","l":"CollisionSystem"},{"p":"com.google.ar.sceneform.lullmodel","l":"Color"},{"p":"com.google.ar.sceneform.rendering","l":"Color"},{"p":"com.google.flatbuffers","l":"Constants"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataBool"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataBytes"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataFloat"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataHashValue"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataInt"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataQuat"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataString"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataVec2"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataVec3"},{"p":"com.google.ar.sceneform.lullmodel","l":"DataVec4"},{"p":"com.google.ar.sceneform.rendering","l":"CameraStream.DepthMode"},{"p":"com.google.ar.sceneform.rendering","l":"CameraStream.DepthOcclusionMode"},{"p":"com.google.ar.sceneform.rendering","l":"DepthTexture"},{"p":"com.google.ar.sceneform.lullmodel","l":"DeviceType"},{"p":"com.google.ar.sceneform.rendering","l":"DpToMetersViewSizer"},{"p":"com.google.ar.sceneform.rendering","l":"EngineInstance"},{"p":"com.google.ar.sceneform.rendering","l":"EnvironmentalHdrLightEstimate"},{"p":"com.google.ar.sceneform.utilities","l":"EnvironmentalHdrParameters"},{"p":"com.google.ar.sceneform.rendering","l":"ExternalTexture"},{"p":"com.google.ar.sceneform.rendering","l":"FilamentEngineWrapper"},{"p":"com.google.ar.sceneform.rendering","l":"FixedHeightViewSizer"},{"p":"com.google.ar.sceneform.rendering","l":"FixedWidthViewSizer"},{"p":"com.google.flatbuffers","l":"FlatBufferBuilder"},{"p":"com.google.ar.sceneform","l":"SceneView.FrameRate"},{"p":"com.google.ar.sceneform","l":"FrameTime"},{"p":"com.google.ar.sceneform.rendering","l":"GLHelper"},{"p":"com.google.ar.sceneform.rendering","l":"LoadGltfListener.GltfLoadStage"},{"p":"com.google.ar.sceneform.rendering","l":"HeadlessEngineWrapper"},{"p":"com.google.flatbuffers","l":"FlatBufferBuilder.HeapByteBufferFactory"},{"p":"com.google.ar.sceneform","l":"HitTestResult"},{"p":"com.google.ar.sceneform.rendering","l":"ViewRenderable.HorizontalAlignment"},{"p":"com.google.ar.sceneform.rendering","l":"IEngine"},{"p":"com.google.ar.sceneform.lullmodel","l":"KeyVariantPairDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"LayoutFillOrder"},{"p":"com.google.ar.sceneform.lullmodel","l":"LayoutHorizontalAlignment"},{"p":"com.google.ar.sceneform.lullmodel","l":"LayoutVerticalAlignment"},{"p":"com.google.ar.sceneform","l":"Node.LifecycleListener"},{"p":"com.google.ar.sceneform.rendering","l":"Light"},{"p":"com.google.ar.sceneform.rendering","l":"LightInstance"},{"p":"com.google.ar.sceneform.rendering","l":"LightProbe"},{"p":"com.google.ar.sceneform.rendering","l":"LoadGltfListener"},{"p":"com.google.ar.sceneform.utilities","l":"LoadHelper"},{"p":"com.google.ar.sceneform.rendering","l":"LoadRenderableFromFilamentGltfTask"},{"p":"com.google.ar.sceneform.rendering","l":"LullModel"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Sampler.MagFilter"},{"p":"com.google.ar.sceneform.lullmodel","l":"Mat4x3"},{"p":"com.google.ar.sceneform.rendering","l":"Material"},{"p":"com.google.ar.sceneform.lullmodel","l":"MaterialDef"},{"p":"com.google.ar.sceneform.rendering","l":"MaterialFactory"},{"p":"com.google.ar.sceneform.rendering","l":"MaterialInternalDataGltfImpl"},{"p":"com.google.ar.sceneform.lullmodel","l":"MaterialTextureDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"MaterialTextureUsage"},{"p":"com.google.ar.sceneform.math","l":"MathHelper"},{"p":"com.google.ar.sceneform.math","l":"Matrix"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Sampler.MinFilter"},{"p":"com.google.ar.sceneform.animation","l":"ModelAnimation"},{"p":"com.google.ar.sceneform.animation","l":"ModelAnimator"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelIndexRange"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelInstanceDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelPipelineCollidableDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelPipelineDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelPipelineImportDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelPipelineMaterialDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelPipelineRenderableDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"ModelPipelineSkeletonDef"},{"p":"com.google.ar.sceneform.rendering","l":"ModelRenderable"},{"p":"com.google.ar.sceneform.utilities","l":"MovingAverage"},{"p":"com.google.ar.sceneform.utilities","l":"MovingAverageMillisecondsTracker"},{"p":"com.google.ar.sceneform","l":"Node"},{"p":"com.google.ar.sceneform","l":"NodeParent"},{"p":"com.google.ar.sceneform","l":"Scene.OnPeekTouchListener"},{"p":"com.google.ar.sceneform","l":"Node.OnTapListener"},{"p":"com.google.ar.sceneform","l":"Node.OnTouchListener"},{"p":"com.google.ar.sceneform","l":"Scene.OnTouchListener"},{"p":"com.google.ar.sceneform","l":"Scene.OnUpdateListener"},{"p":"com.google.ar.sceneform.lullmodel","l":"OptionalBool"},{"p":"com.google.ar.sceneform.collision","l":"Plane"},{"p":"com.google.ar.sceneform.rendering","l":"PlaneFactory"},{"p":"com.google.ar.sceneform.rendering","l":"PlaneRenderer"},{"p":"com.google.ar.sceneform.rendering","l":"PlaneRenderer.PlaneRendererMode"},{"p":"com.google.ar.sceneform.utilities","l":"Preconditions"},{"p":"com.google.ar.sceneform.rendering","l":"Renderer.PreRenderCallback"},{"p":"com.google.ar.sceneform.animation","l":"ModelAnimation.PropertyValuesHolder"},{"p":"com.google.ar.sceneform.animation","l":"ModelAnimator.PropertyValuesHolder"},{"p":"com.google.ar.sceneform.lullmodel","l":"Quat"},{"p":"com.google.ar.sceneform.math","l":"Quaternion"},{"p":"com.google.ar.sceneform.math","l":"QuaternionEvaluator"},{"p":"com.google.ar.sceneform.collision","l":"Ray"},{"p":"com.google.ar.sceneform.collision","l":"RayHit"},{"p":"com.google.ar.sceneform.lullmodel","l":"Rect"},{"p":"com.google.ar.sceneform.lullmodel","l":"Recti"},{"p":"com.google.ar.sceneform.rendering","l":"Renderable"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableDefinition"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableInstance"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableInternalFilamentAssetData"},{"p":"com.google.ar.sceneform.rendering","l":"Renderer"},{"p":"com.google.ar.sceneform.resources","l":"ResourceHolder"},{"p":"com.google.ar.sceneform.rendering","l":"ResourceManager"},{"p":"com.google.ar.sceneform.resources","l":"ResourceRegistry"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Sampler"},{"p":"com.google.ar.sceneform","l":"Scene"},{"p":"com.google.ar.sceneform","l":"Sceneform"},{"p":"com.google.ar.sceneform.utilities","l":"SceneformBufferUtils"},{"p":"com.google.ar.sceneform.rendering","l":"SceneformBundle"},{"p":"com.google.ar.sceneform","l":"SceneView"},{"p":"com.google.ar.sceneform.rendering","l":"ShapeFactory"},{"p":"com.google.ar.sceneform.resources","l":"SharedReference"},{"p":"com.google.ar.sceneform.lullmodel","l":"SkeletonDef"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableInstance.SkinningModifier"},{"p":"com.google.ar.sceneform.collision","l":"Sphere"},{"p":"com.google.flatbuffers","l":"Struct"},{"p":"com.google.ar.sceneform.rendering","l":"RenderableDefinition.Submesh"},{"p":"com.google.ar.sceneform.lullmodel","l":"SubmeshAabb"},{"p":"com.google.ar.sceneform","l":"Sun"},{"p":"com.google.flatbuffers","l":"Table"},{"p":"com.google.ar.sceneform.rendering","l":"Texture"},{"p":"com.google.ar.sceneform.lullmodel","l":"TextureDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"TextureFiltering"},{"p":"com.google.ar.sceneform.rendering","l":"TextureInternalData"},{"p":"com.google.ar.sceneform.lullmodel","l":"TextureTargetType"},{"p":"com.google.ar.sceneform.lullmodel","l":"TextureWrap"},{"p":"com.google.ar.sceneform.rendering","l":"ThreadPools"},{"p":"com.google.ar.sceneform.utilities","l":"TimeAccumulator"},{"p":"com.google.ar.sceneform","l":"TouchEventSystem"},{"p":"com.google.ar.sceneform","l":"Node.TransformChangedListener"},{"p":"com.google.ar.sceneform.common","l":"TransformProvider"},{"p":"com.google.ar.sceneform.rendering","l":"Light.Type"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Usage"},{"p":"com.google.flatbuffers","l":"Utf8"},{"p":"com.google.flatbuffers","l":"Utf8Safe"},{"p":"com.google.ar.sceneform.rendering","l":"Vertex.UvCoordinate"},{"p":"com.google.ar.sceneform.lullmodel","l":"VariantArrayDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"VariantArrayDefImpl"},{"p":"com.google.ar.sceneform.lullmodel","l":"VariantDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"VariantMapDef"},{"p":"com.google.ar.sceneform.lullmodel","l":"Vec2"},{"p":"com.google.ar.sceneform.lullmodel","l":"Vec2i"},{"p":"com.google.ar.sceneform.lullmodel","l":"Vec3"},{"p":"com.google.ar.sceneform.lullmodel","l":"Vec4"},{"p":"com.google.ar.sceneform.math","l":"Vector3"},{"p":"com.google.ar.sceneform.math","l":"Vector3Evaluator"},{"p":"com.google.ar.sceneform.rendering","l":"Vertex"},{"p":"com.google.ar.sceneform.lullmodel","l":"VertexAttribute"},{"p":"com.google.ar.sceneform.lullmodel","l":"VertexAttributeType"},{"p":"com.google.ar.sceneform.lullmodel","l":"VertexAttributeUsage"},{"p":"com.google.ar.sceneform.rendering","l":"ViewRenderable.VerticalAlignment"},{"p":"com.google.ar.sceneform.rendering","l":"ViewRenderable"},{"p":"com.google.ar.sceneform.rendering","l":"ViewSizer"},{"p":"com.google.ar.sceneform.rendering","l":"Texture.Sampler.WrapMode"}] \ No newline at end of file diff --git a/docs/javadoc/type-search-index.zip b/docs/javadoc/type-search-index.zip new file mode 100644 index 00000000..2305becd Binary files /dev/null and b/docs/javadoc/type-search-index.zip differ diff --git a/gradle.properties b/gradle.properties index 416b2b00..16235e09 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx2048M" # Maven Publish ############### GROUP=com.gorisse.thomas.sceneform -VERSION_NAME=1.19.3 +VERSION_NAME=1.19.4 POM_DESCRIPTION=Sceneform is a 3D framework with a physically based renderer that is optimized for mobile devices and that makes it easy for you to build Augmented Reality (AR) apps without requiring OpenGL or Unity. POM_URL=https://github.com/thomasgorisse/sceneform-android-sdk POM_SCM_URL=https://github.com/thomasgorisse/sceneform-android-sdk diff --git a/sceneform/build.gradle b/sceneform/build.gradle index a0af9750..5529fca6 100644 --- a/sceneform/build.gradle +++ b/sceneform/build.gradle @@ -5,8 +5,8 @@ android { defaultConfig { minSdkVersion 24 targetSdkVersion 30 - versionCode 13 - versionName "1.19.3" + versionCode 14 + versionName "1.19.4" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -25,6 +25,6 @@ dependencies { api project(":ux") } -if (project.hasProperty('mavenCentralRepositoryUsername') && project.hasProperty('mavenCentralRepositoryPassword')) { -// apply plugin: "com.vanniktech.maven.publish" +if (project.hasProperty('mavenCentralUsername') && project.hasProperty('mavenCentralPassword')) { + apply plugin: "com.vanniktech.maven.publish" } \ No newline at end of file diff --git a/ux/build.gradle b/ux/build.gradle index e962bd60..280fda0a 100644 --- a/ux/build.gradle +++ b/ux/build.gradle @@ -6,8 +6,8 @@ android { // Sceneform requires minSdkVersion >= 24. minSdkVersion 24 targetSdkVersion 30 - versionCode 13 - versionName "1.19.3" + versionCode 14 + versionName "1.19.4" } compileOptions { // Sceneform libraries use language constructs from Java 8. @@ -31,6 +31,6 @@ dependencies { implementation 'com.google.android.material:material:1.3.0' } -if (project.hasProperty('mavenCentralRepositoryUsername') && project.hasProperty('mavenCentralRepositoryPassword')) { -// apply plugin: "com.vanniktech.maven.publish" +if (project.hasProperty('mavenCentralUsername') && project.hasProperty('mavenCentralPassword')) { + apply plugin: "com.vanniktech.maven.publish" } \ No newline at end of file