全球FlexSim系统仿真中文论坛

搜索
查看: 653|回复: 0
打印 上一主题 下一主题

如何获取Activity的统计信息?

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2022-11-29 15:17:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
- n% a" n1 S2 Y- }5 w, H
9 z: I# s  `9 Y* z3 h+ t如何获取Activity的统计信息?4 B7 o2 j" V9 y# U8 n
3D实体的属性面板中可以查看统计信息。
: u; {4 O5 Q$ R! ^- G7 y# \& X& g% t
同时可以通过Object.stats属性来获取相关信息。
7 m; J0 p$ F4 F' P* A
0 ^8 p( ]. b: \2 g# J* WActivity也有属性面板& r8 n/ D' |3 H* W& C0 r# @! v" g
( \) S* @. n, v* z6 q
但是Activity却没有stats属性,无法通过属性获取统计信息。
+ b+ C/ z) [4 O) a6 Z2 ~& u# \; p$ h# B
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。
7 a' h/ C  j! Z, w0 Y8 k+ ntreenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
$ c/ g" @8 i* z; e
; k% e; l9 g* [% p作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
* T& T+ O1 H) t5 `1 Z" b8 Z2 C
- M' |7 k5 ]5 H其中就有stats属性,可以获取统计信息。
# [4 J* C( F5 ]
$ u1 ~7 z* H7 o! ]0 W0 W那如何使用代码获取Activity的统计信息呢?
; E% @, A4 ]7 s: ]8 r第1种方法,使用getstat命令。
( H. R) F" P. b) Ngetstat (node object, str name, int flag [, var p1, var p2, var p3])8 P" ^. x, ^. p) w
Returns the statistic value for the given objectDescription8 ?. ?7 l1 F! t& |- K4 @( u% E
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.9 r/ b. S% {) \' E9 m
Example:& m3 n% `9 U2 z4 W" O; q
  1. getstat(activity, "Content", STAT_CURRENT)
复制代码
  1. getstat(activity, "Input", STAT_CURRENT)
复制代码
  1. getstat(activity, "Staytime", STAT_AVERAGE)
复制代码
  1. double avgContent = getstat(
    " N: H, s1 E/ [
  2. // getstat requires between 4 and 6 parameters:
    : h) u  z/ s- }5 E: c6 s
  3. activity, // 1. the object (shared asset or activity) that has the statistic
    : @1 R. L( C9 f. A$ m" u
  4. "Content", // 2. the name of the statistic4 n% |0 C' T; h' n8 i+ X
  5. STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
    ; U* H. S2 I( e- J6 {
  6. // 4. an optional parameter the instance object (usually current)
    6 c* p/ u+ f& L, I) c* O
  7. // 5. an additional parameter to help resolve which data to get' t  i- |$ ?6 v2 {' T+ V
  8. // 6. an additional parameter to help resolve which data to get3 Q' B$ z2 O! [6 y
  9. );
复制代码
, N5 u) P  j' Z9 c: h4 r1 [" @# X( Z
第2种方法,转换activity的类型。
2 s5 o5 H) ]8 S3 {. u) G既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?* ^# [  N) }! i' p9 ]2 r4 m" \
转换的方式有2种:
( v/ m, ^( n9 D8 J" V, b方法1,使用as关键字:& ]( i( C7 m/ ?( d, h
  1. activity.as(Object).stats.input.value;6 [$ h; ^/ K- {
复制代码
1 A; t7 j2 u- Y# g1 W& X2 [
方法2,将activity声明为Object类型的变量:" w7 H0 b+ Z2 ?6 Y
  1. Object Obj_activity=activity;0 |1 N, `* r# g, }. v/ |5 }
  2. return Obj_activity.stats.input.value;
复制代码
9 f0 }- e7 I% Z+ H

# x' W& ]3 J- t& x1 h+ Q" O( G$ C
8 L0 h( N+ Z4 ?8 K9 H% F8 L! c& w! g1 ?! r+ F" c$ U8 [
7 Q0 y6 B/ m6 S$ t, j% Y
4 y+ M1 ?1 r7 m, y9 G* [

3 i% H: g* v$ a) ]8 `8 g" I- Y; i. ~! u8 ~1 s

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2024-5-19 18:14 , Processed in 0.073792 second(s), 15 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表