本文整理汇总了Java中geometry.planar.FloatPoint.rotate方法的典型用法代码示例。如果您正苦于以下问题:Java FloatPoint.rotate方法的具体用法?Java FloatPoint.rotate怎么用?Java FloatPoint.rotate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类geometry.planar.FloatPoint
的用法示例。
在下文中一共展示了FloatPoint.rotate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: board_to_screen
import geometry.planar.FloatPoint; //导入方法依赖的package包/类
/**
* transform a geometry.planar.FloatPoint to a java.awt.geom.Point2D
*/
public Point2D board_to_screen(FloatPoint p_point)
{
FloatPoint rotated_point = p_point.rotate(this.rotation, this.rotation_pole);
double x, y;
if (this.mirror_left_right)
{
x = (design_box_with_offset.width() - rotated_point.x - 1) * scale_factor + display_x_offset;
}
else
{
x = rotated_point.x * scale_factor - display_x_offset;
}
if (this.mirror_top_bottom)
{
y = (design_box_with_offset.height() - rotated_point.y - 1) * scale_factor + display_y_offset;
}
else
{
y = rotated_point.y * scale_factor - display_y_offset;
}
return new Point2D.Double(x, y);
}
示例2: screen_to_board
import geometry.planar.FloatPoint; //导入方法依赖的package包/类
/**
* Transform a java.awt.geom.Point2D to a geometry.planar.FloatPoint
*/
public FloatPoint screen_to_board(Point2D p_point)
{
double x, y;
if (this.mirror_left_right)
{
x = design_box_with_offset.width() -(p_point.getX() - display_x_offset) / scale_factor - 1;
}
else
{
x = (p_point.getX() + display_x_offset)/ scale_factor;
}
if (this.mirror_top_bottom)
{
y = design_box_with_offset.height() -(p_point.getY() - display_y_offset) / scale_factor - 1;
}
else
{
y = (p_point.getY() + display_y_offset)/ scale_factor;
}
FloatPoint result = new FloatPoint(x, y);
return result.rotate(-this.rotation, this.rotation_pole);
}
示例3: relative_location
import geometry.planar.FloatPoint; //导入方法依赖的package包/类
/**
* Calculates the relative location of this pin to its component.
*/
public Vector relative_location()
{
Component component = board.components.get(this.get_component_no());
Package lib_package = component.get_package();
Package.Pin package_pin = lib_package.get_pin(this.pin_no);
Vector rel_location = package_pin.relative_location;
double component_rotation = component.get_rotation_in_degree();
if (!component.placed_on_front() && !board.components.get_flip_style_rotate_first())
{
rel_location = package_pin.relative_location.mirror_at_y_axis();
}
if (component_rotation % 90 == 0)
{
int component_ninety_degree_factor = ((int) component_rotation )/ 90;
if (component_ninety_degree_factor != 0)
{
rel_location = rel_location.turn_90_degree(component_ninety_degree_factor);
}
}
else
{
// rotation may be not exact
FloatPoint location_approx = rel_location.to_float();
location_approx = location_approx.rotate(Math.toRadians(component_rotation), FloatPoint.ZERO);
rel_location = location_approx.round().difference_by(Point.ZERO);
}
if (!component.placed_on_front() && board.components.get_flip_style_rotate_first())
{
rel_location = rel_location.mirror_at_y_axis();
}
return rel_location;
}