Beispiel #1
0
        public int AjouterObjetIdentifiableListIdCategories_sansParametre(CObjetIdentifiable objetIdentifiable)
        {
            this.listObjetsIdentifiables.Add(objetIdentifiable);
            int index = this.listObjetsIdentifiables.IndexOf(objetIdentifiable);

            return(index);
        }
Beispiel #2
0
 public void ChargerObjetIdentifiable(CObjetIdentifiable objetIdentifiable)
 {
     this.setLibelle(objetIdentifiable.getLibelle());
     this.setProprietesDefaut(objetIdentifiable.getProprietesDefaut());
     this.SetRendu(objetIdentifiable.GetRendu());
     this.SetGeometrie(objetIdentifiable.GetGeometrie());
     this.SetIdObj(objetIdentifiable.GetIdObj());
     this.SetListeCategoriesObjets(objetIdentifiable.GetListeCategoriesObjets());
 }
Beispiel #3
0
        public int AjouterObjetIdentifiableListIdCategories_avecParametres(string libelle, int idObj, double taille_x, double taille_y, double taille_z, double rotation_x, double rotation_y, double rotation_z)
        {
            CObjetIdentifiable objetIdentifiable = new CObjetIdentifiable();

            this.listObjetsIdentifiables.Add(objetIdentifiable);
            int index = this.listObjetsIdentifiables.IndexOf(objetIdentifiable);

            this.listObjetsIdentifiables[index].setLibelle(libelle);
            this.listObjetsIdentifiables[index].SetIdObj(idObj);
            this.listObjetsIdentifiables[index].setProprietesDefaut_taille_X(taille_x);
            this.listObjetsIdentifiables[index].setProprietesDefaut_taille_Y(taille_y);
            this.listObjetsIdentifiables[index].setProprietesDefaut_taille_Z(taille_z);
            this.listObjetsIdentifiables[index].setProprietesDefaut_rotation_X(rotation_x);
            this.listObjetsIdentifiables[index].setProprietesDefaut_rotation_Y(rotation_y);
            this.listObjetsIdentifiables[index].setProprietesDefaut_rotation_Z(rotation_z);

            return(index);
        }
Beispiel #4
0
 public int AjouterCategorie_ObjetIdentifiableListIdCategories(CObjetIdentifiable objetIdentifiable, int idCategorieObjet)
 {
     return(objetIdentifiable.AjouterCategorieListIdCategories(idCategorieObjet));
 }
        public void GenererScene3d()
        {
            if (this.listeSPositionObjetDansImage != null)
            {
                if (this.environnement != null)
                {
                    for (int i = 0; i < this.listeSPositionObjetDansImage.Count; i++)
                    {
                        int idObj = this.listeObjetsIdentifiables.RecupererIdobjetAvecLibelle(this.listeSPositionObjetDansImage[i].libelle);

                        if (this.environnement.ObjetDansEnvironnement_idObj(idObj))
                        {
                            CObjetIdentifie nouvelobjetIdentifie = new CObjetIdentifie();

                            //Recuperer elevation et azimut centre pour les ajouter a elevationAuCentre...
                            //Élevation de l'objet par rapport au centre de l'image

                            float elevationCentre          = image.CalculerAngleElevationCentre(image.GetSecteurAngulaire_elevation_Max() - image.GetSecteurAngulaire_elevation_Min());
                            float elevationObjet           = image.CalculerAngleElevationObjet(this.listeSPositionObjetDansImage[i], image.GetSecteurAngulaire_elevation_Max() - image.GetSecteurAngulaire_elevation_Min());
                            float elevationCentreVersObjet = elevationObjet - elevationCentre;
                            float elevationReel            = image.GetSecteurAngulaire_elevation_Min() + elevationObjet;

                            //Azimut de l'objet par rapport au centre de l'image

                            float azimutCentre          = image.CalculerAngleAzimutCentre(image.GetSecteurAngulaire_azimut_Max() - image.GetSecteurAngulaire_azimut_Min());
                            float azimutObjet           = image.CalculerAngleAzimutObjet(this.listeSPositionObjetDansImage[i], image.GetSecteurAngulaire_azimut_Max() - image.GetSecteurAngulaire_azimut_Min());
                            float azimutCentreVersObjet = azimutObjet - azimutCentre;
                            float azimutReel            = image.GetSecteurAngulaire_azimut_Min() + azimutObjet;

                            double distance = this.nuagePoint3D.GetDistance((int)Math.Ceiling(elevationReel), (int)Math.Ceiling(azimutReel));

                            if (distance == -1)
                            {
                                Console.WriteLine("Distance non disponnible dans le nuage de point 3D");
                            }

                            if (azimutCentreVersObjet < 0)
                            {
                                nouvelobjetIdentifie.SetPosition3D_X(this.image.GetPosition3D_X() - (Math.Sin((Math.Abs(azimutCentreVersObjet) * Math.PI) / 180) * distance));
                            }
                            if (azimutCentreVersObjet >= 0)
                            {
                                nouvelobjetIdentifie.SetPosition3D_X(this.image.GetPosition3D_X() + (Math.Sin((Math.Abs(azimutCentreVersObjet) * Math.PI) / 180) * distance));
                            }

                            nouvelobjetIdentifie.SetPosition3D_Y(this.image.GetPosition3D_Y() + (Math.Cos((Math.Abs(azimutCentreVersObjet) * Math.PI) / 180) * distance));

                            if (elevationCentreVersObjet < 0)
                            {
                                nouvelobjetIdentifie.SetPosition3D_Z(this.image.GetPosition3D_Z() - (Math.Sin((Math.Abs(elevationCentreVersObjet) * Math.PI) / 180) * distance));
                            }
                            if (elevationCentreVersObjet >= 0)
                            {
                                nouvelobjetIdentifie.SetPosition3D_Z(this.image.GetPosition3D_Z() + (Math.Sin((Math.Abs(elevationCentreVersObjet) * Math.PI) / 180) * distance));
                            }

                            nouvelobjetIdentifie.setLibelle(this.listeSPositionObjetDansImage[i].libelle);

                            CObjetIdentifiable objetIdentifiableTemp = this.listeObjetsIdentifiables.RecupererObjetIdentifiable_Libelle(this.listeSPositionObjetDansImage[i].libelle);

                            if (objetIdentifiableTemp != null)
                            {
                                nouvelobjetIdentifie.ChargerObjetIdentifiable(objetIdentifiableTemp);
                                this.scene3D.AjouterObjetIdentifie(nouvelobjetIdentifie);
                            }
                            else
                            {
                                Console.WriteLine("L'objet \"" + this.listeSPositionObjetDansImage[i].libelle + "\" n'est répertorié dans la liste des objets identifiables.");
                            }
                        }
                        else
                        {
                            Console.WriteLine("L'objet \"" + this.listeSPositionObjetDansImage[i].libelle + "\" ne fait pas partie de l'environnement\"" + this.environnement.GetLibelle() + "\".");
                        }
                    }
                }
                else
                {
                    Console.WriteLine("L'environnement\"" + this.image.GetLibelle() + "\" n'est pas déninit dans comme étant un environnement identifiable.");
                }
            }
            else
            {
                Console.WriteLine("+----------------------------------------------------------------------------------------------+");
                Console.WriteLine("| " + DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo) + " | Méthode: \"GenererScene3d(List<SPositionObjetDansImage> sPositionObjetDansImage)\"  |");
                Console.WriteLine("| La variable \"sPositionObjetDansImage\" vaut: null.                                            |");
                Console.WriteLine("+----------------------------------------------------------------------------------------------------------------+");
                Console.WriteLine("| Conseil: Vérifier que la méthode \"application.PositionnerObjetsDansImage()\" soit appelée avant cette méthode.  |");
                Console.WriteLine("+----------------------------------------------------------------------------------------------------------------+");
                Console.WriteLine(" ");
            }
        }