18 #ifndef HCONSTANTFRAMERATE_H
19 #define HCONSTANTFRAMERATE_H
27 #include "hic_types.h"
173 bool GetUseLod()
const {
return m_bUseLOD;}
284 { m_bSegmentSwitch =
false; }
292 { m_bSegmentSwitch =
false; }
314 void SetSegmentSwitch(
bool ssl) { m_bSegmentSwitch = ssl; }
315 bool m_bSegmentSwitch;
386 static void RegisterCallbacks();
396 static void draw_solid_bbx_tree(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
397 static void draw_solid_bbx(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
430 static void RegisterCallbacks();
441 static void draw_wireframe_bbx(HIC_Rendition *rendition,HIC_Segment_Info * geo3);
513 void UpdateLevel(
int SimpLevel,
int SimpListPos);
574 void SetHoopsSimplificationOptions(
int SimpLevel,
int SimpListPos);
582 void AdjustListPointers(
int &SimpLevel,
int &SimpListPos);
589 void AdjustDetail(
float FrameRate);
602 bool IsLowestDetail();
603 void ChangeDetail(
int change,
int *SimpLevel = 0,
int *SimpListPos = 0);
622 bool GetMode(
HConstFRSimpType ***sd = 0L ,
float *target_framerate = 0L,
int *length = 0L);
633 void Init(
float target_framerate=20.0,
HConstFRSimpType **sd = 0,
int length = 0,
float deadzone =3.0);
669 void IncreaseDetailTemp();
676 bool ViewpointHasChanged(
bool update =
true);
683 void SetDetailIncOnIdleMode (
DetailChangeMode mode) {m_DetailIncOnIdleMode=mode; m_SimplificationIncreaseOnIdle = mode;}
731 void AdjustLodOptions();
733 bool GetDetailIncreaseState() {
return m_bIncreaseDetailTemp; }
738 void SetDetailLevel (
int listpos,
int simplevel) { m_SimpListPos = listpos; m_SimpLevel = simplevel; }
752 void AdjustDefaultDetailLevelToModel();
761 static bool Tick(
float request_time,
float actual_time,
void * user_data);
763 void SetDisableIncreaseTemp(
bool it) { m_bDisableIncreaseTemp = it; }
764 void InitiateDelay() { m_bOneDelay =
true; }
765 int GetDetailLevelNum();
766 int GetTotalDetailLevelNum();
768 void SetWatchActivity(
bool wa) { m_bWatchActivity = wa; }
769 void MajorDetailDecrease();
770 void MajorDetailIncrease();
774 bool m_bFullDetailTemp;
775 bool m_bWatchActivity;
776 bool m_bIncreaseDetailTemp;
779 bool m_bDisableIncreaseTemp;
781 float m_OneDelayStart;
782 bool m_bAdjustNextTime;
785 int m_CounterThreshold;
786 int m_TempDetailIncrement;
787 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:522
static HConstFRSimpType ** CreateList(int size)
Definition: HConstantFrameRate.h:131
HFrWireframe(int min, int max)
Definition: HConstantFrameRate.h:461
The HConstantFrameRate class provides support for maintaining a constant framerate when rendering...
Definition: HConstantFrameRate.h:494
HFrLodClamp(int min, int max)
Definition: HConstantFrameRate.h:290
Definition: HConstantFrameRate.h:450
HConstFRSimpType(int min, int max)
Definition: HConstantFrameRate.h:96
HFrWireframeBBox()
Definition: HConstantFrameRate.h:409
virtual void Set(HConstantFrameRate *pCfr, int SimpLevel)=0
void SetDetailIncMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:682
DetailChangeMode m_SimplificationIncreaseOnIdle
Definition: HConstantFrameRate.h:543
void SetActivityType(HActivityType at)
Definition: HConstantFrameRate.h:720
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:483
HActivityType GetActivityType()
Definition: HConstantFrameRate.h:724
Definition: HConstantFrameRate.h:324
int GetMinSimpLevel()
Definition: HConstantFrameRate.h:126
HFrNoSimpAA(int min, int max)
Definition: HConstantFrameRate.h:202
void SetDetailDecMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:693
HFrNoSimp(int min, int max)
Definition: HConstantFrameRate.h:247
DetailChangeMode GetDetailDecMode()
Definition: HConstantFrameRate.h:696
void SetDeadZone(float deadzone)
Definition: HConstantFrameRate.h:711
Definition: HConstantFrameRate.h:238
void SetSimpLevel(int simplevel)
Definition: HConstantFrameRate.h:748
No simplification. The scene is antialiased.
Definition: HConstantFrameRate.h:37
HFrWireframeBBox(int min, int max)
Definition: HConstantFrameRate.h:415
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:557
virtual void Update(HConstantFrameRate *pCfr, int SimpLevel)
int m_FrameRateCounter
Definition: HConstantFrameRate.h:545
Definition: HConstantFrameRate.h:278
Definition: HTManager.h:157
int m_SimpLevel
Definition: HConstantFrameRate.h:533
ConstFRType GetType()
Definition: HConstantFrameRate.h:306
Indicates no activity that would affect the constant framerate logic.
Definition: HConstantFrameRate.h:52
HFrLodClamp()
Definition: HConstantFrameRate.h:282
HFrWireframe()
Definition: HConstantFrameRate.h:455
int GetMaxSimpLevel()
Definition: HConstantFrameRate.h:128
DetailChangeMode m_SimplificationIncrease
Definition: HConstantFrameRate.h:542
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:427
ConstFRType
Definition: HConstantFrameRate.h:34
ConstFRType GetType()
Definition: HConstantFrameRate.h:346
Definition: HConstantFrameRate.h:362
HConstFRSimpType ** m_pSimpList
Definition: HConstantFrameRate.h:528
Wireframe simplification type.
Definition: HConstantFrameRate.h:40
void SetDetailLevel(int listpos, int simplevel)
Definition: HConstantFrameRate.h:738
int m_SimpListPos
Definition: HConstantFrameRate.h:534
DetailChangeMode m_SimplificationDecrease
Definition: HConstantFrameRate.h:541
LOD clamp type. All objects share the same detail level.
Definition: HConstantFrameRate.h:41
HFrSolidBBox()
Definition: HConstantFrameRate.h:366
Definition: HConstantFrameRate.h:405
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:536
ConstFRType GetType()
Definition: HConstantFrameRate.h:175
void SetEmergencyDetailDecrease(bool detaildecrease)
Definition: HConstantFrameRate.h:715
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:268
HActivityType m_ActivityType
Definition: HConstantFrameRate.h:567
HFrLodThreshold()
Definition: HConstantFrameRate.h:328
DetailChangeMode m_DetailIncMode
Definition: HConstantFrameRate.h:550
bool GetActive()
Definition: HConstantFrameRate.h:640
No simplification.
Definition: HConstantFrameRate.h:36
void ResetListPointers()
Definition: HConstantFrameRate.h:699
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:687
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:439
int GetSimpLevel()
Definition: HConstantFrameRate.h:725
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:182
HFrLodThreshold(int min, int max)
Definition: HConstantFrameRate.h:334
Indicates movement activity in the scene.
Definition: HConstantFrameRate.h:53
DetailChangeMode m_DetailDecMode
Definition: HConstantFrameRate.h:555
bool m_bEmergencyDecrease
Definition: HConstantFrameRate.h:562
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:393
ConstFRType GetType()
Definition: HConstantFrameRate.h:215
Definition: HConstantFrameRate.h:141
ConstFRType GetType()
Definition: HConstantFrameRate.h:383
float GetTargetFrameRate()
Definition: HConstantFrameRate.h:702
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:353
ConstFRType GetType()
Definition: HConstantFrameRate.h:475
HBaseView * GetView()
Definition: HConstantFrameRate.h:506
HFrExtent()
Definition: HConstantFrameRate.h:145
HFrSolidBBox(int min, int max)
Definition: HConstantFrameRate.h:371
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:230
void SetTargetFrameRate(float framerate)
Definition: HConstantFrameRate.h:706
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:517
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:313
No detail level change.
Definition: HConstantFrameRate.h:64
HBaseView * m_pHView
Definition: HConstantFrameRate.h:516
Maximum extent simplification type.
Definition: HConstantFrameRate.h:44