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; }
315 void SetSegmentSwitch(
bool ssl) { m_bSegmentSwitch = ssl; }
316 bool m_bSegmentSwitch;
387 static void RegisterCallbacks();
397 static void draw_solid_bbx_tree(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
398 static void draw_solid_bbx(HIC_Rendition *rendition, HIC_Segment_Info * geo3);
431 static void RegisterCallbacks();
442 static void draw_wireframe_bbx(HIC_Rendition *rendition,HIC_Segment_Info * geo3);
514 void UpdateLevel(
int SimpLevel,
int SimpListPos);
575 void SetHoopsSimplificationOptions(
int SimpLevel,
int SimpListPos);
583 void AdjustListPointers(
int &SimpLevel,
int &SimpListPos);
590 void AdjustDetail(
float FrameRate);
603 bool IsLowestDetail();
604 void ChangeDetail(
int change,
int *SimpLevel = 0,
int *SimpListPos = 0);
623 bool GetMode(
HConstFRSimpType ***sd = 0L ,
float *target_framerate = 0L,
int *length = 0L);
634 void Init(
float target_framerate=20.0,
HConstFRSimpType **sd = 0,
int length = 0,
float deadzone =3.0);
670 void IncreaseDetailTemp();
677 bool ViewpointHasChanged(
bool update =
true);
684 void SetDetailIncOnIdleMode (
DetailChangeMode mode) {m_DetailIncOnIdleMode=mode; m_SimplificationIncreaseOnIdle = mode;}
732 void AdjustLodOptions();
734 bool GetDetailIncreaseState() {
return m_bIncreaseDetailTemp; }
739 void SetDetailLevel (
int listpos,
int simplevel) { m_SimpListPos = listpos; m_SimpLevel = simplevel; }
753 void AdjustDefaultDetailLevelToModel();
762 static bool Tick(
float request_time,
float actual_time,
void * user_data);
764 void SetDisableIncreaseTemp(
bool it) { m_bDisableIncreaseTemp = it; }
765 void InitiateDelay() { m_bOneDelay =
true; }
766 int GetDetailLevelNum();
767 int GetTotalDetailLevelNum();
769 void SetWatchActivity(
bool wa) { m_bWatchActivity = wa; }
770 void MajorDetailDecrease();
771 void MajorDetailIncrease();
775 bool m_bFullDetailTemp;
776 bool m_bWatchActivity;
777 bool m_bIncreaseDetailTemp;
780 bool m_bDisableIncreaseTemp;
782 float m_OneDelayStart;
783 bool m_bAdjustNextTime;
786 int m_CounterThreshold;
787 int m_TempDetailIncrement;
788 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:523
static HConstFRSimpType ** CreateList(int size)
Definition: HConstantFrameRate.h:131
HFrWireframe(int min, int max)
Definition: HConstantFrameRate.h:462
The HConstantFrameRate class provides support for maintaining a constant framerate when rendering...
Definition: HConstantFrameRate.h:495
HFrLodClamp(int min, int max)
Definition: HConstantFrameRate.h:290
Definition: HConstantFrameRate.h:451
HConstFRSimpType(int min, int max)
Definition: HConstantFrameRate.h:96
HFrWireframeBBox()
Definition: HConstantFrameRate.h:410
virtual void Set(HConstantFrameRate *pCfr, int SimpLevel)=0
void SetDetailIncMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:683
DetailChangeMode m_SimplificationIncreaseOnIdle
Definition: HConstantFrameRate.h:544
void SetActivityType(HActivityType at)
Definition: HConstantFrameRate.h:721
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:484
HActivityType GetActivityType()
Definition: HConstantFrameRate.h:725
Definition: HConstantFrameRate.h:325
int GetMinSimpLevel()
Definition: HConstantFrameRate.h:126
HFrNoSimpAA(int min, int max)
Definition: HConstantFrameRate.h:202
void SetDetailDecMode(DetailChangeMode mode)
Definition: HConstantFrameRate.h:694
HFrNoSimp(int min, int max)
Definition: HConstantFrameRate.h:247
DetailChangeMode GetDetailDecMode()
Definition: HConstantFrameRate.h:697
void SetDeadZone(float deadzone)
Definition: HConstantFrameRate.h:712
Definition: HConstantFrameRate.h:238
void SetSimpLevel(int simplevel)
Definition: HConstantFrameRate.h:749
No simplification. The scene is antialiased.
Definition: HConstantFrameRate.h:37
HFrWireframeBBox(int min, int max)
Definition: HConstantFrameRate.h:416
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:558
virtual void Update(HConstantFrameRate *pCfr, int SimpLevel)
int m_FrameRateCounter
Definition: HConstantFrameRate.h:546
Definition: HConstantFrameRate.h:278
Definition: HTManager.h:157
int m_SimpLevel
Definition: HConstantFrameRate.h:534
ConstFRType GetType()
Definition: HConstantFrameRate.h:307
Indicates no activity that would affect the constant framerate logic.
Definition: HConstantFrameRate.h:52
HFrLodClamp()
Definition: HConstantFrameRate.h:282
HFrWireframe()
Definition: HConstantFrameRate.h:456
int GetMaxSimpLevel()
Definition: HConstantFrameRate.h:128
DetailChangeMode m_SimplificationIncrease
Definition: HConstantFrameRate.h:543
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:428
ConstFRType
Definition: HConstantFrameRate.h:34
ConstFRType GetType()
Definition: HConstantFrameRate.h:347
Definition: HConstantFrameRate.h:363
HConstFRSimpType ** m_pSimpList
Definition: HConstantFrameRate.h:529
Wireframe simplification type.
Definition: HConstantFrameRate.h:40
void SetDetailLevel(int listpos, int simplevel)
Definition: HConstantFrameRate.h:739
int m_SimpListPos
Definition: HConstantFrameRate.h:535
DetailChangeMode m_SimplificationDecrease
Definition: HConstantFrameRate.h:542
LOD clamp type. All objects share the same detail level.
Definition: HConstantFrameRate.h:41
HFrSolidBBox()
Definition: HConstantFrameRate.h:367
Definition: HConstantFrameRate.h:406
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:537
ConstFRType GetType()
Definition: HConstantFrameRate.h:175
void SetEmergencyDetailDecrease(bool detaildecrease)
Definition: HConstantFrameRate.h:716
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:268
HActivityType m_ActivityType
Definition: HConstantFrameRate.h:568
HFrLodThreshold()
Definition: HConstantFrameRate.h:329
DetailChangeMode m_DetailIncMode
Definition: HConstantFrameRate.h:551
bool GetActive()
Definition: HConstantFrameRate.h:641
No simplification.
Definition: HConstantFrameRate.h:36
void ResetListPointers()
Definition: HConstantFrameRate.h:700
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:688
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:440
int GetSimpLevel()
Definition: HConstantFrameRate.h:726
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:182
HFrLodThreshold(int min, int max)
Definition: HConstantFrameRate.h:335
Indicates movement activity in the scene.
Definition: HConstantFrameRate.h:53
DetailChangeMode m_DetailDecMode
Definition: HConstantFrameRate.h:556
bool m_bEmergencyDecrease
Definition: HConstantFrameRate.h:563
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:394
ConstFRType GetType()
Definition: HConstantFrameRate.h:215
Definition: HConstantFrameRate.h:141
ConstFRType GetType()
Definition: HConstantFrameRate.h:384
float GetTargetFrameRate()
Definition: HConstantFrameRate.h:703
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:354
ConstFRType GetType()
Definition: HConstantFrameRate.h:476
HBaseView * GetView()
Definition: HConstantFrameRate.h:507
HFrExtent()
Definition: HConstantFrameRate.h:145
HFrSolidBBox(int min, int max)
Definition: HConstantFrameRate.h:372
static HConstFRSimpType * Create(int min, int max)
Definition: HConstantFrameRate.h:230
void SetTargetFrameRate(float framerate)
Definition: HConstantFrameRate.h:707
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:518
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:314
No detail level change.
Definition: HConstantFrameRate.h:64
HBaseView * m_pHView
Definition: HConstantFrameRate.h:517
Maximum extent simplification type.
Definition: HConstantFrameRate.h:44