【仿真建模-anylogic】ConveyorCustomStation原理解析

Author:赵志乾
Date:2024-06-19
Declaration:All Right Reserved!!!

1. 类图

2. 原理解析

2.1 核心函数
函数功能
ConveyorCustomStation()无参构造函数;该类另有两个有参构造函数,但已标注为废弃;
void addVertex(double x, double y)为2D多边形添加坐标点;
void onEnter(T agent)物料进入自定义站点时的回调函数;
2.2 代码解析

          由于Anylogic内核做过代码混淆,以下为二次加工后的逻辑;

//**********************核心字段************************************
// 自定义站点演示图形
private final Polygon2D polygon2D = new Polygon2D(this);
// 用于桥接图形化开发时自定义逻辑
private IConveyorCustomStationDescriptor<T> descriptor;

//**********************构造函数************************************
public ConveyorCustomStation() {
    // 内核代码中的无参构造函数会创建IConveyorCustomStationDescriptor实现类的实例;其目的是满足Anylogic图形化开发自定义逻辑的需要;如需要动态生成ConveyorCustomStation,则建议直接定义ConveyorCustomStation的子类,然后覆写onEnter函数;
    this.descriptor= (IConveyorCustomStationDescriptor)IMaterialLibraryDescriptorFactory.create(IConveyorCustomStationDescriptor.class);
}

//**********************简单函数*****************************************
// 为绘制自定义站点的2D演示,逐次添加顶点坐标;坐标单位为像素
public void addVertex(double x, double y) {
    // 2D多边形添加顶点坐标;
    this.polygon2D.addVertex(x, y);
}
// 演示内容实例化
void doInitialize() {
    // 由所在Level的initialize函数触发;
    super.doInitialize();
    this.polygon2D.initialize();
}
// 物料到达站点时回调函数
public void onEnter(T agent) {
    // 直接定义子类覆写即可,不建议使用descriptor做桥接
    this.descriptor.onEnter(agent);
}
    

   
    

3. 应用场景

          动态生成自定义站点时,定义该类的子类,并在子类中覆写onEnter函数,以便自定义物料到达站点时需要执行的逻辑;

  • 17
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫白小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值