class CFuncRotator : public CBaseModelEntity
{
public:
CHandle<CBaseEntity> m_ hRotatorTarget;
bool m_ bIsRotating;
bool m_ bIsReversing;
float32 m_ flTimeToReachMaxSpeed;
float32 m_ flTimeToReachZeroSpeed;
float32 m_ flDistanceAlongArcTraveled;
float32 m_ flTimeToWaitOscillate;
GameTime_ t m_ flTimeRotationStart;
Quaternion m_ qLSPrevChange;
Quaternion m_ qWSPrev;
Quaternion m_ qWSInit;
Quaternion m_ qLSInit;
Quaternion m_ qLSOrientation;
CEntityIOOutput m_ OnRotationStarted;
CEntityIOOutput m_ OnRotationCompleted;
CEntityIOOutput m_ OnOscillate;
CEntityIOOutput m_ OnOscillateStartArrive;
CEntityIOOutput m_ OnOscillateStartDepart;
CEntityIOOutput m_ OnOscillateEndArrive;
CEntityIOOutput m_ OnOscillateEndDepart;
bool m_ bOscillateDepart;
int32 m_ nOscillateCount;
CFuncRotator_ _ Rotate_ t m_ eRotateType;
CFuncRotator_ _ Rotate_ t m_ ePrevRotateType;
bool m_ bHasTargetOverride;
Quaternion m_ qOrientationOverride;
RotatorTargetSpace_ t m_ eSpaceOverride;
QAngle m_ qAngularVelocity;
Vector m_ vLookAtForcedUp;
CUtlSymbolLarge m_ strRotatorTarget;
bool m_ bRecordHistory;
CUtlVector<RotatorHistoryEntry_ t> m_ vecRotatorHistory;
bool m_ bReturningToPreviousOrientation;
CUtlVector<RotatorQueueEntry_ t> m_ vecRotatorQueue;
CUtlVector<RotatorHistoryEntry_ t> m_ vecRotatorQueueHistory;
SolidType_ t m_ eSolidType;
CHandle<CFuncMover> m_ hSpeedFromMover;
CUtlSymbolLarge m_ iszSpeedFromMover;
float32 m_ flSpeedScale;
float32 m_ flMinYawRotation;
float32 m_ flMaxYawRotation;
};