First commit

This commit is contained in:
2024-01-18 15:18:18 +01:00
commit d87b7c251e
120 changed files with 34736 additions and 0 deletions

BIN
css/.DS_Store vendored Executable file

Binary file not shown.

5
css/all.min.css vendored Executable file

File diff suppressed because one or more lines are too long

7
css/bootstrap.min.css vendored Executable file

File diff suppressed because one or more lines are too long

1
css/bootstrap.min.css.map Executable file

File diff suppressed because one or more lines are too long

87
css/menus.css Executable file
View File

@@ -0,0 +1,87 @@
/* line 7, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
#div-menu-contextuel {
display: flex;
z-index: 200;
position: absolute;
border-radius: 12px;
box-shadow: 0 0 12px black;
background: black;
color: white;
font-size: 18x;
font-weight: normal;
opacity: 95%;
-webkit-transition: opacity 500ms;
-moz-transition: opacity 500ms;
-o-transition: opacity 500ms;
-ms-transition: opacity 500ms; }
/* line 26, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante {
list-style: none;
margin-right: 20px; }
/* line 31, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
ul.liste-deroulante {
margin: 10px;
padding-left: 8px;
border: 0px; }
/* line 37, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li {
padding: 6px 8px;
cursor: pointer;
font-family: "Avenir Next", "Avenir", sans-serif; }
/* line 42, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li:before {
padding-right: 8px;
font-family: "Font Awesome 5 Free";
font-weight: 900; }
/* line 49, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li:not(.blank)::before {
content: "\f00d"; }
/* line 53, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.moveBack::before {
content: "\f062"; }
/* line 57, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.moveFront::before {
content: "\f063"; }
/* line 61, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.add::before {
content: "\f067"; }
/* line 65, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.delete::before {
content: "\f2ed"; }
/* line 69, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.choose::before {
content: "\f05b"; }
/* line 73, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.disabled {
cursor: not-allowed; }
/* line 76, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante li.disabled:hover {
background-color: #202020; }
/* line 81, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.liste-deroulante hr {
background-color: grey;
height: 1px;
border: 0;
margin: 2px 0px; }
/* Pour le dat.gui */
/* line 90, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.dg .property-name {
width: 70% !important; }
/* line 94, /Volumes/Dev/Sources/Clients/Maninghem/css/menus.scss */
.dg .c {
width: 20% !important; }
/*# sourceMappingURL=menus.css.map */

9
css/menus.css.map Executable file
View File

@@ -0,0 +1,9 @@
{
"version": 3,
"file": "menus.css",
"sources": [
"menus.scss"
],
"mappings": ";AAMA,AAAA,oBAAoB,CAAC;EACjB,OAAO,EAAE,IAAK;EACd,OAAO,EAAE,GAAI;EACb,QAAQ,EAAE,QAAS;EAEnB,aAAa,EAAE,IAAK;EACpB,UAAU,EAAE,cAAe;EAC3B,UAAU,EAAE,KAAM;EAClB,KAAK,EAAE,KAAM;EACb,SAAS,EAAE,GAAI;EACf,WAAW,EAAE,MAAO;EAEpB,OAAO,EAAE,GAAI;EACb,kBAAkB,EAAE,aAAc;EAClC,eAAe,EAAE,aAAc;EAC/B,aAAa,EAAE,aAAc;EAC7B,cAAc,EAAE,aAAc,GACjC;;;AAED,AAAA,iBAAiB,CAAC;EACd,UAAU,EAAE,IAAK;EACjB,YAAY,EAAE,IAAK,GACtB;;;AAED,AAAE,EAAA,AAAA,iBAAiB,CAAC;EAChB,MAAM,EAAE,IAAK;EACb,YAAY,EAAE,GAAI;EAClB,MAAM,EAAE,GAAI,GACf;;;AAED,AAAkB,iBAAD,CAAC,EAAE,CAAC;EACjB,OAAO,EAAE,OAAQ;EACjB,MAAM,EAAE,OAAQ;EAChB,WAAW,EAtCK,aAAa,EACjC,QAAQ,EACR,UAAU,GA2CT;;EAVD,AAAkB,iBAAD,CAAC,EAAE,AAKf,OAAO,CAAC;IACL,aAAa,EAAE,GAAI;IACnB,WAAW,EA3CE,qBAAqB;IA4ClC,WAAW,EAAE,GAAI,GACpB;;;AAGL,AAAgC,iBAAf,CAAC,EAAE,AAAA,IAAK,CAAA,AAAA,MAAM,CAAC,QAAQ,CAAC;EACrC,OAAO,EAAE,OAAQ,GACpB;;;AAED,AAA6B,iBAAZ,CAAC,EAAE,AAAA,SAAS,AAAA,QAAQ,CAAC;EAClC,OAAO,EAAE,OAAQ,GACpB;;;AAED,AAA8B,iBAAb,CAAC,EAAE,AAAA,UAAU,AAAA,QAAQ,CAAC;EACnC,OAAO,EAAE,OAAQ,GACpB;;;AAED,AAAwB,iBAAP,CAAC,EAAE,AAAA,IAAI,AAAA,QAAQ,CAAC;EAC7B,OAAO,EAAE,OAAQ,GACpB;;;AAED,AAA2B,iBAAV,CAAC,EAAE,AAAA,OAAO,AAAA,QAAQ,CAAC;EAChC,OAAO,EAAE,OAAQ,GACpB;;;AAED,AAA2B,iBAAV,CAAC,EAAE,AAAA,OAAO,AAAA,QAAQ,CAAC;EAChC,OAAO,EAAE,OAAQ,GACpB;;;AAED,AAAoB,iBAAH,CAAC,EAAE,AAAA,SAAS,CAAC;EAC1B,MAAM,EAAE,WAAY,GAKvB;;EAND,AAAoB,iBAAH,CAAC,EAAE,AAAA,SAAS,AAGxB,MAAM,CAAC;IACJ,gBAAgB,EAAE,OAAQ,GAC7B;;;AAGL,AAAkB,iBAAD,CAAC,EAAE,CAAC;EACjB,gBAAgB,EAAE,IAAK;EACvB,MAAM,EAAE,GAAI;EACZ,MAAM,EAAE,CAAE;EACV,MAAM,EAAE,OAAQ,GACnB;;AAGD,qBAAqB;;AACrB,AAAI,GAAD,CAAC,cAAc,CAAC;EACf,KAAK,EAAE,cAAe,GACzB;;;AAED,AAAI,GAAD,CAAC,EAAE,CAAC;EACH,KAAK,EAAE,cAAe,GACzB",
"names": []
}

96
css/menus.scss Executable file
View File

@@ -0,0 +1,96 @@
$font-family-icones: 'Font Awesome 5 Free';
$font-family-texte: 'Avenir Next',
'Avenir',
sans-serif;
#div-menu-contextuel {
display: flex;
z-index: 200;
position: absolute;
border-radius: 12px;
box-shadow: 0 0 12px black;
background: black;
color: white;
font-size: 18x;
font-weight: normal;
opacity: 95%;
-webkit-transition: opacity 500ms;
-moz-transition: opacity 500ms;
-o-transition: opacity 500ms;
-ms-transition: opacity 500ms;
}
.liste-deroulante {
list-style: none;
margin-right: 20px;
}
ul.liste-deroulante {
margin: 10px;
padding-left: 8px;
border: 0px;
}
.liste-deroulante li {
padding: 6px 8px;
cursor: pointer;
font-family: $font-family-texte;
&:before {
padding-right: 8px;
font-family: $font-family-icones;
font-weight: 900;
}
}
.liste-deroulante li:not(.blank)::before {
content: "\f00d";
}
.liste-deroulante li.moveBack::before {
content: "\f062";
}
.liste-deroulante li.moveFront::before {
content: "\f063";
}
.liste-deroulante li.add::before {
content: "\f067";
}
.liste-deroulante li.delete::before {
content: "\f2ed";
}
.liste-deroulante li.choose::before {
content: "\f05b";
}
.liste-deroulante li.disabled {
cursor: not-allowed;
&:hover {
background-color: #202020;
}
}
.liste-deroulante hr {
background-color: grey;
height: 1px;
border: 0;
margin: 2px 0px;
}
/* Pour le dat.gui */
.dg .property-name {
width: 70% !important;
}
.dg .c {
width: 20% !important;
}

733
css/styles.css Executable file
View File

@@ -0,0 +1,733 @@
html,
body {
margin: 0;
padding: 0;
overflow: hidden;
cursor: default;
}
/************ Affichage message d'info ou d'erreur ***************/
.infos,
.alertes {
position: absolute;
top: 50px;
width: 100%;
text-align: center;
z-index: 100;
display: block;
}
#message-info,
#message-alerte {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 20px;
}
.alerte {
font-weight: bold;
text-shadow: 0px 0px 5px white;
color: red;
}
.normal {
font-weight: normal;
color: white;
}
/***************** Logo *******************/
.logo {
position: absolute;
bottom: 28px;
right: 80px;
}
.logo h4 {
color: white;
font-size: 12px;
text-align: left;
font-family: "Avenir Next", "Avenir", sans-serif;
}
.image-logo {
width: 120px;
filter: drop-shadow(5px 5px 5px black);
opacity: 0.8;
border-radius: 6px;
margin-bottom: 10px;
}
/***************** Aide en ligne *******************/
.div-aide {
display: flex;
position: absolute;
width: 690px;
align-items: flex-end;
bottom: 10px;
right: -660px;
z-index: 200;
margin: 10px;
opacity: 90%;
transition: all .5s ease-in;
}
.div-aide:hover {
transform: translateX(-660px);
transition-delay: 0.8s;
}
.div-aide.affiche {
transform: translateX(-660px);
}
.div-aide .div-icone {
width: 46px;
padding: 8px;
justify-content: center;
background-color: white;
border-radius: 10px 0px 0px 10px;
}
.div-aide .div-contenu {
height: auto;
background-color: white;
padding: 15px 10px 0px 30px;
border-radius: 10px 10px 10px 0px;
}
.texte-aide {
padding-left: 0px;
list-style: none;
}
.texte-aide > h3 {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 16px;
font-weight: bold;
}
.texte-aide > li {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
text-align: justify-all;
}
.texte-aide > li:before {
font-family: "Font Awesome 5 Free";
content: "\f105";
font-weight: 900;
margin-right: 8px;
}
.image-aide {
margin-right: 10px;
align-content: center;
}
#fermer-popup-aide {
position: relative;
right: -40px;
top: -10px;
}
#fermer-popup-aide > span {
font-family: "Avenir Next", "Avenir", sans-serif;
color: white;
font-size: 18px;
font-weight: bolder;
margin-left: -400px;
}
#fermer-popup-aide > span::after {
margin-left: 20px;
font-family: "Font Awesome 5 Free";
font-size: 30px;
content: "\f0a9";
}
.lien-tuto {
position: absolute;
top: 10px;
right: 40px;
}
.lien-tuto a {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 14px;
color: red !important;
font-weight: 600;
}
/************ DAT.GUI *********/
.dg.ac {
margin-top: 28px;
margin-right: 38px;
z-index: 100;
}
/************ Popup d'alerte *********/
#popup-alert {
display: grid;
grid-template-areas:
'titre'
'bouton bouton bouton';
grid-gap: 1.5rem;
opacity: 85%;
position: fixed;
justify-content: center;
justify-items: center;
align-content: center;
width: 480px;
height: auto;
padding: 20px;
margin-top: 5vh;
margin-left: 35vw;
background-color: #e6e6e6;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-alert #titre-popup {
grid: texte;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 16px;
color: black;
text-align: center;
margin-bottom: 20px;
}
#popup-alert button {
grid: bouton;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
margin-right: 10px;
}
/************ Popup de choix d'une ouverture *********/
/* Masque semi-transparent sous la popup des ouvertures */
#overlay {
display: block;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: black;
opacity: 0.8;
z-index: 250;
}
.popup-ouverture {
display: flex;
position: fixed;
z-index: 300;
justify-content: center;
flex-wrap: wrap;
padding: 20px;
background-color: #e6e6e6;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-ouverture-out {
width: 700px;
height: 450px;
}
#popup-ouverture-in {
width: 600px;
}
#popup-plancher {
width: 800px;
}
#popup-pignon {
width: 500px;
}
.popup-ouverture #titre-popup {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
color: black;
width: 100%;
text-align: center;
margin-bottom: 20px;
}
.popup-ouverture .container-images {
display: flex;
width: 950%;
align-items: flex-start;
text-align: center;
justify-content: space-evenly;
margin: 0px 20px;
}
.popup-ouverture .container-images figure.normal {
cursor: pointer;
justify-content: center;
color: black;
opacity: 100%;
transition: all .2s ease-in-out;
}
.popup-ouverture .container-images #PG2 {
position: absolute;
top: 200px;
left: 563px;
}
.popup-ouverture .container-images #F1gR {
position: absolute;
top: 200px;
left: 43px;
}
.popup-ouverture .container-images #F1dR {
position: absolute;
top: 200px;
left: 123px;
}
.popup-ouverture .container-images #F2R {
position: absolute;
top: 200px;
left: 203px;
}
.popup-ouverture .container-images #PER {
position: absolute;
top: 200px;
left: 293px;
}
.popup-ouverture .container-images figure:hover {
transform: scale(1.2);
}
.popup-ouverture .container-images figure.disabled {
cursor: not-allowed;
color: gray;
opacity: 40%;
transform: none;
}
.popup-ouverture .popup-ouverture-image {
width: 64px;
height: auto;
border: 0px solid black;
border-radius: 3px;
box-shadow: 2px 2px 5px;
}
.popup-ouverture .container-images figcaption {
text-align: center;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
line-height: 1em;
margin-top: 10px;
}
.popup-ouverture .popup-ouverture-texte {
font-family: "Avenir next", "Avenir", sans-serif;
width: 100%;
font-size: 14px;
font-style: italic;
margin: 80px 20px 0px 20px;
;
}
.popup-ouverture button {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 14px;
text-align: center;
}
#popup-plancher button {
margin-top: 15px;
}
#popup-plancher .container-images img {
width: 32px;
border-radius: 0px;
}
/******************** Popup d'attente pour les traitements longs (génération du devis) ************************/
#popup-attente {
display: inline-flex;
position: fixed;
width: 500px;
height: auto;
padding: 20px;
z-index: 300;
align-items: left;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-attente .texte-attente {
margin-left: 20px;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
text-align: justify-all;
}
#popup-export {
display: grid;
position: fixed;
width: auto;
height: auto;
padding: 20px;
z-index: 300;
align-items: center;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-export button {
margin: 20px 150px 0 150px;
}
/********************************** Changement d'angle de vue *************************************/
#changement-vue {
display: grid;
grid-template-columns: 10% 80% 10%;
grid-template-rows: 10% 10% 70% 10%;
position: fixed;
bottom: 90px;
right: 110px;
z-index: 100;
padding: 30px;
align-items: center;
justify-items: center;
height: 130px;
}
#changement-vue div {
font-size: 16px;
cursor: pointer;
color: white;
}
#changement-vue .bouton-fleche:hover {
transform: scale(1.6);
transition: all .5s ease-in-out;
}
#changement-vue div.surligne {
color: red;
font-size: 30px !important;
}
#changement-vue div#aerien {
grid-column: 2;
grid-row: 1;
margin-bottom: 70px;
font-size: 26px;
}
#changement-vue div#dessus {
grid-column: 2;
grid-row: 2;
margin-bottom: 15px;
}
#changement-vue div#arriere {
grid-column: 3;
grid-row: 2;
margin-bottom: -10px;
}
#changement-vue div#arriere i,
div#avant i {
transform: rotate(-45deg);
}
#changement-vue div#avant {
grid-column: 1;
grid-row: 4;
margin-bottom: 10px;
}
#changement-vue div#gauche {
grid-column: 1;
grid-row: 2;
margin-bottom: -10px;
}
#changement-vue div#gauche i,
div#droite i {
transform: rotate(45deg);
}
#changement-vue div#droite {
grid-column: 3;
grid-row: 4;
margin-bottom: 10px;
}
#changement-vue div:not(.bouton-fleche) {
grid-column: 2;
grid-row: 3;
}
#changement-vue div > img {
align-content: center;
justify-content: center;
width: 35px;
height: 35px;
}
#transparent-overlay {
display: block;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: red;
opacity: 0;
z-index: 250;
}
/************************** Bouton permettant de quitter la vue aérienne ***********************************/
#vue-aerienne {
position: fixed;
right: 20px;
bottom: 270px;
z-index: 300;
width: 300px;
}
div#legende-modules {
margin-bottom: 200px;
}
#vue-aerienne #legende {
position: relative;
margin-bottom: 40px;
}
#vue-aerienne #legende span,
th {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 14px;
font-weight: 500;
color: white;
padding-right: 20px;
}
#vue-aerienne #legende span.titre {
text-decoration: underline;
text-align: right;
}
#quitter-vue-aerienne {
display: flex;
width: 280px;
height: 50px;
justify-content: center;
background-color: red;
border-radius: 15px;
cursor: pointer;
box-shadow: -10px 10px 20px;
z-index: 300;
}
#quitter-vue-aerienne span {
font-family: "Avenir Next", "Avenir", sans-serif;
font-size: 18px;
font-weight: 500;
color: white;
align-self: center;
justify-self: center !important;
}
#boutons {
display: inline-flex;
margin-bottom: -15px;
z-index: 300;
}
#boutons > #legende {
margin-right: 40px;
}
#boutons > #legende:before {
font-family: "Font Awesome 5 Free";
content: "\f0ca";
font-weight: 900;
margin-right: 20px;
}
#boutons button {
text-align: center;
font-size: 30px;
color: red;
width: 45px;
height: 45px;
border: none;
border-radius: 100%;
background-color: rgba(255, 255, 255, 0.8);
margin-left: 15px;
}
#boutons button:focus {
outline: none !important;
}
/******************** Formulaire d'enregistrement du projet ************************/
#formulaire {
display: flex;
flex-wrap: wrap;
position: fixed;
width: 660px;
height: auto;
padding: 20px;
z-index: 500;
justify-content: space-around;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#formulaire .titre {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
font-weight: 700;
margin-bottom: 18px;
}
#formulaire .texte {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 0.9em;
text-align: justify-all;
}
#formulaire .question {
margin-right: auto;
}
#formulaire .form-class {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#formulaire input.texte {
font-size: 0.8em;
}
#formulaire input.button {
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 0.9em;
margin: 20px auto 0px auto;
}
#formulaire .form-top-marge {
margin-top: 20px;
}
/********************* Popup de choix du sens de décalage ***************************/
#popup-decalage {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 20px;
grid-template-rows: 2fr repeat(2, 1fr);
position: fixed;
width: 700px;
height: 300px;
padding: 20px;
z-index: 300;
background-color: white;
border: 1px solid black;
border-radius: 10px;
transition: all .5s ease-in;
box-shadow: 0 0 12px black;
}
#popup-decalage span {
grid-column: span 4;
}
#popup-decalage .texte {
margin-left: 20px;
font-family: "Avenir next", "Avenir", sans-serif;
font-size: 18px;
}
#popup-decalage button {
height: 40px;
width: auto;
}
#popup-decalage #popup-decalage-arriere {
grid-column: 1/3;
grid-row: 2;
}
#popup-decalage #popup-decalage-arriere:before {
font-family: "Font Awesome 5 Free";
content: "\f062";
font-weight: 900;
margin-right: 20px;
}
#popup-decalage #popup-decalage-avant {
grid-column: 3/5;
grid-row: 2;
}
#popup-decalage #popup-decalage-avant:before {
font-family: "Font Awesome 5 Free";
content: "\f063";
font-weight: 900;
margin-right: 20px;
}
#popup-decalage #popup-decalage-annuler {
grid-column: 2/4;
grid-row: 3;
}