package Ġgod ot . core Ċ Ċ import Ġgd native . godot _ quat Ċ import Ġkotlinx . c interop . C Value Ċ import Ġkotlinx . c interop . invoke Ċ import Ġkotlinx . c interop . point ed Ċ import Ġkotlinx . c interop . readValue Ċ Ċ class ĠQu at ( ĊĠ Ġvalue : ĠC Value < godot _ quat > Ċ ) Ġ: ĠCore Type < godot _ quat >( value ) Ġ{ ĊĠ Ġinternal Ġconstructor (): Ġthis (__ new ( Basis ())) ĊĠ Ġconstructor ( x : ĠFloat Ġ= Ġ 0 f , Ġy : ĠFloat Ġ= Ġ 0 f , Ġz : ĠFloat Ġ= Ġ 0 f , Ġw : ĠFloat Ġ= Ġ 1 f ): Ġthis (__ new ( x , Ġy , Ġz , Ġw )) ĊĠ Ġconstructor ( from : ĠB asis ): Ġthis (__ new ( from )) ĊĠ Ġconstructor ( from : ĠVector 3 ): Ġthis (__ new ( from )) ĊĠ Ġconstructor ( axis : ĠVector 3 , Ġangle : ĠFloat ): Ġthis (__ new ( axis , Ġangle )) ĊĊĠ Ġvar Ġx : ĠFloat ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ get _ x ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġ_ value Ġ= ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ set _ x ) (_ value . ptr , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠ Ġvar Ġy : ĠFloat ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ get _ y ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġ_ value Ġ= ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ set _ y ) (_ value . ptr , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠ Ġvar Ġz : ĠFloat ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ get _ z ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġ_ value Ġ= ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ set _ z ) (_ value . ptr , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠ Ġvar Ġw : ĠFloat ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ get _ w ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġ_ value Ġ= ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ set _ w ) (_ value . ptr , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġcubic S lerp ( b : ĠQu at , Ġpre A : ĠQu at , Ġpost B : ĠQu at , Ġt : ĠFloat ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ cubic _ s lerp ) (_ value . ptr , Ġb ._ value . ptr , Ġpre A ._ value . ptr , Ġpost B ._ value . ptr , Ġt ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġdot ( quat : ĠQu at ): ĠFloat Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ dot ) (_ value . ptr , Ġquat ._ value . ptr ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġinverse (): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ inverse ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġis Normalized (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ is _ normalized ) (_ value . ptr ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġlength (): ĠFloat Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ length ) (_ value . ptr ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġlength Squared (): ĠFloat Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ length _ squared ) (_ value . ptr ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġnormalized (): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ normalized ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġset Axis Angle ( axis : ĠVector 3 , Ġangle : ĠFloat ) Ġ{ ĊĠĠĠ Ġ_ value Ġ= ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native 1 1 . godot _ quat _ set _ axis _ angle ) (_ value . ptr , Ġaxis ._ value . ptr , Ġangle ) ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġs lerp ( quat : ĠQu at , Ġt : ĠFloat ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ s lerp ) (_ value . ptr , Ġquat ._ value . ptr , Ġt ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġs lerp ni ( quat : ĠQu at , Ġt : ĠFloat ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ s lerp ni ) (_ value . ptr , Ġquat ._ value . ptr , Ġt ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġx form ( vec : ĠVector 3 ): ĠVector 3 Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠVector 3 ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ xform ) (_ value . ptr , Ġvec ._ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġplus ( other : ĠQu at ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ operator _ add ) (_ value . ptr , Ġother ._ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġminus ( other : ĠQu at ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ operator _ subtract ) (_ value . ptr , Ġother ._ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġtimes ( scalar : ĠFloat ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ operator _ multiply ) (_ value . ptr , Ġscalar ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġdiv ( scalar : ĠFloat ): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ operator _ divide ) (_ value . ptr , Ġscalar ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġunary Minus (): ĠQu at Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠQu at ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ operator _ neg ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġto Variant (): ĠVariant Ġ{ ĊĠĠĠ Ġreturn ĠVariant ( this ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġto GD String (): ĠG D String Ġ{ ĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ ĠG D String ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ as _ string ) (_ value . ptr ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( other Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn ĠAllocator . allocation Scope Ġ{ ĊĠĠĠĠĠ Ġwhen Ġ( other ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠQu at Ġ-> ĠcheckNotNull ( God ot . gd native . godot _ quat _ operator _ equal ) (_ value . ptr , Ġother ._ value . ptr ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ_ value . hashCode () ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġinternal Ġfun Ġ__ new ( x : ĠFloat , Ġy : ĠFloat , Ġz : ĠFloat , Ġw : ĠFloat ) Ġ= Ġalloc Type 2 < godot _ quat > Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ new )( it , Ġx , Ġy , Ġz , Ġw ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġ__ new ( from : ĠB asis ) Ġ= Ġalloc Type 2 < godot _ quat > Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native 1 1 . godot _ quat _ new _ with _ basis )( it , Ġfrom ._ value . ptr ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġ__ new ( from : ĠVector 3 ) Ġ= Ġalloc Type 2 < godot _ quat > Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native 1 1 . godot _ quat _ new _ with _ euler )( it , Ġfrom ._ value . ptr ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġ__ new ( from : ĠVector 3 , Ġangle : ĠFloat ) Ġ= Ġalloc Type 2 < godot _ quat > Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ quat _ new _ with _ axis _ angle )( it , Ġfrom ._ value . ptr , Ġangle ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }