IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenSceneGraph Discussion :

OSG et sélection d'objets multiples


Sujet :

OpenSceneGraph

  1. #1
    mmx
    mmx est déconnecté
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 47
    Points
    47
    Par défaut OSG et sélection d'objets multiples
    Bien le bonjour,

    C'est certainement une question bête, mais j'ai utilisé (un tout petit peu) OSG et je voudrais savoir s'il est possible plutôt que de bouger toute la scène avec la souris, de ne bouger que certains objets de cette scène, après sélection de ceux-ci bien sûr.

    Genre, on sélectionne 1 (ou plusieurs objets) et ensuite avec un autre bouton souris on le(s) fait tourner, on le(s) déplace...


    C'est possible ? c'est une usine à gaz pour faire ça ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    pour les selectionner, utilise un handler sur le clic souris.

    le picking est déjà geré (suffit de trouver la bonne fonction), il te retourne des nodepath, ordonnés de tous les objets pickés et leur nodepath vers la racine.

    Ensuite, avec ton manipulator (ou autre) tu récupere les signaux de la souris, et tu bouge des objets simplement en modifiant leur PAT ou MT (parents)...

    je sais dis comme ça c'est du gateau, mais je bosse sur une application qui gere le picking & Cie, c'est pas non plus la mort à coder... OSG propose tout ce qu'il te faut.

  3. #3
    mmx
    mmx est déconnecté
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 47
    Points
    47
    Par défaut
    Waouh...


    Va falloir que je pense à changer de travail, un truc du genre moins informatique, comme la couture pourquoi pas...


    J'ai dit que j'avais utilisé "un petit peut" OSG, donc jamais utilisé de "handler", ni de nodepah, ni de ... bon j'arrête là


    Donc ça répond à ma question : C'est faisable.

    Le comment en revanche c'est pas la même histoire.

    Dit moi, j'ai une vue toute bidon avec 2 cubes dedans (donc pas grand chose), t'aurais pas un bout de code pour la sélection de l'un ou de l'autre de ces deux cubes ? un truc qui me permette de partir sur une base saine et pas de partir depuis une page blanche, sans ça, je me jette par la fenêtre, ou je jette le Mac ça dépend (au fait, y a pas beaucoup d'informatique dans le métier de vitrier ? interessant.... :p )

    Merci pour cette réponse rapide.

    PS: pour moi c'est une usine tout ça :p

    bah je me lance, moi j'ai ça, dans un main.cpp et c'est tout donc tu peux comprendre en quoi tu me perds en disant tout ça :p
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    using namespace osgDB;
     
    osg::Geode* createShapes()
    {
        osg::Geode* geode = new osg::Geode();
        osg::StateSet* stateset = new osg::StateSet();
        geode->setStateSet( stateset );
     
        float radius = 0.8f;
     
        osg::TessellationHints* hints = new osg::TessellationHints;
        hints->setDetailRatio(0.5f);
        float pas = 1.65f;
     
     
     
    	//Cubes
     
     
        geode->addDrawable(new osg::ShapeDrawable(new osg::Box(osg::Vec3(0.0f,0.0f,0.0f),2*radius),hints));
    	geode->addDrawable(new osg::ShapeDrawable(new osg::Box(osg::Vec3(0.0f,0.0f,pas),2*radius),hints));
     
        return geode;
    }
     
    int main(int, char **)
    {
    	// construct the viewer.
            osgViewer::Viewer viewer;
    	const std::string filename = "project1.osg";	
    	bool writed;
    	osg::Node* nodeDone = createShapes();
     
    	writed =  osgDB::writeNodeFile(*nodeDone, filename);
    	viewer.setSceneData(nodeDone);
     
     
    	if(!writed)
    	{
    		printf("fichier sauve\n");
    	}else {
    		printf("fichier non sauvé (probleme)\n");
    	}
     
     
        return viewer.run();
    }

  4. #4
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    si tu veux je peux te faire un tuto sur le picking, et sur le déplacement des objets... mais faudra un peu de patience alors.... car j'ai du boulot...

    est ce que c'est assez pressant ? (genre dans la semaine au plus tard) ou est ce que je peux prendre le temps de faire un tuto correct ? (meme si la publication prend du temps, je pourrais te le mettre à disposition en exclusivité ^^)

    sinon, je peux te donner des pistes, mais guere plus, car à la vue de ton code, dans l'état tu ne peux pas faire tout ce que tu veux là...

    Dans un 1er temps, penche toi sur les PositionAttitudeTranform ou MatrixTransform et essaye de faire bouger tes objets ...

    Pour ceci :
    http://www.cs.clemson.edu/~malloy/co.../rotation.html
    http://www.cs.clemson.edu/~malloy/co.../controls.html

    ici aussi :
    http://faculty.nps.edu/jasullivan/os...ials/index.htm

    Les sources de ces tutos ne sont pas à jour, mais c'est qd meme relativement fiable en général.

  5. #5
    mmx
    mmx est déconnecté
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 47
    Points
    47
    Par défaut
    Hello,

    Ca alors, j'avais pensé tellement fort à te répondre que j'étais persuadé de l'avoir fait...

    Je ne peux pas faire la fine bouche devant tant d'initiative, je peux largement attendre un petit tuto bien ficelé

    Merci d'avance. Je vais potasser les ptis liens que tu m'a donné en attendant.


    Bon courage pour ton taf quand même :p

  6. #6
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    bon, je tacherai de commencer ça lundi en esperant avoir un brouillon correct dimanche..

    par contre, tu peux aussi regarder du coté de osgGA::GUIEventHandler, avec laquelle tu peux personaliser tes handlers et leurs actions... tout simplement.

  7. #7
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Avec le recul et le boulot que j'ai déjà de retard, je n'aurais jamais le temps de faire ces tuto, pas avant des semaines voir des mois...

    donc le mieux pour toi serait de te lancer, et de poser tes questions au fur et à mesure... dans tous les cas tu auras besoin de connaitre touts les termes que j'ai précisé... donc renseigne toi là dessus, lit et fait les tutos OSG, et ensuite attaque ton morceau.

    Si tu as des questions je tacherai d'y répondre au mieux.

    voilou.

  8. #8
    mmx
    mmx est déconnecté
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 47
    Points
    47
    Par défaut
    Bonjour,


    ok merci bien, quand il faut, il faut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Sélection d'objet multiple
    Par Nicoyong dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/11/2014, 09h53
  2. [Tkinter] sélection d'objet pour déplacement
    Par airod dans le forum Tkinter
    Réponses: 7
    Dernier message: 18/05/2006, 09h40
  3. Sélection d'objets pour un logiciel de type AutoCAD
    Par loran4444 dans le forum C++Builder
    Réponses: 15
    Dernier message: 09/03/2005, 19h23
  4. [Souris] Sélection d'objets visuels
    Par AlDel dans le forum Composants VCL
    Réponses: 8
    Dernier message: 09/09/2004, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo