18 #ifndef HCONSTANTFRAMERATE_H
19 #define HCONSTANTFRAMERATE_H
27 #include "hic_types.h"
173 bool GetUseLod()
const {
return m_bUseLOD;}
310 void SetSegmentSwitch(
bool ssl) { m_bSegmentSwitch = ssl; }
311 bool m_bSegmentSwitch;
382 static void RegisterCallbacks();
392 static void draw_solid_bbx_tree(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
393 static void draw_solid_bbx(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
426 static void RegisterCallbacks();
437 static void draw_wireframe_bbx(HIC_Rendition *rendition,HIC_Segment_Info * geo3);
509 void UpdateLevel(
int SimpLevel,
int SimpListPos);
570 void SetHoopsSimplificationOptions(
int SimpLevel,
int SimpListPos);
578 void AdjustListPointers(
int &SimpLevel,
int &SimpListPos);
585 void AdjustDetail(
float FrameRate);
598 bool IsLowestDetail();
599 void ChangeDetail(
int change,
int *SimpLevel = 0,
int *SimpListPos = 0);
618 bool GetMode(
HConstFRSimpType ***sd = 0L ,
float *target_framerate = 0L,
int *length = 0L);
629 void Init(
float target_framerate=20.0,
HConstFRSimpType **sd = 0,
int length = 0,
float deadzone =3.0);
665 void IncreaseDetailTemp();
672 bool ViewpointHasChanged(
bool update =
true);
679 void SetDetailIncOnIdleMode (
DetailChangeMode mode) {m_DetailIncOnIdleMode=mode; m_SimplificationIncreaseOnIdle = mode;}
727 void AdjustLodOptions();
729 bool GetDetailIncreaseState() {
return m_bIncreaseDetailTemp; }
734 void SetDetailLevel (
int listpos,
int simplevel) { m_SimpListPos = listpos; m_SimpLevel = simplevel; }
748 void AdjustDefaultDetailLevelToModel();
757 static bool Tick(
float request_time,
float actual_time,
void * user_data);
759 void SetDisableIncreaseTemp(
bool it) { m_bDisableIncreaseTemp = it; }
760 void InitiateDelay() { m_bOneDelay =
true; }
761 int GetDetailLevelNum();
762 int GetTotalDetailLevelNum();
764 void SetWatchActivity(
bool wa) { m_bWatchActivity = wa; }
765 void MajorDetailDecrease();
766 void MajorDetailIncrease();
770 bool m_bFullDetailTemp;
771 bool m_bWatchActivity;
772 bool m_bIncreaseDetailTemp;
775 bool m_bDisableIncreaseTemp;
777 float m_OneDelayStart;
778 bool m_bAdjustNextTime;
781 int m_CounterThreshold;
782 int m_TempDetailIncrement;
783 bool m_bFirstIncrease;
DetailChangeMode
Definition: HConstantFrameRate.h:62
Indicates that a cutting plane is being manipulated.
Definition: HConstantFrameRate.h:54
float m_TargetFrameRate
Definition: HConstantFrameRate.h:518
static HConstFRSimpType ** CreateList(int size)
Definition: HConstantFrameRate.h:131
HFrWireframe(int min, int max)
Definition: HConstantFrameRate.h:457
The HConstantFrameRate class provides support for maintaining a constant framerate when rendering...
Definition: HConstantFrameRate.h:490
HFrLodClamp(int min, int max)
Definition: HConstantFrameRate.h:287
Definition: HConstantFrameRate.h:446
HConstFRSimpType(int min, int max)
Definition: HConstantFrameRate.h:96
HFrWireframeBBox()
Definition: HConstantFrameRate.h:405
virtual void Set(HConstantFrameRate *pCfr, int SimpLevel)=0
void SetDetailIncMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:678
DetailChangeMode m_SimplificationIncreaseOnIdle
Definition: HConstantFrameRate.h:539
void SetActivityType(HActivityType at)
Definition: HConstantFrameRate.h:716
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:479
HActivityType GetActivityType()
Definition: HConstantFrameRate.h:720
Definition: HConstantFrameRate.h:320
int GetMinSimpLevel()
Definition: HConstantFrameRate.h:126
HFrNoSimpAA(int min, int max)
Definition: HConstantFrameRate.h:202
void SetDetailDecMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:689
HFrNoSimp(int min, int max)
Definition: HConstantFrameRate.h:247
DetailChangeMode GetDetailDecMode()
Definition: HConstantFrameRate.h:692
void SetDeadZone(float deadzone)
Definition: HConstantFrameRate.h:707
Definition: HConstantFrameRate.h:238
void SetSimpLevel(int simplevel)
Definition: HConstantFrameRate.h:744
No simplification. The scene is antialiased.
Definition: HConstantFrameRate.h:37
HFrWireframeBBox(int min, int max)
Definition: HConstantFrameRate.h:411
HFrExtent(int min, int max)
Definition: HConstantFrameRate.h:151
int m_SimpLevelMax
Definition: HConstantFrameRate.h:83
HFrNoSimp()
Definition: HConstantFrameRate.h:242
float m_DeadZone
Definition: HConstantFrameRate.h:553
virtual void Update(HConstantFrameRate *pCfr, int SimpLevel)
int m_FrameRateCounter
Definition: HConstantFrameRate.h:541
Definition: HConstantFrameRate.h:278
Definition: HTManager.h:157
int m_SimpLevel
Definition: HConstantFrameRate.h:529
ConstFRType GetType()
Definition: HConstantFrameRate.h:302
Indicates no activity that would affect the constant framerate logic.
Definition: HConstantFrameRate.h:52
HFrLodClamp()
Definition: HConstantFrameRate.h:282
HFrWireframe()
Definition: HConstantFrameRate.h:451
int GetMaxSimpLevel()
Definition: HConstantFrameRate.h:128
DetailChangeMode m_SimplificationIncrease
Definition: HConstantFrameRate.h:538
void SetUseLod(bool ul)
Definition: HConstantFrameRate.h:172
LOD threshold type. LOD level for each individual object based on size on screen. ...
Definition: HConstantFrameRate.h:42
Wireframe bounding box similfication type.
Definition: HConstantFrameRate.h:38
Solid bounding box simplification type.
Definition: HConstantFrameRate.h:39
ConstFRType GetType()
Definition: HConstantFrameRate.h:423
ConstFRType
Definition: HConstantFrameRate.h:34
ConstFRType GetType()
Definition: HConstantFrameRate.h:342
Definition: HConstantFrameRate.h:358
HConstFRSimpType ** m_pSimpList
Definition: HConstantFrameRate.h:524
Wireframe simplification type.
Definition: HConstantFrameRate.h:40
void SetDetailLevel(int listpos, int simplevel)
Definition: HConstantFrameRate.h:734
int m_SimpListPos
Definition: HConstantFrameRate.h:530
DetailChangeMode m_SimplificationDecrease
Definition: HConstantFrameRate.h:537
LOD clamp type. All objects share the same detail level.
Definition: HConstantFrameRate.h:41
HFrSolidBBox()
Definition: HConstantFrameRate.h:362
Definition: HConstantFrameRate.h:401
HConstFRSimpType()
Definition: HConstantFrameRate.h:86
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
int m_SimpListLength
Definition: HConstantFrameRate.h:532
ConstFRType GetType()
Definition: HConstantFrameRate.h:175
void SetEmergencyDetailDecrease(bool detaildecrease)
Definition: HConstantFrameRate.h:711
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:268
HActivityType m_ActivityType
Definition: HConstantFrameRate.h:563
HFrLodThreshold()
Definition: HConstantFrameRate.h:324
DetailChangeMode m_DetailIncMode
Definition: HConstantFrameRate.h:546
bool GetActive()
Definition: HConstantFrameRate.h:636
No simplification.
Definition: HConstantFrameRate.h:36
void ResetListPointers()
Definition: HConstantFrameRate.h:695
Indicates that some activity is occuring that isn't movement or cutting plane related.
Definition: HConstantFrameRate.h:55
int m_SimpLevelMin
Definition: HConstantFrameRate.h:82
Definition: HConstantFrameRate.h:79
DetailChangeMode GetDetailIncMode()
Definition: HConstantFrameRate.h:683
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:435
int GetSimpLevel()
Definition: HConstantFrameRate.h:721
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:182
HFrLodThreshold(int min, int max)
Definition: HConstantFrameRate.h:330
Indicates movement activity in the scene.
Definition: HConstantFrameRate.h:53
DetailChangeMode m_DetailDecMode
Definition: HConstantFrameRate.h:551
bool m_bEmergencyDecrease
Definition: HConstantFrameRate.h:558
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:389
ConstFRType GetType()
Definition: HConstantFrameRate.h:215
Definition: HConstantFrameRate.h:141
ConstFRType GetType()
Definition: HConstantFrameRate.h:379
float GetTargetFrameRate()
Definition: HConstantFrameRate.h:698
Only one detail change is allowed.
Definition: HConstantFrameRate.h:65
HFrNoSimpAA()
Definition: HConstantFrameRate.h:196
ConstFRType GetType()
Definition: HConstantFrameRate.h:259
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:349
ConstFRType GetType()
Definition: HConstantFrameRate.h:471
HBaseView * GetView()
Definition: HConstantFrameRate.h:502
HFrExtent()
Definition: HConstantFrameRate.h:145
HFrSolidBBox(int min, int max)
Definition: HConstantFrameRate.h:367
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:230
void SetTargetFrameRate(float framerate)
Definition: HConstantFrameRate.h:702
void SetMultiplier(int mp)
Definition: HConstantFrameRate.h:159
Detail change is allowed based on target framerate.
Definition: HConstantFrameRate.h:66
bool m_bConstFRActive
Definition: HConstantFrameRate.h:513
HActivityType
Definition: HConstantFrameRate.h:50
Placeholder type.
Definition: HConstantFrameRate.h:43
Definition: HConstantFrameRate.h:192
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:309
No detail level change.
Definition: HConstantFrameRate.h:64
HBaseView * m_pHView
Definition: HConstantFrameRate.h:512
Maximum extent simplification type.
Definition: HConstantFrameRate.h:44