Skip to main content
Practitioner ⭐️
February 8, 2023
Solved

Learn Cognite 3D Model

  • February 8, 2023
  • 27 replies
  • 451 views

Learn Cognite 3d model, focus object, fit camera, search assets highlight object etc..

    Best answer by Lars Moastuen

    To focus at a clicked object in Reveal, you can do

    1. Get “Point intersection with the object” using Cognite3DViewer.getIntersectionFromPixel(offsetX, offsetY).
    2. Create a bounding box around intersection point like

      const boundingBox = new THREE.Box3();
      boundingBox.setFromCenterAndSize(intersection.point, new THREE.Vector3(1, 1, 1));
    3.  Use this bounding box in Cognite3DViewer.fitCameraToBoundingBox()
      viewer.fitCameraToBoundingBox(boundingBox, 250);

       

    Note that rather than using bounding box directly from the CDF API, it’s recommended to use https://cognitedata.github.io/reveal-docs/docs/api/classes/cognite_reveal.CogniteCadModel#getboundingboxbynodeid to get bounding box for a given node as this accounts for any transformation active on the model.

    27 replies

    Practitioner ⭐️
    February 8, 2023
    1. How to search object through assets ?
    2. How to focus object?

     

    Practitioner ⭐️
    February 8, 2023

    How to use fitCameraToBoundingBox method? please share some info.

    https://cognitedata.github.io/reveal-docs/docs/api/classes/cognite_reveal.DefaultCameraManager

    Practitioner ⭐️⭐️⭐️
    February 8, 2023

    To focus at a clicked object in Reveal, you can do

    1. Get “Point intersection with the object” using Cognite3DViewer.getIntersectionFromPixel(offsetX, offsetY).
    2. Create a bounding box around intersection point like

      const boundingBox = new THREE.Box3();
      boundingBox.setFromCenterAndSize(intersection.point, new THREE.Vector3(1, 1, 1));
    3.  Use this bounding box in Cognite3DViewer.fitCameraToBoundingBox()
      viewer.fitCameraToBoundingBox(boundingBox, 250);

       

    Lars Moastuen
    Expert ⭐️⭐️⭐️⭐️
    Expert ⭐️⭐️⭐️⭐️
    February 8, 2023

    To focus at a clicked object in Reveal, you can do

    1. Get “Point intersection with the object” using Cognite3DViewer.getIntersectionFromPixel(offsetX, offsetY).
    2. Create a bounding box around intersection point like

      const boundingBox = new THREE.Box3();
      boundingBox.setFromCenterAndSize(intersection.point, new THREE.Vector3(1, 1, 1));
    3.  Use this bounding box in Cognite3DViewer.fitCameraToBoundingBox()
      viewer.fitCameraToBoundingBox(boundingBox, 250);

       

    Note that rather than using bounding box directly from the CDF API, it’s recommended to use https://cognitedata.github.io/reveal-docs/docs/api/classes/cognite_reveal.CogniteCadModel#getboundingboxbynodeid to get bounding box for a given node as this accounts for any transformation active on the model.

    Lars Moastuen (Software Engineer, Atlas AI)
    Practitioner ⭐️
    February 9, 2023

    thank you so mush, its working

    Practitioner ⭐️
    February 9, 2023
    Practitioner ⭐️⭐️⭐️
    February 9, 2023

    https://cognitedata.github.io/reveal-docs/docs/examples/click-reactions-cad

     

    How to enable and disable mouse click event?

     

    The documentation page you referred https://cognitedata.github.io/reveal-docs/docs/examples/click-reactions-cad/ shows how to enable mouse click event “viewer.on(‘click’, callbackFn)”, to disable, unsubscribe the event using “viewer.off(‘click’, callbackFn)”

    Practitioner ⭐️
    February 10, 2023
    Practitioner ⭐️⭐️⭐️
    February 10, 2023

    Hey, seems to be a small bug in our documentation. You need to await the viewer.add360ImageSet(...) method as it returns a promise.

    Practitioner ⭐️
    February 10, 2023

    I add await but again error comming.