全球FlexSim系统仿真中文论坛

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

如何获取Activity的统计信息?

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2022-11-29 15:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
" G0 A; u8 X/ C# A+ g/ g/ `% u- I# g) v( j- o  E& k  Q
如何获取Activity的统计信息?  ?9 W' ]# C! o/ i1 V
3D实体的属性面板中可以查看统计信息。
. ~) }+ ]) N( o% {* {
$ @$ }3 n1 X! O& o3 b. [; u8 {同时可以通过Object.stats属性来获取相关信息。- B+ g/ G1 X2 d

6 h! p" v  |' \1 |  }Activity也有属性面板
% _& T- B& j4 t3 c/ o5 d' R9 e7 d, d$ r) ?
但是Activity却没有stats属性,无法通过属性获取统计信息。
/ [+ L2 j  Y& X4 y8 a7 j5 x7 U% ?6 T& s( w! u% y' C) h
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。
) {6 J! i* @* H0 T2 Dtreenode作为Object的父类,其属性和方法不如其子类Object那样丰富。3 G7 [' l  |5 L' E+ O6 D3 Y
" L' h6 M9 Y% ^3 [! w9 Y1 c( R
作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
% ]' w- p9 C: s9 p# V3 Y3 h( \. i% J) h2 U9 k& L) O3 R0 y. s
其中就有stats属性,可以获取统计信息。
3 s; e! h: b7 K' \5 `4 [" r/ F  P" i+ a* x" |. T
那如何使用代码获取Activity的统计信息呢?
4 F4 V: t8 r% Q7 Y第1种方法,使用getstat命令。
( m& C* s9 U) J* C; ]8 v7 a8 ^getstat (node object, str name, int flag [, var p1, var p2, var p3])8 D! O( z" G# R7 t
Returns the statistic value for the given objectDescription, ^& c- S; ^& E: U
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.
( K! l5 I- t6 t$ x& X- O# sExample:7 d& q; b- R1 I( y" e: ^2 C
  1. getstat(activity, "Content", STAT_CURRENT)
复制代码
  1. getstat(activity, "Input", STAT_CURRENT)
复制代码
  1. getstat(activity, "Staytime", STAT_AVERAGE)
复制代码
  1. double avgContent = getstat(3 j, r6 W2 p, s! @/ z7 b3 k7 _
  2. // getstat requires between 4 and 6 parameters:
    ) v" k8 ?( Q2 L( i/ F/ @
  3. activity, // 1. the object (shared asset or activity) that has the statistic
    2 u7 \+ k; H# n" Q5 q! c4 K
  4. "Content", // 2. the name of the statistic* U0 E4 Z2 G" ]- {% U. r
  5. STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
    ; B0 e; ]5 V+ k( S4 q4 j/ F
  6. // 4. an optional parameter the instance object (usually current)8 S) L& U+ j1 g& U
  7. // 5. an additional parameter to help resolve which data to get. \, P5 ?4 ?0 f3 E' S$ e- T( Z  Q3 U
  8. // 6. an additional parameter to help resolve which data to get) J5 s  z( L$ f1 _% T- _: C5 j: B
  9. );
复制代码

5 t0 V" ]/ C" q+ f第2种方法,转换activity的类型。
3 L+ z% H5 Q! ?) I既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?2 Y+ B9 m; `) ~& E
转换的方式有2种:( C6 {* F7 a4 b
方法1,使用as关键字:
) Q% A' \- G% t' }7 Y
  1. activity.as(Object).stats.input.value;8 c/ Q: [; [4 F/ K* Y
复制代码
9 R2 p2 T1 o6 w0 T! g$ m( C' L
方法2,将activity声明为Object类型的变量:
8 e/ A% y3 C% K4 B! ^" q5 U) `
  1. Object Obj_activity=activity;3 H' R* E. E6 }, _7 {. k+ _
  2. return Obj_activity.stats.input.value;
复制代码
) A* A; u  u- _9 p- V
, |. L+ H/ {/ C2 R6 [
7 y+ y( v% I7 x; e4 n

! @" x* R( ^1 y9 s9 {; j$ j* [3 C1 [4 J

2 h! Z; o( t  G  v) X. k, c; \& A* t0 D

9 S& q" t3 p! U+ b& Z( u

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-5-7 06:21 , Processed in 0.084217 second(s), 14 queries .

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

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