全球FlexSim系统仿真中文论坛

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

如何获取Activity的统计信息?

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2022-11-29 15:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
! W9 G$ k" A, S8 j6 }7 _9 k& D0 I) A( f  N. g2 {# N% a' g
如何获取Activity的统计信息?5 P$ l, V3 o7 I6 e3 T2 r. V
3D实体的属性面板中可以查看统计信息。
7 }9 D' k. T( g" k  t% [- e  y9 B; v' \: M! U8 B) J  G0 x2 E
同时可以通过Object.stats属性来获取相关信息。, v5 k/ L9 W( B

- z, |# ?. ^; A9 i' oActivity也有属性面板
5 Q  {7 }: K9 s) R) f
- H; R8 G( s5 |+ n: G但是Activity却没有stats属性,无法通过属性获取统计信息。7 H4 P0 J) y  ?( A$ L; T  l

+ f  o( [. P# e原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。- y0 y* P. l( R
treenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
: Z; q; Z9 P5 w) n- X: M9 }  o0 L
! ~& R* c% _3 a& J" }作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
% U5 ?' K; j3 G" N' e$ B3 J
/ G$ U- a8 @7 L9 a其中就有stats属性,可以获取统计信息。  r9 {' Z8 W( C3 N
/ Z# n! j, q& `0 K, Q1 G
那如何使用代码获取Activity的统计信息呢?
4 i% C3 e# P* l# M. c第1种方法,使用getstat命令。
4 s3 j% V( O9 ]! F# ^6 Rgetstat (node object, str name, int flag [, var p1, var p2, var p3])
( s+ H4 R- _& i( t5 q" AReturns the statistic value for the given objectDescription9 w2 C8 h% Y6 M' B' |- n
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.& J+ s$ U1 M: J5 ~1 _) W! Z
Example:1 K/ T" N# [. N9 U9 s
  1. getstat(activity, "Content", STAT_CURRENT)
复制代码
  1. getstat(activity, "Input", STAT_CURRENT)
复制代码
  1. getstat(activity, "Staytime", STAT_AVERAGE)
复制代码
  1. double avgContent = getstat(
    ; O) n* G% O! m/ T
  2. // getstat requires between 4 and 6 parameters:+ X, M8 u- c, L( E# s6 Z  t
  3. activity, // 1. the object (shared asset or activity) that has the statistic4 c* N% N- M8 s& }# X, ^8 V9 P: \- P
  4. "Content", // 2. the name of the statistic
    % o0 W) S  D. _6 I
  5. STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
    7 l9 J( w( @0 T! P! p. t. B
  6. // 4. an optional parameter the instance object (usually current)+ S9 i' {% y" e' G) B+ E* A
  7. // 5. an additional parameter to help resolve which data to get# Y' k( H+ K. {3 y/ V
  8. // 6. an additional parameter to help resolve which data to get
    , e" S  [9 o+ I& g9 s3 J
  9. );
复制代码

/ p  i1 p3 I+ l" z4 r& ^第2种方法,转换activity的类型。
$ ?, Z" n) Y3 K' h既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?
/ R0 v# u6 h" s$ [) Y) n转换的方式有2种:
" x9 _/ t3 U5 d% s5 I$ O% S( r方法1,使用as关键字:
$ N! Z* B& I% n& u# d% y0 q! [. ]
  1. activity.as(Object).stats.input.value;
    9 S0 `# Z' ^% B8 Y4 r2 a  F# t
复制代码

  i3 }  A: O% }7 ?& V! {3 q方法2,将activity声明为Object类型的变量:" U" r7 D0 d2 [/ i( z# v
  1. Object Obj_activity=activity;& @! O6 w" G5 a9 ?7 W% ~) t
  2. return Obj_activity.stats.input.value;
复制代码

  G4 Z' C+ u8 W. E- Q! C2 X8 u! o0 g1 r! s0 s+ T( N* G1 }9 k

1 l# u- \2 k7 v, k7 S+ G" K# j, ]) f
9 f3 s% L; H5 X' @) F! D8 P0 n( v: d  N( P
/ n* K& T0 [  o! X: ~
7 q/ |" [' b9 H2 }9 N

( @* k, I/ k1 `+ z. d# u' p/ {

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-8-30 23:09 , Processed in 0.075869 second(s), 14 queries .

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

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