All Downloads are FREE. Search and download functionalities are using the official Maven repository.

us.ihmc.simulationconstructionset.physics.CollisionShape Maven / Gradle / Ivy

There is a newer version: 0.25.2
Show newest version
package us.ihmc.simulationconstructionset.physics;

import us.ihmc.euclid.geometry.BoundingBox3D;
import us.ihmc.euclid.transform.RigidBodyTransform;
import us.ihmc.robotics.robotDescription.CollisionMaskHolder;

/**
 * Object containing collision data for a specific instance of a shape.
 */
public interface CollisionShape extends CollisionMaskHolder
{
   /**
    * Returns true if the shape is not mobile and part of the environment.
    */
   public abstract boolean isGround();

   /**
    * Set whether or not this collision shape is not mobile and part of the environment.
    * 
    * @param isGround
    */
   public abstract void setIsGround(boolean isGround);

   //   /**
   //    * Returns the distance a point is from the surface of the shape.  Positive values are outside and negative values are inside.
   //    */
   //   public double distance(double x, double y, double z);

   public abstract void getTransformToWorld(RigidBodyTransform transformToWorldToPack);

   public abstract void setTransformToWorld(RigidBodyTransform transformToWorld);

   public abstract void computeTransformedCollisionShape();

   /**
    * Returns a description of the shape. Multiple {@link CollisionShape} can have the same
    * description.
    */
   public abstract CollisionShapeDescription getCollisionShapeDescription();

   public abstract CollisionShapeDescription getTransformedCollisionShapeDescription();

   public abstract void getBoundingBox(BoundingBox3D boundingBoxToPack);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy