congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
JavaFXMultiColorMeshBuilder.addPolygon
Code IndexAdd Tabnine to your IDE (free)

How to use
addPolygon
method
in
us.ihmc.javaFXToolkit.shapes.JavaFXMultiColorMeshBuilder

Best Java code snippets using us.ihmc.javaFXToolkit.shapes.JavaFXMultiColorMeshBuilder.addPolygon (Showing top 7 results out of 315)

origin: us.ihmc/robot-environment-awareness-visualizers

private Node createConvexPolygonGraphics(PlanarRegion data)
{
 List<ConvexPolygon2D> convexPolygons = new ArrayList<>();
 for (int i = 0; i < data.getNumberOfConvexPolygons(); i++)
   convexPolygons.add(data.getConvexPolygon(i));
 JavaFXMultiColorMeshBuilder meshBuilder = new JavaFXMultiColorMeshBuilder(new TextureColorAdaptivePalette(64));
 int regionId = data.getRegionId();
 RigidBodyTransform rigidBodyTransform = new RigidBodyTransform();
 data.getTransformToWorld(rigidBodyTransform);
 Color regionColor = OcTreeMeshBuilder.getRegionColor(regionId);
 for (int i = 0; i < convexPolygons.size(); i++)
 {
   ConvexPolygon2D convexPolygon = convexPolygons.get(i);
   Color color = Color.hsb(regionColor.getHue(), 0.9, 0.5 + 0.5 * ((double) i / (double) convexPolygons.size()));
   meshBuilder.addPolygon(rigidBodyTransform, convexPolygon, color);
 }
 MeshView meshView = new MeshView(meshBuilder.generateMesh());
 meshView.setMaterial(meshBuilder.generateMaterial());
 return meshView;
}
origin: us.ihmc/robot-environment-awareness-visualizers

private Node createConvexDecompositionGraphics(PlanarRegionSegmentationRawData rawData,
                       ConcaveHullFactoryResult concaveHullFactoryResult)
{
 ConcaveHullCollection concaveHullCollection = concaveHullFactoryResult.getConcaveHullCollection();
 double depthThreshold = polygonizerParameters.getDepthThreshold();
 List<ConvexPolygon2D> convexPolygons = new ArrayList<>();
 ConcaveHullDecomposition.recursiveApproximateDecomposition(concaveHullCollection, depthThreshold, convexPolygons);
 JavaFXMultiColorMeshBuilder meshBuilder = new JavaFXMultiColorMeshBuilder(new TextureColorAdaptivePalette(64));
 int regionId = rawData.getRegionId();
 RigidBodyTransform rigidBodyTransform = rawData.getTransformFromLocalToWorld();
 Color regionColor = OcTreeMeshBuilder.getRegionColor(regionId);
 for (int i = 0; i < convexPolygons.size(); i++)
 {
   ConvexPolygon2D convexPolygon = convexPolygons.get(i);
   Color color = Color.hsb(regionColor.getHue(), 0.9, 0.5 + 0.5 * ((double) i / (double) convexPolygons.size()));
   meshBuilder.addPolygon(rigidBodyTransform, convexPolygon, color);
 }
 MeshView meshView = new MeshView(meshBuilder.generateMesh());
 meshView.setMaterial(meshBuilder.generateMaterial());
 return meshView;
}
origin: us.ihmc/ihmc-footstep-planning-visualizers

private void processOccupancyMapMessage(FootstepPlannerOccupancyMapMessage message)
{
 palette.clearPalette();
 JavaFXMultiColorMeshBuilder meshBuilder = new JavaFXMultiColorMeshBuilder(palette);
 Object<FootstepPlannerCellMessage> occupiedCells = message.getOccupiedCells();
 for (int i = 0; i < occupiedCells.size(); i++)
 {
   FootstepPlannerCellMessage cell = occupiedCells.get(i);
   double x = cell.getXIndex() * FootstepNode.gridSizeXY;
   double y = cell.getYIndex() * FootstepNode.gridSizeXY;
   double z = getHeightAtPoint(x, y) + nodeOffsetZ;
   RigidBodyTransform transform = new RigidBodyTransform();
   transform.setTranslation(x, y, z);
   if (cell.getNodeIsValid())
    meshBuilder.addPolygon(transform, cellPolygon, validCellColor);
   else
    meshBuilder.addPolygon(transform, cellPolygon, rejectedCellColor);
 }
 footstepGraphToRender.set(new Pair<>(meshBuilder.generateMesh(), meshBuilder.generateMaterial()));
}
origin: us.ihmc/ihmc-footstep-planning-visualizers

private synchronized void processFootstepPath(FootstepPlan plan)
{
 meshBuilder.clear();
 SideDependentList<Color> colors = solutionWasReceived.get() ? solutionFootstepColors : intermediateFootstepColors;
 FramePose3D footPose = new FramePose3D();
 RigidBodyTransform transformToWorld = new RigidBodyTransform();
 ConvexPolygon2D foothold = new ConvexPolygon2D();
 for (int i = 0; i < plan.getNumberOfSteps(); i++)
 {
   SimpleFootstep footstep = plan.getFootstep(i);
   Color regionColor = colors.get(footstep.getRobotSide());
   footstep.getSoleFramePose(footPose);
   footPose.get(transformToWorld);
   transformToWorld.appendTranslation(0.0, 0.0, 0.01);
   if (footstep.hasFoothold())
    footstep.getFoothold(foothold);
   else
    foothold.set(defaultFootPolygon);
   Point2D[] vertices = new Point2D[foothold.getNumberOfVertices()];
   for (int j = 0; j < vertices.length; j++)
   {
    vertices[j] = new Point2D(foothold.getVertex(j));
   }
   meshBuilder.addMultiLine(transformToWorld, vertices, 0.01, regionColor, true);
   meshBuilder.addPolygon(transformToWorld, foothold, regionColor);
 }
 meshReference.set(new Pair<>(meshBuilder.generateMesh(), meshBuilder.generateMaterial()));
}
origin: us.ihmc/robot-environment-awareness

private Pair<Mesh, Material> generateMeshAndMaterial(PlanarRegionsListMessage newMessage)
{
 meshBuilder.clear();
 double lineWidth = 0.01;
 RigidBodyTransform transformToWorld = new RigidBodyTransform();
 PlanarRegionsList planarRegionsList = PlanarRegionMessageConverter.convertToPlanarRegionsList(newMessage);
 for (int regionIndex = 0; regionIndex < planarRegionsList.getNumberOfPlanarRegions(); regionIndex++)
 {
   PlanarRegion planarRegion = planarRegionsList.getPlanarRegion(regionIndex);
   int regionId = planarRegion.getRegionId();
   Color regionColor = getRegionColor(regionId);
   planarRegion.getTransformToWorld(transformToWorld);
   meshBuilder.addMultiLine(transformToWorld, planarRegion.getConcaveHull(), lineWidth, regionColor, true);
   for (int polygonIndex = 0; polygonIndex < planarRegion.getNumberOfConvexPolygons(); polygonIndex++)
   {
    ConvexPolygon2D convexPolygon2d = planarRegion.getConvexPolygon(polygonIndex);
    regionColor = Color.hsb(regionColor.getHue(), 0.9, 0.5 + 0.5 * ((double) polygonIndex / (double) planarRegion.getNumberOfConvexPolygons()));
    meshBuilder.addPolygon(transformToWorld, convexPolygon2d, regionColor);
   }
 }
 Material material = meshBuilder.generateMaterial();
 Mesh mesh = meshBuilder.generateMesh();
 return new Pair<>(mesh, material);
}
origin: us.ihmc/robot-environment-awareness-visualizers

private Pair<Mesh, Material> generateMeshAndMaterial(PlanarRegionsListMessage newMessage)
{
 meshBuilder.clear();
 double lineWidth = 0.01;
 RigidBodyTransform transformToWorld = new RigidBodyTransform();
 PlanarRegionsList planarRegionsList = PlanarRegionMessageConverter.convertToPlanarRegionsList(newMessage);
 for (int regionIndex = 0; regionIndex < planarRegionsList.getNumberOfPlanarRegions(); regionIndex++)
 {
   PlanarRegion planarRegion = planarRegionsList.getPlanarRegion(regionIndex);
   int regionId = planarRegion.getRegionId();
   Color regionColor = getRegionColor(regionId);
   planarRegion.getTransformToWorld(transformToWorld);
   meshBuilder.addMultiLine(transformToWorld, planarRegion.getConcaveHull(), lineWidth, regionColor, true);
   for (int polygonIndex = 0; polygonIndex < planarRegion.getNumberOfConvexPolygons(); polygonIndex++)
   {
    ConvexPolygon2D convexPolygon2d = planarRegion.getConvexPolygon(polygonIndex);
    regionColor = Color.hsb(regionColor.getHue(), 0.9, 0.5 + 0.5 * ((double) polygonIndex / (double) planarRegion.getNumberOfConvexPolygons()));
    meshBuilder.addPolygon(transformToWorld, convexPolygon2d, regionColor);
   }
 }
 Material material = meshBuilder.generateMaterial();
 Mesh mesh = meshBuilder.generateMesh();
 return new Pair<>(mesh, material);
}
origin: us.ihmc/ihmc-footstep-planning-visualizers

private void processFootMesh(FootstepNode node, FootstepNodeSnapData snapData, boolean valid)
{
 meshBuilder.clear();
 RigidBodyTransform planarTransformToWorld = new RigidBodyTransform();
 FootstepNodeTools.getNodeTransform(node, planarTransformToWorld);
 RigidBodyTransform snappedTransformToWorld = new RigidBodyTransform();
 ConvexPolygon2D foothold = snapData.getCroppedFoothold();
 FootstepNodeTools.getSnappedNodeTransform(node, snapData.getSnapTransform(), snappedTransformToWorld);
 snappedTransformToWorld.appendTranslation(0.0, 0.0, 0.01);
 planarTransformToWorld.setTranslationZ(snappedTransformToWorld.getTranslationZ() + 0.1);
 Color regionColor = valid ? Color.GREEN : Color.RED;
 regionColor = Color.hsb(regionColor.getHue(), 0.9, 1.0);
 Point2D[] vertices = new Point2D[foothold.getNumberOfVertices()];
 for (int j = 0; j < vertices.length; j++)
 {
   vertices[j] = new Point2D(foothold.getVertex(j));
 }
 meshBuilder.addMultiLine(snappedTransformToWorld, vertices, 0.01, regionColor, true);
 meshBuilder.addPolygon(snappedTransformToWorld, foothold, regionColor);
 // TODO add mesh of planar footstep
 meshView.setOpacity(0.9);
 meshView.setMesh(meshBuilder.generateMesh());
 meshView.setMaterial(meshBuilder.generateMaterial());
}
us.ihmc.javaFXToolkit.shapesJavaFXMultiColorMeshBuilderaddPolygon

Javadoc

Add a 2D polygon to this builder.

Popular methods of JavaFXMultiColorMeshBuilder

  • <init>
    Creates an empty mesh builder given a texture color palette to use.
  • generateMaterial
  • generateMesh
  • addLine
    Add a 3D line to this builder.
  • addMesh
    Rotates, translates, then combines the given mesh with the mesh contained in this builder.
  • addMultiLine
    Add a series of connected 3D lines to this builder.
  • clear
    Clears the meshes contained in this builder.
  • addCone
    Add a cone to this builder. Its axis is aligned with the z-axis and its top is the vertex with the h
  • addCube
    Add a cube to this builder.
  • addCylinder
    Add a cylinder to this builder. Its axis is aligned with the z-axis in its local coordinate system.
  • addBox
    Add a box to this builder.
  • setColor
  • addBox,
  • setColor,
  • addPolyon,
  • addTetrahedron

Popular in Java

  • Making http requests using okhttp
  • getOriginalFilename (MultipartFile)
    Return the original filename in the client's filesystem.This may contain path information depending
  • getResourceAsStream (ClassLoader)
  • compareTo (BigDecimal)
  • ResultSet (java.sql)
    An interface for an object which represents a database table entry, returned as the result of the qu
  • Hashtable (java.util)
    A plug-in replacement for JDK1.5 java.util.Hashtable. This version is based on org.cliffc.high_scale
  • CountDownLatch (java.util.concurrent)
    A synchronization aid that allows one or more threads to wait until a set of operations being perfor
  • JarFile (java.util.jar)
    JarFile is used to read jar entries and their associated data from jar files.
  • IOUtils (org.apache.commons.io)
    General IO stream manipulation utilities. This class provides static utility methods for input/outpu
  • Logger (org.apache.log4j)
    This is the central class in the log4j package. Most logging operations, except configuration, are d
  • Top plugins for Android Studio
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now