HyperRogue  11.3d
game/visualization engine based on non-Euclidean geometry
Classes | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
hr::geometry_information Struct Reference

Classes

struct  cellrotation_t
 
struct  gpdata_t
 

Public Member Functions

void prepare_basics ()
 
void prepare_compute3 ()
 
void prepare_shapes ()
 
void prepare_usershapes ()
 
void hpcpush (hyperpoint h)
 
void hpcsquare (hyperpoint h1, hyperpoint h2, hyperpoint h3, hyperpoint h4)
 
void chasmifyPoly (double fac, double fac2, int k)
 
void shift (hpcshape &sh, double dx, double dy, double dz)
 
void initPolyForGL ()
 
void extra_vertices ()
 
transmatrix ddi (int a, ld x)
 
void drawTentacle (hpcshape &h, ld rad, ld var, ld divby)
 
hyperpoint hpxyzsc (double x, double y, double z)
 
hyperpoint turtlevertex (int u, double x, double y, double z)
 
void bshape (hpcshape &sh, PPR prio)
 
void finishshape ()
 
void bshape (hpcshape &sh, PPR prio, double shzoom, int shapeid, double bonus=0, flagtype flags=0)
 
void copyshape (hpcshape &sh, hpcshape &orig, PPR prio)
 
void zoomShape (hpcshape &old, hpcshape &newsh, double factor, PPR prio)
 
void pushShape (usershapelayer &ds)
 
void make_sidewalls ()
 
void procedural_shapes ()
 
void make_wall (int id, const vector< hyperpoint > vertices, vector< ld > weights=equal_weights)
 
void reserve_wall3d (int i)
 
void compute_cornerbonus ()
 
void create_wall3d ()
 
void configure_floorshapes ()
 
void init_floorshapes ()
 
void bshape2 (hpcshape &sh, PPR prio, int shapeid, struct matrixlist &m)
 
void bshape_regular (floorshape &fsh, int id, int sides, ld shift, ld size, cell *model)
 
void generate_floorshapes_for (int id, cell *c, int siid, int sidir)
 
void generate_floorshapes ()
 
void make_floor_textures_here ()
 
vector< hyperpointget_shape (hpcshape sh)
 
void add_cone (ld z0, const vector< hyperpoint > &vh, ld z1)
 
void add_prism_sync (ld z0, vector< hyperpoint > vh0, ld z1, vector< hyperpoint > vh1)
 
void add_prism (ld z0, vector< hyperpoint > vh0, ld z1, vector< hyperpoint > vh1)
 
void shift_last (ld z)
 
void shift_shape (hpcshape &sh, ld z)
 
void shift_shape_orthogonally (hpcshape &sh, ld z)
 
void add_texture (hpcshape &sh)
 
void make_ha_3d (hpcshape &sh, bool isarmor, ld scale)
 
void make_humanoid_3d (hpcshape &sh)
 
void addtri (array< hyperpoint, 3 > hs, int kind)
 
void make_armor_3d (hpcshape &sh, int kind=1)
 
void make_foot_3d (hpcshape &sh)
 
void make_head_only ()
 
void make_head_3d (hpcshape &sh)
 
void make_paw_3d (hpcshape &sh, hpcshape &legsh)
 
void make_abody_3d (hpcshape &sh, ld tail)
 
void make_ahead_3d (hpcshape &sh)
 
void make_skeletal (hpcshape &sh, ld push=0)
 
void make_revolution (hpcshape &sh, int mx=180, ld push=0)
 
void make_revolution_cut (hpcshape &sh, int each=180, ld push=0, ld width=99)
 
void clone_shape (hpcshape &sh, hpcshape &target)
 
void animate_bird (hpcshape &orig, hpcshape_animated &animated, ld body)
 
void slimetriangle (hyperpoint a, hyperpoint b, hyperpoint c, ld rad, int lev)
 
void balltriangle (hyperpoint a, hyperpoint b, hyperpoint c, ld rad, int lev)
 
void make_ball (hpcshape &sh, ld rad, int lev)
 
void make_star (hpcshape &sh, ld rad)
 
void make_euclidean_sky ()
 
void adjust_eye (hpcshape &eye, hpcshape head, ld shift_eye, ld shift_head, int q, ld zoom=1)
 
void shift_last_straight (ld z)
 
void queueball (const transmatrix &V, ld rad, color_t col, eItem what)
 
void make_shadow (hpcshape &sh)
 
void make_3d_models ()
 
void require_basics ()
 
void require_shapes ()
 
void require_usershapes ()
 
hpcshapegenerate_pipe (ld length, ld width)
 

Public Attributes

ld tessf
 
ld crossf
 
ld hexf
 
ld hcrossf
 
ld hexhexdist
 
ld hexvdist
 
ld hepvdist
 
ld rhexf
 
vector< transmatrixheptmove
 
vector< transmatrixhexmove
 
vector< transmatrixinvhexmove
 
int base_distlimit
 
ld sword_size
 
ld scalefactor
 
ld orbsize
 
ld floorrad0
 
ld floorrad1
 
ld zhexf
 
ld corner_bonus
 
ld hexshift
 
ld asteroid_size [8]
 
ld wormscale
 
ld tentacle_length
 
ld plevel
 
int single_step
 
int steps
 
ld INFDEEP
 
ld BOTTOM
 
ld HELLSPIKE
 
ld LAKE
 
ld WALL
 
ld FLOOR
 
ld STUFF
 
ld SLEV [4]
 
ld FLATEYE
 
ld LEG0
 
ld LEG1
 
ld LEG
 
ld LEG3
 
ld GROIN
 
ld GROIN1
 
ld GHOST
 
ld BODY
 
ld BODY1
 
ld BODY2
 
ld BODY3
 
ld NECK1
 
ld NECK
 
ld NECK3
 
ld HEAD
 
ld HEAD1
 
ld HEAD2
 
ld HEAD3
 
ld ALEG0
 
ld ALEG
 
ld ABODY
 
ld AHEAD
 
ld BIRD
 
ld LOWSKY
 
ld SKY
 
ld HIGH
 
ld HIGH2
 
ld SHALLOW
 
ld human_height
 
ld slev
 
ld eyelevel_familiar
 
ld eyelevel_human
 
ld eyelevel_dog
 
hpcshape shSemiFloorSide [SIDEPARS]
 
hpcshape shBFloor [2]
 
hpcshape shWave [8][2]
 
hpcshape shCircleFloor
 
hpcshape shBarrel
 
hpcshape shWall [2]
 
hpcshape shMineMark [2]
 
hpcshape shBigMineMark [2]
 
hpcshape shFan
 
hpcshape shZebra [5]
 
hpcshape shSwitchDisk
 
hpcshape shTower [11]
 
hpcshape shEmeraldFloor [6]
 
hpcshape shSemiFeatherFloor [2]
 
hpcshape shSemiFloor [2]
 
hpcshape shSemiBFloor [2]
 
hpcshape shSemiFloorShadow
 
hpcshape shMercuryBridge [2]
 
hpcshape shTriheptaSpecial [14]
 
hpcshape shCross
 
hpcshape shGiantStar [2]
 
hpcshape shLake
 
hpcshape shMirror
 
hpcshape shHalfFloor [6]
 
hpcshape shHalfMirror [3]
 
hpcshape shGem [2]
 
hpcshape shStar
 
hpcshape shDisk
 
hpcshape shDiskT
 
hpcshape shDiskS
 
hpcshape shDiskM
 
hpcshape shDiskSq
 
hpcshape shRing
 
hpcshape shTinyBird
 
hpcshape shTinyShark
 
hpcshape shEgg
 
hpcshape shSpikedRing
 
hpcshape shTargetRing
 
hpcshape shSawRing
 
hpcshape shGearRing
 
hpcshape shPeaceRing
 
hpcshape shHeptaRing
 
hpcshape shSpearRing
 
hpcshape shLoveRing
 
hpcshape shFrogRing
 
hpcshape shReserved1
 
hpcshape shReserved2
 
hpcshape shDaisy
 
hpcshape shTriangle
 
hpcshape shNecro
 
hpcshape shStatue
 
hpcshape shKey
 
hpcshape shWindArrow
 
hpcshape shGun
 
hpcshape shFigurine
 
hpcshape shTreat
 
hpcshape shElementalShard
 
hpcshape shIBranch
 
hpcshape shTentacle
 
hpcshape shTentacleX
 
hpcshape shILeaf [3]
 
hpcshape shMovestar
 
hpcshape shWolf
 
hpcshape shYeti
 
hpcshape shDemon
 
hpcshape shGDemon
 
hpcshape shEagle
 
hpcshape shGargoyleWings
 
hpcshape shGargoyleBody
 
hpcshape shFoxTail1
 
hpcshape shFoxTail2
 
hpcshape shDogBody
 
hpcshape shDogHead
 
hpcshape shDogFrontLeg
 
hpcshape shDogRearLeg
 
hpcshape shDogFrontPaw
 
hpcshape shDogRearPaw
 
hpcshape shDogTorso
 
hpcshape shHawk
 
hpcshape shCatBody
 
hpcshape shCatLegs
 
hpcshape shCatHead
 
hpcshape shFamiliarHead
 
hpcshape shFamiliarEye
 
hpcshape shWolf1
 
hpcshape shWolf2
 
hpcshape shWolf3
 
hpcshape shRatEye1
 
hpcshape shRatEye2
 
hpcshape shRatEye3
 
hpcshape shDogStripes
 
hpcshape shPBody
 
hpcshape shPSword
 
hpcshape shPKnife
 
hpcshape shFerocityM
 
hpcshape shFerocityF
 
hpcshape shHumanFoot
 
hpcshape shHumanLeg
 
hpcshape shHumanGroin
 
hpcshape shHumanNeck
 
hpcshape shSkeletalFoot
 
hpcshape shYetiFoot
 
hpcshape shMagicSword
 
hpcshape shMagicShovel
 
hpcshape shSeaTentacle
 
hpcshape shKrakenHead
 
hpcshape shKrakenEye
 
hpcshape shKrakenEye2
 
hpcshape shArrow
 
hpcshape shPHead
 
hpcshape shPFace
 
hpcshape shGolemhead
 
hpcshape shHood
 
hpcshape shArmor
 
hpcshape shAztecHead
 
hpcshape shAztecCap
 
hpcshape shSabre
 
hpcshape shTurban1
 
hpcshape shTurban2
 
hpcshape shVikingHelmet
 
hpcshape shRaiderHelmet
 
hpcshape shRaiderArmor
 
hpcshape shRaiderBody
 
hpcshape shRaiderShirt
 
hpcshape shWestHat1
 
hpcshape shWestHat2
 
hpcshape shGunInHand
 
hpcshape shKnightArmor
 
hpcshape shKnightCloak
 
hpcshape shWightCloak
 
hpcshape shGhost
 
hpcshape shEyes
 
hpcshape shSlime
 
hpcshape shJelly
 
hpcshape shJoint
 
hpcshape shWormHead
 
hpcshape shTentHead
 
hpcshape shShark
 
hpcshape shWormSegment
 
hpcshape shSmallWormSegment
 
hpcshape shWormTail
 
hpcshape shSmallWormTail
 
hpcshape shSlimeEyes
 
hpcshape shDragonEyes
 
hpcshape shWormEyes
 
hpcshape shGhostEyes
 
hpcshape shMiniGhost
 
hpcshape shMiniEyes
 
hpcshape shHedgehogBlade
 
hpcshape shHedgehogBladePlayer
 
hpcshape shWolfBody
 
hpcshape shWolfHead
 
hpcshape shWolfLegs
 
hpcshape shWolfEyes
 
hpcshape shWolfFrontLeg
 
hpcshape shWolfRearLeg
 
hpcshape shWolfFrontPaw
 
hpcshape shWolfRearPaw
 
hpcshape shFemaleBody
 
hpcshape shFemaleHair
 
hpcshape shFemaleDress
 
hpcshape shWitchDress
 
hpcshape shWitchHair
 
hpcshape shBeautyHair
 
hpcshape shFlowerHair
 
hpcshape shFlowerHand
 
hpcshape shSuspenders
 
hpcshape shTrophy
 
hpcshape shBugBody
 
hpcshape shBugArmor
 
hpcshape shBugLeg
 
hpcshape shBugAntenna
 
hpcshape shPickAxe
 
hpcshape shPike
 
hpcshape shFlailBall
 
hpcshape shFlailTrunk
 
hpcshape shFlailChain
 
hpcshape shHammerHead
 
hpcshape shBook
 
hpcshape shBookCover
 
hpcshape shGrail
 
hpcshape shBoatOuter
 
hpcshape shBoatInner
 
hpcshape shCompass1
 
hpcshape shCompass2
 
hpcshape shCompass3
 
hpcshape shKnife
 
hpcshape shTongue
 
hpcshape shFlailMissile
 
hpcshape shTrapArrow
 
hpcshape shPirateHook
 
hpcshape shPirateHood
 
hpcshape shEyepatch
 
hpcshape shPirateX
 
hpcshape shHeptaMarker
 
hpcshape shSnowball
 
hpcshape shSun
 
hpcshape shNightStar
 
hpcshape shEuclideanSky
 
hpcshape shSkeletonBody
 
hpcshape shSkull
 
hpcshape shSkullEyes
 
hpcshape shFatBody
 
hpcshape shWaterElemental
 
hpcshape shPalaceGate
 
hpcshape shFishTail
 
hpcshape shMouse
 
hpcshape shMouseLegs
 
hpcshape shMouseEyes
 
hpcshape shPrincessDress
 
hpcshape shPrinceDress
 
hpcshape shWizardCape1
 
hpcshape shWizardCape2
 
hpcshape shBigCarpet1
 
hpcshape shBigCarpet2
 
hpcshape shBigCarpet3
 
hpcshape shGoatHead
 
hpcshape shRose
 
hpcshape shRoseItem
 
hpcshape shThorns
 
hpcshape shRatHead
 
hpcshape shRatTail
 
hpcshape shRatEyes
 
hpcshape shRatCape1
 
hpcshape shRatCape2
 
hpcshape shWizardHat1
 
hpcshape shWizardHat2
 
hpcshape shTortoise [13][6]
 
hpcshape shDragonLegs
 
hpcshape shDragonTail
 
hpcshape shDragonHead
 
hpcshape shDragonSegment
 
hpcshape shDragonNostril
 
hpcshape shDragonWings
 
hpcshape shSolidBranch
 
hpcshape shWeakBranch
 
hpcshape shBead0
 
hpcshape shBead1
 
hpcshape shBatWings
 
hpcshape shBatBody
 
hpcshape shBatMouth
 
hpcshape shBatFang
 
hpcshape shBatEye
 
hpcshape shParticle [16]
 
hpcshape shAsteroid [8]
 
hpcshape shReptile [5][4]
 
hpcshape shReptileBody
 
hpcshape shReptileHead
 
hpcshape shReptileFrontFoot
 
hpcshape shReptileRearFoot
 
hpcshape shReptileFrontLeg
 
hpcshape shReptileRearLeg
 
hpcshape shReptileTail
 
hpcshape shReptileEye
 
hpcshape shTrylobite
 
hpcshape shTrylobiteHead
 
hpcshape shTrylobiteBody
 
hpcshape shTrylobiteFrontLeg
 
hpcshape shTrylobiteRearLeg
 
hpcshape shTrylobiteFrontClaw
 
hpcshape shTrylobiteRearClaw
 
hpcshape shBullBody
 
hpcshape shBullHead
 
hpcshape shBullHorn
 
hpcshape shBullRearHoof
 
hpcshape shBullFrontHoof
 
hpcshape shButterflyBody
 
hpcshape shButterflyWing
 
hpcshape shGadflyBody
 
hpcshape shGadflyWing
 
hpcshape shGadflyEye
 
hpcshape shTerraArmor1
 
hpcshape shTerraArmor2
 
hpcshape shTerraArmor3
 
hpcshape shTerraHead
 
hpcshape shTerraFace
 
hpcshape shJiangShi
 
hpcshape shJiangShiDress
 
hpcshape shJiangShiCap1
 
hpcshape shJiangShiCap2
 
hpcshape shPikeBody
 
hpcshape shPikeEye
 
hpcshape shAsymmetric
 
hpcshape shPBodyOnly
 
hpcshape shPBodyArm
 
hpcshape shPBodyHand
 
hpcshape shPHeadOnly
 
hpcshape shDodeca
 
hpcshape shFrogRearFoot
 
hpcshape shFrogFrontFoot
 
hpcshape shFrogRearLeg
 
hpcshape shFrogFrontLeg
 
hpcshape shFrogRearLeg2
 
hpcshape shFrogBody
 
hpcshape shFrogEye
 
hpcshape shFrogStripe
 
hpcshape shFrogJumpFoot
 
hpcshape shFrogJumpLeg
 
hpcshape_animated shAnimatedEagle
 
hpcshape_animated shAnimatedTinyEagle
 
hpcshape_animated shAnimatedGadfly
 
hpcshape_animated shAnimatedHawk
 
hpcshape_animated shAnimatedButterfly
 
hpcshape_animated shAnimatedGargoyle
 
hpcshape_animated shAnimatedGargoyle2
 
hpcshape_animated shAnimatedBat
 
hpcshape_animated shAnimatedBat2
 
map< int, hpcshapeshPipe
 
vector< hpcshapeshPlainWall3D
 
vector< hpcshapeshWireframe3D
 
vector< hpcshapeshWall3D
 
vector< hpcshapeshMiniWall3D
 
vector< hyperpointwalltester
 
vector< int > wallstart
 
vector< transmatrixraywall
 
vector< struct plain_floorshape * > all_plain_floorshapes
 
vector< struct escher_floorshape * > all_escher_floorshapes
 
plain_floorshape shFloor
 
plain_floorshape shMFloor
 
plain_floorshape shMFloor2
 
plain_floorshape shMFloor3
 
plain_floorshape shMFloor4
 
plain_floorshape shFullFloor
 
plain_floorshape shBigTriangle
 
plain_floorshape shTriheptaFloor
 
plain_floorshape shBigHepta
 
escher_floorshape shStarFloor
 
escher_floorshape shCloudFloor
 
escher_floorshape shCrossFloor
 
escher_floorshape shChargedFloor
 
escher_floorshape shSStarFloor
 
escher_floorshape shOverFloor
 
escher_floorshape shTriFloor
 
escher_floorshape shFeatherFloor
 
escher_floorshape shBarrowFloor
 
escher_floorshape shNewFloor
 
escher_floorshape shTrollFloor
 
escher_floorshape shButterflyFloor
 
escher_floorshape shLavaFloor
 
escher_floorshape shLavaSeabed
 
escher_floorshape shSeabed
 
escher_floorshape shCloudSeabed
 
escher_floorshape shCaveSeabed
 
escher_floorshape shPalaceFloor
 
escher_floorshape shDemonFloor
 
escher_floorshape shCaveFloor
 
escher_floorshape shDesertFloor
 
escher_floorshape shPowerFloor
 
escher_floorshape shRoseFloor
 
escher_floorshape shSwitchFloor
 
escher_floorshape shTurtleFloor
 
escher_floorshape shRedRockFloor [3]
 
escher_floorshape shDragonFloor
 
ld dlow_table [SIDEPARS]
 
ld dhi_table [SIDEPARS]
 
ld dfloor_table [SIDEPARS]
 
int prehpc
 
vector< hyperpointhpc
 
bool first
 
bool validsidepar [SIDEPARS]
 
vector< glvertex > ourshape
 
hpcshape shFullCross [2]
 
hpcshapelast
 
int SD3
 
int SD6
 
int SD7
 
int S12
 
int S14
 
int S21
 
int S28
 
int S42
 
int S36
 
int S84
 
vector< int > walloffsets
 
vector< array< int, 3 > > symmetriesAt
 
vector< cellrotation_tcellrotations
 
vector< hpcshape * > allshapes
 
transmatrix shadowmulmatrix
 
map< usershapelayer *, hpcshapeushr
 
shared_ptr< gpdata_tgpdata
 
int state
 
int usershape_state
 
basic_textureinfo models_texture
 
int timestamp
 

Static Public Attributes

static constexpr double bscale7 = 1
 
static constexpr double brot7 = 0
 
static constexpr double bscale6 = 1
 
static constexpr double brot6 = 0
 

Detailed Description

basic geometry parameters

Member Data Documentation

◆ tessf

ld hr::geometry_information::tessf

distance from heptagon center to another heptagon center

◆ crossf

ld hr::geometry_information::crossf

distance from heptagon center to adjacent cell center (either hcrossf or tessf)

◆ hexf

ld hr::geometry_information::hexf

distance from heptagon center to small heptagon vertex

◆ hcrossf

ld hr::geometry_information::hcrossf

distance from heptagon center to big heptagon vertex

◆ hexhexdist

ld hr::geometry_information::hexhexdist

distance between adjacent hexagon vertices

◆ hexvdist

ld hr::geometry_information::hexvdist

distance between hexagon vertex and hexagon center

◆ hepvdist

ld hr::geometry_information::hepvdist

distance between heptagon vertex and hexagon center (either hcrossf or something else)

◆ rhexf

ld hr::geometry_information::rhexf

distance from heptagon center to heptagon vertex (either hexf or hcrossf)

◆ sword_size

ld hr::geometry_information::sword_size

size of the Sword (from Orb of the Sword), used in the shmup mode

◆ scalefactor

ld hr::geometry_information::scalefactor

scale factor for the graphics of most things

◆ plevel

ld hr::geometry_information::plevel

level in product geometries

◆ single_step

int hr::geometry_information::single_step

level for a z-step

◆ steps

int hr::geometry_information::steps

the number of levels in SL2

◆ INFDEEP

ld hr::geometry_information::INFDEEP

various parameters related to the 3D view

◆ models_texture

basic_textureinfo hr::geometry_information::models_texture

contains the texture point coordinates for 3D models


The documentation for this struct was generated from the following files: