Skip to content

Instantly share code, notes, and snippets.

@Yutsa
Created May 22, 2018 15:11
Show Gist options
  • Save Yutsa/d53f5fd560ab49b52066a5aeee58c1b8 to your computer and use it in GitHub Desktop.
Save Yutsa/d53f5fd560ab49b52066a5aeee58c1b8 to your computer and use it in GitHub Desktop.
int creerBac(double d1, d2, h1, h2, e)
{
    //Création des points
    TabSommetBaseEx[0] = CreerSommet(Point(0, 0, 0))
    TabSommetBaseEx[1] = CreerSommet(Point(0, d1, 0))
    TabSommetBaseEx[2] = CreerSommet(Point(d2, d1, 0))
    TabSommetBaseEx[3] = CreerSommet(Point(d2, 0, 0))
    TabSommetBaseEx[4] =  TabSommetBaseEx[0]

    TabSommetBaseInt[0] = CreerSommet(Point(e, e, h1 - h2))
    TabSommetBaseInt[1] = CreerSommet(Point(e, d1 - e, h1 - h2))
    TabSommetBaseInt[2] = CreerSommet(Point(d2 - e, d1 - e, h1 - h2))
    TabSommetBaseInt[3] = CreerSommet(Point(d2 - e, e, h1 - h2))
    TabSommetBaseInt[4] =  TabSommetBaseInt[0]

    TabSommetCouvercleEx[0] = CreerSommet(Point(0, 0, h1))
    TabSommetCouvercleEx[1] = CreerSommet(Point(0, d1, h1))
    TabSommetCouvercleEx[2] = CreerSommet(Point(d2, d1, h1))
    TabSommetCouvercleEx[3] = CreerSommet(Point(d2, 0, h1))
    TabSommetCouvercleEx[4] =  TabSommetCouvercleEx[0]

    TabSommetCouvercleInt[0] = CreerSommet(Point(e, e, h1))
    TabSommetCouvercleInt[1] = CreerSommet(Point(e, d1 - e, h1))
    TabSommetCouvercleInt[2] = CreerSommet(Point(d2 - e, d1 - e, h1))
    TabSommetCouvercleInt[3] = CreerSommet(Point(d2 - e, e, h1))
    TabSommetCouvercleInt[4] =  TabSommetCouvercleInt[0]

    // Création des arêtes
    for (int i = 0; i < 4; i++
    {
        TabAreteBaseExt[i] = CreerArete(TabSommetBasEx[i], TabSommetBasEx[i + 1])
        
        TabAreteBaseInt[i] = CreerArete(TabSommetBasInt[i], TabSommetBasInt[i + 1])

        TabAreteCouvercleExt[i] = CreerArete(TabSommetCouverclex[i], TabSommetCouverclex[i + 1])
        
        TabAreteCouvercleInt[i] = CreerArete(TabSommetBasInt[i], TabSommetBasInt[i + 1])

        TabAreteHauteurInt[i] = CreerArete(TabSommetBasInt[i], TabSommetCouvercleInt[i])

        TabAreteHauteurEx[i] = CreerArete(TabSommetBasEx[i], TabSommetCouvercleEx[i])
    }

    TabAreteBaseExt[4] = TabAreteBaseExt[0]
    TabAreteBaseInt[4] = TabAreteBaseInt[0]
    TabAreteCouvercleExt[4] = TabAreteCouvercleExt[0]
    TabAreteCouvercleInt[4] = TabAreteCouvercleInt[0]

    // Construction des faces
    for (int i = 0; i < 4; i++)
    {
        TabFaceCoteExt[i] = CreerFace(CreerContour({TabAreteHauteurExt[i], TabAreteBaseExt[i], TabAreteHauteurExt[i + 1], TabAreteCouvercleExt[i]}))

        TabFaceCoteInt[i] = CreerFace(CreerContour({TabAreteHauteurInt[i], TabAreteBaseInt[i], TabAreteHauteurInt[i + 1], TabAreteCouvercleInt[i]}))

    }

    FaceCul = CreerFace(CreerContour(TabAreteBaseExt))

    FaceCulDuDessus = CreerFace(CreerContour(TabAreteBaseInt))

    FaceDessusExt = CreerFace(
        CreerContour(TabAreteCouvercleExt),
        CreerContour(TabAreteCouvercleInt)
    )

    TabToutesFaces = Merge(TabFaceCoteExt, TabFaceCoteInt, FaceCul, FaceCulDuDessus, FaceDessusExt);

    return CreerSolide(TabToutesFaces);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment