gpt4 book ai didi

us.ihmc.robotics.math.frames.YoFrameConvexPolygon2d类的使用及代码示例

转载 作者:知者 更新时间:2024-03-15 06:38:49 27 4
gpt4 key购买 nike

本文整理了Java中us.ihmc.robotics.math.frames.YoFrameConvexPolygon2d类的一些代码示例,展示了YoFrameConvexPolygon2d类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YoFrameConvexPolygon2d类的具体详情如下:
包路径:us.ihmc.robotics.math.frames.YoFrameConvexPolygon2d
类名称:YoFrameConvexPolygon2d

YoFrameConvexPolygon2d介绍

暂无

代码示例

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public CaptureRegionVisualizer(OneStepCaptureRegionCalculator captureRegionCalculator, YoGraphicsListRegistry yoGraphicsListRegistry,
   YoVariableRegistry parentRegistry)
{
 this.captureRegionCalculator = captureRegionCalculator;
 yoCaptureRegionPolygon = new YoFrameConvexPolygon2d(caption, "", worldFrame, 30, registry);
 YoArtifactPolygon dynamicGraphicYoPolygonArtifact = new YoArtifactPolygon(caption, yoCaptureRegionPolygon, color, false);
 yoGraphicsListRegistry.registerArtifact(getClass().getSimpleName(), dynamicGraphicYoPolygonArtifact);
 parentRegistry.addChild(registry);
}

代码示例来源:origin: us.ihmc/IHMCGraphicsDescription

public void updateConvexPolygon2d(ConvexPolygon2d convexPolygon2d)
{
 yoFrameConvexPolygon2d.setConvexPolygon2d(convexPolygon2d);
 update();
}

代码示例来源:origin: us.ihmc/IHMCGraphicsDescription

public void updateConvexPolygon2d(FrameConvexPolygon2d frameConvexPolygon2d)
{
 yoFrameConvexPolygon2d.setFrameConvexPolygon2d(frameConvexPolygon2d);
 update();
}

代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit

public void clearAndHide()
{
 hide();
 setToNaN();
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

private void visualize()
{
 supportPolygonViz.setFrameConvexPolygon2d(supportPolygonInWorld);
 for (RobotSide robotSide : RobotSide.values)
 {
   YoFrameConvexPolygon2d footPolygonViz = footPolygonsViz.get(robotSide);
   FrameConvexPolygon2d footPolygon = footPolygonsInWorldFrame.get(robotSide);
   if (footPolygon.isEmpty())
    footPolygonViz.hide();
   else
    footPolygonViz.setFrameConvexPolygon2d(footPolygon);
 }
}

代码示例来源:origin: us.ihmc/IHMCGraphicsDescription

@Override
public void update()
{
 if (yoFrameConvexPolygon2d.getHasChangedAndReset())
 {
   instruction.setMesh(MeshDataGenerator.ExtrudedPolygon(yoFrameConvexPolygon2d.getConvexPolygon2d(), height));
 }
}

代码示例来源:origin: us.ihmc/IHMCFootstepPlanning

leftFootstepStart = new YoFrameConvexPolygon2d("leftFootstepStart", worldFrame, maxNumberOfVertices, registry);
rightFootstepStart = new YoFrameConvexPolygon2d("rightFootstepStart", worldFrame, maxNumberOfVertices, registry);
leftFootstepGoal = new YoFrameConvexPolygon2d("leftFootstepGoal", worldFrame, maxNumberOfVertices, registry);
rightFootstepGoal = new YoFrameConvexPolygon2d("rightFootstepGoal", worldFrame, maxNumberOfVertices, registry);
leftFootstepUnderConsideration = new YoFrameConvexPolygon2d("leftFootstepUnderConsideration", worldFrame, maxNumberOfVertices, registry);
rightFootstepUnderConsideration = new YoFrameConvexPolygon2d("rightFootstepUnderConsideration", worldFrame, maxNumberOfVertices, registry);
leftAcceptedFootstep = new YoFrameConvexPolygon2d("leftAcceptedFootstep", worldFrame, maxNumberOfVertices, registry);
rightAcceptedFootstep = new YoFrameConvexPolygon2d("rightAcceptedFootstep", worldFrame, maxNumberOfVertices, registry);
leftRejectedFootstep = new YoFrameConvexPolygon2d("leftRejectedFootstep", worldFrame, maxNumberOfVertices, registry);
rightRejectedFootstep = new YoFrameConvexPolygon2d("rightRejectedFootstep", worldFrame, maxNumberOfVertices, registry);
leftFootstepStart.setConvexPolygon2d(leftFootInSoleFrame);
rightFootstepStart.setConvexPolygon2d(leftFootInSoleFrame);
leftFootstepGoal.setConvexPolygon2d(leftFootInSoleFrame);
rightFootstepGoal.setConvexPolygon2d(rightFootInSoleFrame);
leftFootstepUnderConsideration.setConvexPolygon2d(leftFootInSoleFrame);
rightFootstepUnderConsideration.setConvexPolygon2d(rightFootInSoleFrame);
leftAcceptedFootstep.setConvexPolygon2d(leftFootInSoleFrame);
rightAcceptedFootstep.setConvexPolygon2d(rightFootInSoleFrame);
leftRejectedFootstep.setConvexPolygon2d(leftFootInSoleFrame);
rightRejectedFootstep.setConvexPolygon2d(rightFootInSoleFrame);
  YoFrameConvexPolygon2d leftFootstepSolvedPlan = new YoFrameConvexPolygon2d("leftFootstepSolvedPlan" + i, worldFrame, maxNumberOfVertices, registry);
  leftFootstepSolvedPlan.setConvexPolygon2d(leftFootInSoleFrame);
  YoFrameConvexPolygon2d rightFootstepSolvedPlan = new YoFrameConvexPolygon2d("rightFootstepSolvedPlan" + i, worldFrame, maxNumberOfVertices, registry);
  rightFootstepSolvedPlan.setConvexPolygon2d(rightFootInSoleFrame);

代码示例来源:origin: us.ihmc/IHMCGraphicsDescription

public YoGraphicPolygon(String name, YoFrameConvexPolygon2d yoFrameConvexPolygon2d, YoFramePoint framePoint, YoFrameOrientation orientation, double scale, double height, AppearanceDefinition appearance)
{
 super(name, framePoint, orientation, scale);
 if (yoFrameConvexPolygon2d.getNumberOfVertices() <= 0)
   yoFrameConvexPolygon2d.setConvexPolygon2d(new ConvexPolygon2d(new Point2d[] {new Point2d()}));
 this.yoFrameConvexPolygon2d = yoFrameConvexPolygon2d;
 this.appearance = appearance;
 this.height = height;
 graphics3dObject = new Graphics3DObject();
 graphics3dObject.setChangeable(true);
 ConvexPolygon2d convexPolygon2d = yoFrameConvexPolygon2d.getConvexPolygon2d();
 MeshDataHolder meshDataHolder = MeshDataGenerator.ExtrudedPolygon(convexPolygon2d, height);
 instruction = new Graphics3DAddMeshDataInstruction(meshDataHolder, appearance);
 graphics3dObject.addInstruction(instruction);
}

代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit

public void setConvexPolygon2d(List<FramePoint> framePoints)
{
 if (framePoints == null)
 {
   hide();
   setToNaN();
   return;
 }
 try
 {
   convexPolygon2dForWriting.clear(referenceFrame);
   convexPolygon2dForWriting.setAndUpdate(framePoints);
   getYoValuesFromFrameConvexPolygon2d();
 }
 catch (Exception e)
 {
   System.err.println("In YoFrameConvexPolygon2d.java: " + e.getClass().getSimpleName() + " while calling setConvexPolygon2d(List<FramePoint>).");
 }
}

代码示例来源:origin: us.ihmc/IHMCGraphicsDescription

@Override
public void draw(Graphics2DAdapter graphics)
{
 graphics.setColor(color);
 graphics.setStroke(stroke);
 convexPolygon.getFrameConvexPolygon2d().get(tempConvexPolygon);
 if (fill)
 {
   graphics.drawPolygonFilled(tempConvexPolygon);
 }
 else
 {
   graphics.drawPolygon(tempConvexPolygon);
 }
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void hide()
{
 yoNextFootstepPolygon.hide();
}

代码示例来源:origin: us.ihmc/IHMCHumanoidBehaviors

private void updateCapturePointDistanceToSupportPolygon()
{
 yoCapturePoint.get(icp);
 ConvexPolygon2d supportPolygon = yoSupportPolygon.getConvexPolygon2d();
 double distanceToClosestEdgeOfSupportPolygon = computeDistanceToClosestEdge(icp, supportPolygon);
 minIcpDistanceToSupportPolygon.set(distanceToClosestEdgeOfSupportPolygon);
}

代码示例来源:origin: us.ihmc/IHMCHumanoidRobotics

public SingleFootstepVisualizer(RobotSide robotSide, int maxContactPoints, YoVariableRegistry registry, YoGraphicsListRegistry yoGraphicsListRegistry)
{
 Integer index = indices.get(robotSide);
 String namePrefix = robotSide.getLowerCaseName() + "Foot" + index;
 YoGraphicsList yoGraphicsList = new YoGraphicsList(namePrefix);
 this.robotSide = robotSide;
 ArrayList<Point2d> polyPoints = new ArrayList<Point2d>();
 yoContactPoints = new YoFramePoint[maxContactPoints];
 for (int i = 0; i < maxContactPoints; i++)
 {
   yoContactPoints[i] = new YoFramePoint(namePrefix + "ContactPoint" + i, ReferenceFrame.getWorldFrame(), registry);
   yoContactPoints[i].set(0.0, 0.0, -1.0);
   YoGraphicPosition baseControlPointViz = new YoGraphicPosition(namePrefix + "Point" + i, yoContactPoints[i], 0.01, YoAppearance.Blue());
   yoGraphicsList.add(baseControlPointViz);
   polyPoints.add(new Point2d());
 }
 footPolygon = new YoFrameConvexPolygon2d(namePrefix + "yoPolygon", "", ReferenceFrame.getWorldFrame(), maxContactPoints, registry);
 footPolygon.setConvexPolygon2d(new ConvexPolygon2d(polyPoints));
 soleFramePose = new YoFramePose(namePrefix + "polygonPose", "", ReferenceFrame.getWorldFrame(), registry);
 soleFramePose.setXYZ(0.0, 0.0, -1.0);
 footPolygonViz = new YoGraphicPolygon(namePrefix + "graphicPolygon", footPolygon, soleFramePose, 1.0, footPolygonAppearances.get(robotSide));
 yoGraphicsList.add(footPolygonViz);
 if (yoGraphicsListRegistry != null)
 {
   yoGraphicsListRegistry.registerYoGraphicsList(yoGraphicsList);
   yoGraphicsListRegistry.registerGraphicsUpdatableToUpdateInAPlaybackListener(footPolygonViz);
 }
 index++;
 indices.set(robotSide, index);
}

代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit

public void setConvexPolygon2d(FramePoint2d[] framePoints)
{
 if (framePoints == null)
 {
   hide();
   setToNaN();
   return;
 }
 try
 {
   convexPolygon2dForWriting.clear(referenceFrame);
   convexPolygon2dForWriting.setAndUpdate(framePoints);
   getYoValuesFromFrameConvexPolygon2d();
 }
 catch (Exception e)
 {
   System.err.println("In YoFrameConvexPolygon2d.java: " + e.getClass().getSimpleName() + " while calling setConvexPolygon2d(List<FramePoint>).");
 }
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

private void doNothing()
{
 footholdState.set(PartialFootholdState.FULL);
 yoUnsafePolygon.hide();
 shrunkFootPolygonInWorld.setIncludingFrame(shrunkFootPolygon);
 shrunkFootPolygonInWorld.changeFrameAndProjectToXYPlane(worldFrame);
 yoShrunkFootPolygon.setFrameConvexPolygon2d(shrunkFootPolygonInWorld);
 unsafeArea.set(0.0);
}

代码示例来源:origin: us.ihmc/IHMCHumanoidBehaviors

private void sequenceShiftWeight()
{
 FramePoint2d center = new FramePoint2d(midFeetZUpFrame);
 FrameConvexPolygon2d supportPolygon = new FrameConvexPolygon2d(yoSupportPolygon.getFrameConvexPolygon2d());
 supportPolygon.changeFrameAndProjectToXYPlane(midFeetZUpFrame);
 FrameVector2d desiredPelvisOffset = new FrameVector2d(midFeetZUpFrame);
 for (int i = 0; i < supportPolygon.getNumberOfVertices(); i++)
 {
   supportPolygon.getFrameVertex(i, desiredPelvisOffset);
   desiredPelvisOffset.sub(center);
   submitDesiredPelvisPositionOffset(false, pelvisShiftScaleFactor.getX() * desiredPelvisOffset.getX(),
      pelvisShiftScaleFactor.getY() * desiredPelvisOffset.getY(), 0.0);
 }
 // Get back to the first vertex again
 supportPolygon.getFrameVertex(0, desiredPelvisOffset);
 desiredPelvisOffset.sub(center);
 submitDesiredPelvisPositionOffset(false, pelvisShiftScaleFactor.getX() * desiredPelvisOffset.getX(),
    pelvisShiftScaleFactor.getY() * desiredPelvisOffset.getY(), 0.0);
 submitPelvisHomeCommand(false);
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void hide()
{
 yoCaptureRegionPolygon.hide();
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public FootstepAdjusterVisualizer(FootstepAdjustor footstepAdjustor, YoGraphicsListRegistry yoGraphicsListRegistry, YoVariableRegistry parentRegistry)
{
 this.footstepAdjustor = footstepAdjustor;
 String nextFootstepCaption = "DesiredTouchdown";
 yoNextFootstepPolygon = new YoFrameConvexPolygon2d(nextFootstepCaption, "", worldFrame, 8, registry);
 nextFootstepPolygon = new FrameConvexPolygon2d(worldFrame);
 nextFootstepPolygonArtifact = new YoArtifactPolygon(nextFootstepCaption, yoNextFootstepPolygon, colorDefault, false);
 nextFootstepPolygonArtifact.setVisible(false);
 yoGraphicsListRegistry.registerArtifact(getClass().getSimpleName(), nextFootstepPolygonArtifact);
 parentRegistry.addChild(registry);
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void update(Footstep footstep)
{
 footstep.getSolePose(footstepPose);
 yoFootstepPose.setAndMatchFrame(footstepPose);
 List<Point2d> predictedContactPoints = footstep.getPredictedContactPoints();
 List<Point2d> contactPointsToVisualize;
 if (predictedContactPoints == null || predictedContactPoints.isEmpty())
   contactPointsToVisualize = defaultContactPointsInSoleFrame;
 else
   contactPointsToVisualize = predictedContactPoints;
 foothold.setAndUpdate(contactPointsToVisualize, contactPointsToVisualize.size());
 yoFoothold.setConvexPolygon2d(foothold);
 poseViz.update();
 footholdViz.update();
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void setCMPProjectionArea(FrameConvexPolygon2d areaToProjectInto, FrameConvexPolygon2d safeArea)
{
 this.areaToProjectInto.setIncludingFrameAndUpdate(areaToProjectInto);
 this.safeArea.setIncludingFrameAndUpdate(safeArea);
 yoSafeAreaPolygon.setFrameConvexPolygon2d(safeArea);
 yoProjectionPolygon.setFrameConvexPolygon2d(areaToProjectInto);
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com