23 #ifndef HCONSTANTFRAMERATE_H
24 #define HCONSTANTFRAMERATE_H
32 #include "hic_types.h"
176 bool GetUseLod()
const {
return m_bUseLOD;}
313 void SetSegmentSwitch(
bool ssl) { m_bSegmentSwitch = ssl; }
314 bool m_bSegmentSwitch;
385 static void RegisterCallbacks();
395 static void draw_solid_bbx_tree(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
396 static void draw_solid_bbx(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
429 static void RegisterCallbacks();
440 static void draw_wireframe_bbx(HIC_Rendition *rendition,HIC_Segment_Info * geo3);
512 void UpdateLevel(
int SimpLevel,
int SimpListPos);
573 void SetHoopsSimplificationOptions(
int SimpLevel,
int SimpListPos);
581 void AdjustListPointers(
int &SimpLevel,
int &SimpListPos);
588 void AdjustDetail(
float FrameRate);
601 bool IsLowestDetail();
602 void ChangeDetail(
int change,
int *SimpLevel = 0,
int *SimpListPos = 0);
621 bool GetMode(
HConstFRSimpType ***sd = 0L ,
float *target_framerate = 0L,
int *length = 0L);
632 void Init(
float target_framerate=20.0,
HConstFRSimpType **sd = 0,
int length = 0,
float deadzone =3.0);
668 void IncreaseDetailTemp();
675 bool ViewpointHasChanged(
bool update =
true);
682 void SetDetailIncOnIdleMode (
DetailChangeMode mode) {m_DetailIncOnIdleMode=mode; m_SimplificationIncreaseOnIdle = mode;}
730 void AdjustLodOptions();
732 bool GetDetailIncreaseState() {
return m_bIncreaseDetailTemp; }
737 void SetDetailLevel (
int listpos,
int simplevel) { m_SimpListPos = listpos; m_SimpLevel = simplevel; }
751 void AdjustDefaultDetailLevelToModel();
760 static bool Tick(
float request_time,
float actual_time,
void * user_data);
762 void SetDisableIncreaseTemp(
bool it) { m_bDisableIncreaseTemp = it; }
763 void InitiateDelay() { m_bOneDelay =
true; }
764 int GetDetailLevelNum();
765 int GetTotalDetailLevelNum();
767 void SetWatchActivity(
bool wa) { m_bWatchActivity = wa; }
768 void MajorDetailDecrease();
769 void MajorDetailIncrease();
773 bool m_bFullDetailTemp;
774 bool m_bWatchActivity;
775 bool m_bIncreaseDetailTemp;
778 bool m_bDisableIncreaseTemp;
780 float m_OneDelayStart;
781 bool m_bAdjustNextTime;
784 int m_CounterThreshold;
785 int m_TempDetailIncrement;
786 bool m_bFirstIncrease;
DetailChangeMode
Definition: HConstantFrameRate.h:67
Indicates that a cutting plane is being manipulated.
Definition: HConstantFrameRate.h:59
float m_TargetFrameRate
Definition: HConstantFrameRate.h:521
static HConstFRSimpType ** CreateList(int size)
Definition: HConstantFrameRate.h:134
HFrWireframe(int min, int max)
Definition: HConstantFrameRate.h:460
The HConstantFrameRate class provides support for maintaining a constant framerate when rendering...
Definition: HConstantFrameRate.h:493
HFrLodClamp(int min, int max)
Definition: HConstantFrameRate.h:290
Definition: HConstantFrameRate.h:449
HConstFRSimpType(int min, int max)
Definition: HConstantFrameRate.h:101
HFrWireframeBBox()
Definition: HConstantFrameRate.h:408
virtual void Set(HConstantFrameRate *pCfr, int SimpLevel)=0
void SetDetailIncMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:681
DetailChangeMode m_SimplificationIncreaseOnIdle
Definition: HConstantFrameRate.h:542
void SetActivityType(HActivityType at)
Definition: HConstantFrameRate.h:719
HBaseView * GetView(void)
Definition: HConstantFrameRate.h:505
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:482
HActivityType GetActivityType()
Definition: HConstantFrameRate.h:723
Definition: HConstantFrameRate.h:323
int GetMinSimpLevel()
Definition: HConstantFrameRate.h:129
HFrNoSimpAA(int min, int max)
Definition: HConstantFrameRate.h:205
void SetDetailDecMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:692
HFrNoSimp(int min, int max)
Definition: HConstantFrameRate.h:250
DetailChangeMode GetDetailDecMode()
Definition: HConstantFrameRate.h:695
void SetDeadZone(float deadzone)
Definition: HConstantFrameRate.h:710
Definition: HConstantFrameRate.h:241
void SetSimpLevel(int simplevel)
Definition: HConstantFrameRate.h:747
No simplification. The scene is antialiased.
Definition: HConstantFrameRate.h:42
HFrWireframeBBox(int min, int max)
Definition: HConstantFrameRate.h:414
HFrExtent(int min, int max)
Definition: HConstantFrameRate.h:154
int m_SimpLevelMax
Definition: HConstantFrameRate.h:88
HFrNoSimp()
Definition: HConstantFrameRate.h:245
float m_DeadZone
Definition: HConstantFrameRate.h:556
virtual void Update(HConstantFrameRate *pCfr, int SimpLevel)
int m_FrameRateCounter
Definition: HConstantFrameRate.h:544
Definition: HConstantFrameRate.h:281
Definition: HTManager.h:162
int m_SimpLevel
Definition: HConstantFrameRate.h:532
ConstFRType GetType()
Definition: HConstantFrameRate.h:305
Indicates no activity that would affect the constant framerate logic.
Definition: HConstantFrameRate.h:57
HFrLodClamp()
Definition: HConstantFrameRate.h:285
HFrWireframe()
Definition: HConstantFrameRate.h:454
int GetMaxSimpLevel()
Definition: HConstantFrameRate.h:131
DetailChangeMode m_SimplificationIncrease
Definition: HConstantFrameRate.h:541
void SetUseLod(bool ul)
Definition: HConstantFrameRate.h:175
LOD threshold type. LOD level for each individual object based on size on screen. ...
Definition: HConstantFrameRate.h:47
Wireframe bounding box similfication type.
Definition: HConstantFrameRate.h:43
Solid bounding box simplification type.
Definition: HConstantFrameRate.h:44
ConstFRType GetType()
Definition: HConstantFrameRate.h:426
ConstFRType
Definition: HConstantFrameRate.h:39
ConstFRType GetType()
Definition: HConstantFrameRate.h:345
Definition: HConstantFrameRate.h:361
HConstFRSimpType ** m_pSimpList
Definition: HConstantFrameRate.h:527
Wireframe simplification type.
Definition: HConstantFrameRate.h:45
void SetDetailLevel(int listpos, int simplevel)
Definition: HConstantFrameRate.h:737
int m_SimpListPos
Definition: HConstantFrameRate.h:533
DetailChangeMode m_SimplificationDecrease
Definition: HConstantFrameRate.h:540
LOD clamp type. All objects share the same detail level.
Definition: HConstantFrameRate.h:46
HFrSolidBBox()
Definition: HConstantFrameRate.h:365
Definition: HConstantFrameRate.h:404
HConstFRSimpType()
Definition: HConstantFrameRate.h:91
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
int m_SimpListLength
Definition: HConstantFrameRate.h:535
ConstFRType GetType()
Definition: HConstantFrameRate.h:178
void SetEmergencyDetailDecrease(bool detaildecrease)
Definition: HConstantFrameRate.h:714
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:271
HActivityType m_ActivityType
Definition: HConstantFrameRate.h:566
HFrLodThreshold()
Definition: HConstantFrameRate.h:327
DetailChangeMode m_DetailIncMode
Definition: HConstantFrameRate.h:549
bool GetActive()
Definition: HConstantFrameRate.h:639
No simplification.
Definition: HConstantFrameRate.h:41
void ResetListPointers()
Definition: HConstantFrameRate.h:698
Indicates that some activity is occuring that isn't movement or cutting plane related.
Definition: HConstantFrameRate.h:60
int m_SimpLevelMin
Definition: HConstantFrameRate.h:87
Definition: HConstantFrameRate.h:84
DetailChangeMode GetDetailIncMode()
Definition: HConstantFrameRate.h:686
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:438
int GetSimpLevel()
Definition: HConstantFrameRate.h:724
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:185
HFrLodThreshold(int min, int max)
Definition: HConstantFrameRate.h:333
Indicates movement activity in the scene.
Definition: HConstantFrameRate.h:58
DetailChangeMode m_DetailDecMode
Definition: HConstantFrameRate.h:554
bool m_bEmergencyDecrease
Definition: HConstantFrameRate.h:561
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:392
ConstFRType GetType()
Definition: HConstantFrameRate.h:218
Definition: HConstantFrameRate.h:144
ConstFRType GetType()
Definition: HConstantFrameRate.h:382
Only one detail change is allowed.
Definition: HConstantFrameRate.h:70
HFrNoSimpAA()
Definition: HConstantFrameRate.h:199
float GetTargetFrameRate(void)
Definition: HConstantFrameRate.h:701
ConstFRType GetType()
Definition: HConstantFrameRate.h:262
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:352
ConstFRType GetType()
Definition: HConstantFrameRate.h:474
HFrExtent()
Definition: HConstantFrameRate.h:148
HFrSolidBBox(int min, int max)
Definition: HConstantFrameRate.h:370
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:233
void SetTargetFrameRate(float framerate)
Definition: HConstantFrameRate.h:705
void SetMultiplier(int mp)
Definition: HConstantFrameRate.h:162
Detail change is allowed based on target framerate.
Definition: HConstantFrameRate.h:71
bool m_bConstFRActive
Definition: HConstantFrameRate.h:516
HActivityType
Definition: HConstantFrameRate.h:55
Placeholder type.
Definition: HConstantFrameRate.h:48
Definition: HConstantFrameRate.h:195
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:312
No detail level change.
Definition: HConstantFrameRate.h:69
HBaseView * m_pHView
Definition: HConstantFrameRate.h:515
Maximum extent simplification type.
Definition: HConstantFrameRate.h:49