Program Listing for File Layer.h

Program Listing for File Layer.h#

Return to documentation for file (include/Karana/Scene/Layer.h)

/*
*Copyright(c)2024-2025KaranaDynamicsPtyLtd.Allrightsreserved.
*
*NOTICETOUSER:
*
*Thissourcecodeand/ordocumentation(the"LicensedMaterials")is
*theconfidentialandproprietaryinformationofKaranaDynamicsInc.
*UseoftheseLicensedMaterialsisgovernedbythetermsandconditions
*ofaseparatesoftwarelicenseagreementbetweenKaranaDynamicsandthe
*Licensee("LicenseAgreement").Unlessexpresslypermittedunderthat
*agreement,anyreproduction,modification,distribution,ordisclosure
*oftheLicensedMaterials,inwholeorinpart,toanythirdparty
*withoutthepriorwrittenconsentofKaranaDynamicsisstrictlyprohibited.
*
*THELICENSEDMATERIALSAREPROVIDED"ASIS"WITHOUTWARRANTYOFANYKIND.
*KARANADYNAMICSDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING
*BUTNOTLIMITEDTOWARRANTIESOFMERCHANTABILITY,NON-INFRINGEMENT,AND
*FITNESSFORAPARTICULARPURPOSE.
*
*INNOEVENTSHALLKARANADYNAMICSBELIABLEFORANYDAMAGESWHATSOEVER,
*INCLUDINGBUTNOTLIMITEDTOLOSSOFPROFITS,DATA,ORUSE,EVENIF
*ADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGES,WHETHERINCONTRACT,TORT,
*OROTHERWISEARISINGOUTOFORINCONNECTIONWITHTHELICENSEDMATERIALS.
*
*U.S.GovernmentEndUsers:TheLicensedMaterialsarea"commercialitem"
*asdefinedat48C.F.R.2.101,andareprovidedtotheU.S.Government
*onlyasacommercialenditemunderthetermsofthislicense.
*
*AnyuseoftheLicensedMaterialsinindividualorcommercialsoftwaremust
*include,intheuserdocumentationandinternalsourcecodecomments,
*thisNotice,Disclaimer,andU.S.GovernmentUseProvision.
*/


#pragmaonce
#include<cstdint>

namespaceKarana::Scene{
usinglayer_t=uint32_t;

inlineconstexprlayer_tLAYER_CUSTOM0=1<<0;
inlineconstexprlayer_tLAYER_CUSTOM1=1<<1;
inlineconstexprlayer_tLAYER_CUSTOM2=1<<2;
inlineconstexprlayer_tLAYER_CUSTOM3=1<<3;
inlineconstexprlayer_tLAYER_CUSTOM4=1<<4;
inlineconstexprlayer_tLAYER_CUSTOM5=1<<5;
inlineconstexprlayer_tLAYER_CUSTOM6=1<<6;
inlineconstexprlayer_tLAYER_CUSTOM7=1<<7;
inlineconstexprlayer_tLAYER_CUSTOM8=1<<8;
inlineconstexprlayer_tLAYER_CUSTOM9=1<<9;
inlineconstexprlayer_tLAYER_CUSTOM10=1<<10;
inlineconstexprlayer_tLAYER_CUSTOM11=1<<11;
inlineconstexprlayer_tLAYER_CUSTOM12=1<<12;
inlineconstexprlayer_tLAYER_CUSTOM13=1<<13;
inlineconstexprlayer_tLAYER_CUSTOM14=1<<14;
inlineconstexprlayer_tLAYER_CUSTOM15=1<<15;
inlineconstexprlayer_tLAYER_CUSTOM16=1<<16;
inlineconstexprlayer_tLAYER_CUSTOM17=1<<17;
inlineconstexprlayer_tLAYER_CUSTOM18=1<<18;
inlineconstexprlayer_tLAYER_CUSTOM19=1<<19;
inlineconstexprlayer_tLAYER_CUSTOM20=1<<20;
inlineconstexprlayer_tLAYER_CUSTOM21=1<<21;
inlineconstexprlayer_tLAYER_CUSTOM22=1<<22;
inlineconstexprlayer_tLAYER_CUSTOM23=1<<23;

inlineconstexprlayer_tLAYER_RESERVED0=1<<24;
inlineconstexprlayer_tLAYER_RESERVED1=1<<25;
inlineconstexprlayer_tLAYER_RESERVED2=1<<26;
inlineconstexprlayer_tLAYER_RESERVED3=1<<27;
inlineconstexprlayer_tLAYER_RESERVED4=1<<28;
inlineconstexprlayer_tLAYER_RESERVED5=1<<29;
inlineconstexprlayer_tLAYER_RESERVED6=1<<30;
inlineconstexprlayer_tLAYER_RESERVED7=1<<31;

//Graphicallayers
inlineconstexprlayer_tLAYER_PHYSICAL_GRAPHICS=LAYER_RESERVED0;
inlineconstexprlayer_tLAYER_ORNAMENTAL=LAYER_RESERVED1;
inlineconstexprlayer_tLAYER_STICK_FIGURE=LAYER_RESERVED2;

//Otherassignedlayers
inlineconstexprlayer_tLAYER_COLLISION=LAYER_RESERVED3;

//Layersets
inlineconstexprlayer_tLAYER_NONE=0;
//Layersforphysicalpartsthatshouldbeusedforbothgraphicsandcollisions
inlineconstexprlayer_tLAYER_PHYSICAL=LAYER_COLLISION|LAYER_PHYSICAL_GRAPHICS;
//Defaultlayersdisplayedingraphicalscenes
inlineconstexprlayer_tLAYER_GRAPHICS=
LAYER_PHYSICAL_GRAPHICS|LAYER_ORNAMENTAL|LAYER_STICK_FIGURE;
inlineconstexprlayer_tLAYER_ALL=UINT32_MAX;
}//namespaceKarana::Scene