Difference between revisions of "Scenegraph/fr"

From FreeCAD Documentation
Jump to navigation Jump to search
(Created page with "En haut")
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
 +
 
{{Docnav/fr
 
{{Docnav/fr
|[[Mesh to Part/fr|De maillage en objet Part]]
+
|[[Mesh_to_Part/fr|De maillage en objet Part]]
 
|[[Pivy/fr|Pivy]]
 
|[[Pivy/fr|Pivy]]
 
}}
 
}}
 +
 +
{{TOCright}}
  
 
== Introduction ==
 
== Introduction ==
  
{{TOCright}}
+
La géométrie qui apparaît dans la [[3D_view/fr|vues 3D]] de FreeCAD est rendue par la bibliothèque [https://en.wikipedia.org/wiki/Coin3D Coin3D]. Coin3D est une implémentation de la norme [https://en.wikipedia.org/wiki/Open_Inventor OpenInventor]. Le logiciel [https://en.wikipedia.org/wiki/Open_Cascade_Technology OpenCASCADE] fournit également la même fonctionnalité mais il a été décidé au tout début de FreeCAD de ne pas utiliser la visionneuse OpenCASCADE intégrée mais plutôt de basculer vers le logiciel Coin3D plus performant. Un bon moyen de découvrir cette bibliothèque est le livre [http://www-evasion.imag.fr/Membres/Francois.Faure/doc/inventorMentor/sgi_html/ Open Inventor Mentor].
  
Les formes géométriques qui apparaissent dans les [[3D view/fr|vues 3D]] de FreeCAD sont des rendus obtenus par la bibliothèque Coin3D (Coin3D est une application de [http://fr.wikipedia.org/wiki/Inventor_(bibliothèque_logicielle) OpenInventor standard]).<br /><br />
+
==Description==
Le logiciel [http://en.wikipedia.org/wiki/Open_CASCADE openCascade] fournit les même fonctionnalités que coin3D, mais, dans les débuts de FreeCAD, il a été décidé de ne pas utiliser le moteur d'OpenCascade et de se tourner plutôt vers le logiciel coin3D plus performant. Une bonne façon de se renseigner sur cette bibliothèque est de lire le livre [http://www-evasion.imag.fr/Membres/Francois.Faure/doc/inventorMentor/sgi_html/ Open Inventor Mentor].
 
  
Actuellement [http://fr.wikipedia.org/wiki/Inventor_(bibliothèque_logicielle) OpenInventor] est un langage de description de scènes en 3 dimensions. La scène décrite dans OpenInventor est restituée en OpenGL sur votre moniteur.<br />
+
Actuellement [https://fr.wikipedia.org/wiki/Inventor_(bibliothèque_logicielle) OpenInventor] est un langage de description de scènes en 3 dimensions. La scène décrite dans OpenInventor est restituée en OpenGL sur votre moniteur. Coin3D prend en charge toutes ces procédures, de telle sorte que le programmeur n'a pas besoin de traiter les appels complexes d'OpenGL, il lui suffit simplement de fournir le code OpenInventor adéquat.
Coin3D prend en charge toutes ces procédures, de telle sorte que le programmeur n'a pas besoin de traiter les appels complexes d'OpenGL, il lui suffit simplement de fournir le code OpenInventor adéquat.
 
  
Le gros avantage d'OpenInventor est, qu'il est une norme fort bien connue et très bien documentée.<br />
+
L'un des gros travaux que FreeCAD fait pour vous est de traduire les informations de géométrie d'OpenCASCADE en langage OpenInventor.
Le gros travail que FreeCAD fait pour vous, consiste essentiellement à traduire les informations sur les formes géométriques OpenCascade en langage OpenInventor.
 
  
OpenInventor décrit une scène 3D sous la forme d'une [http://fr.wikipedia.org/wiki/Graphe_de_scène scène graphique] , comme le montre l'exemple ci dessous:
+
OpenInventor décrit une scène 3D sous la forme d'une [https://fr.wikipedia.org/wiki/Graphe_de_scène Graphe de scène] comme le montre l'exemple ci dessous:
  
 
[[Image:Scenegraph.gif]]
 
[[Image:Scenegraph.gif]]
image from [http://www-evasion.imag.fr/~Francois.Faure/doc/inventorMentor/sgi_html/index.html Inventor mentor]
+
{{Caption|Image prise de [http://www-evasion.imag.fr/~Francois.Faure/doc/inventorMentor/sgi_html/ Inventor mentor]}}
  
OpenInventor scenegraph, décrit tout ce qui fait partie d'une scène 3D, comme les formes géométriques, les couleurs, les matériaux, les lumières etc., et structure toutes les données d'une manière claire et précise.<br />
+
Un graphe de scène openInventor décrit tout ce qui fait partie d'une scène 3D, comme la géométrie, les couleurs, les matériaux, les lumières, etc et organise toutes ces données dans une structure pratique et claire. Tout peut être regroupé en sous-structures, ce qui vous permet d'organiser le contenu de votre scène à peu près comme vous le souhaitez. Voici un exemple de fichier openInventor:
Cette structure peut être groupée en sous-structures vous permettant d'organiser le contenu de votre scène de la manière qui vous conviens le mieux.<br />
+
{{Code|lang=bash|code=
Voici un exemple d'un fichier OpenInventor:
 
{{Code|code=
 
 
#Inventor V2.0 ascii
 
#Inventor V2.0 ascii
 
   
 
   
Line 49: Line 47:
 
     }
 
     }
 
}
 
}
 
 
}}
 
}}
  
Comme vous pouvez le voir, la structure est très simple. Vous utilisez des séparateurs '''(Separator)''' pour organiser vos blocs de données, un peu comme vous le feriez pour organiser vos fichiers dans des dossiers.<br />
+
Comme vous pouvez le voir, la structure est très simple. Vous utilisez des séparateurs pour organiser vos données en blocs, un peu comme vous organiseriez vos fichiers en dossiers. Chaque instruction affecte ce qui vient ensuite, par exemple les deux premiers éléments de notre séparateur racine sont une rotation et une traduction, les deux affecteront l'élément suivant, qui est un séparateur. Dans ce séparateur, un matériau est défini et une autre transformation. Notre cylindre sera donc affecté par les deux transformations, celle qui lui est appliquée directement et celle qui a été appliquée à son séparateur parent.
Chaque instruction influe celle qui suit, par exemple, les deux premiers articles à la racine de nos '''Separator''' sont une rotation ('''''RotationXYZ {..}''''') et une transformation ('''''Transform {..}'''''), ils auront une incidence directe sur tous les éléments suivants (''comme, si vous changez l'attribut d'un dossier, tous les sous dossiers seront affectés'').<br />
 
Dans un séparateur, nous définirons la matière, dans un autre, la transformation. Notre cylindre sera donc affecté par les deux transformations, celle qui lui a été appliqué directement et celle qui a été appliquée à son séparateur parent ('''Separator{..Separator{..}}''' à la manière des dossiers dans un disque dur).
 
  
 
Nous avons également beaucoup d'autres d'éléments pour organiser notre scène (projet), tels que des groupes, des commutateurs ou des annotations.<br />
 
Nous avons également beaucoup d'autres d'éléments pour organiser notre scène (projet), tels que des groupes, des commutateurs ou des annotations.<br />
Nous pouvons donner à nos objets des définitions très complexes, de la couleur, des textures des modes d'ombrage et de transparence. Nous pouvons aussi définir de la lumière, des caméras et, même du mouvement.<br />
+
Nous pouvons donner à nos objets des définitions très complexes, des couleurs, des textures des modes d'ombrage et de transparence. Nous pouvons aussi définir de la lumière, des caméras et, même du mouvement.<br />
 
Il est aussi possible d'intégrer des portions de scripts dans des fichiers OpenInventor et de définir des comportements plus complexes.
 
Il est aussi possible d'intégrer des portions de scripts dans des fichiers OpenInventor et de définir des comportements plus complexes.
  
Si vous voulez en apprendre plus sur OpenInventor, allez tout de suite sur [http://www-evasion.imag.fr/~Francois.Faure/doc/inventorMentor/sgi_html/index.html The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor].
+
Si vous souhaitez en savoir plus sur openInventor, rendez-vous directement à sa référence la plus célèbre: [http://www-evasion.imag.fr/~Francois.Faure/doc/inventorMentor/sgi_html/ Inventor mentor].
  
Normalement, dans FreeCAD, nous n'avons pas besoin d'interagir directement avec scenegraph OpenInventor. Dans un document FreeCAD, chaque objet maillage, forme de la pièce ou toute autre chose, est automatiquement converti en code OpenInventor et est inséré dans la scène graphique que vous voyez dans la [[3D view/fr|vue 3D]]. Toutes modifications dans le document, ajout ou suppression d'objets, sont en permanence mises à jour dans la scène graphique. En fait, chaque objet (dans l'espace de l'Application), dispose d'un constructeur de la vue (un objet correspondant dans l'espace Gui), responsable de la création du code OpenInventor.
+
Normalement, dans FreeCAD, nous n'avons pas besoin d'interagir directement avec le scène de graphe OpenInventor. Dans un document FreeCAD, chaque objet maillé, forme Part ou toute autre chose, est automatiquement converti en code OpenInventor et est inséré dans le scène de graphe que vous voyez dans la [[3D_view/fr|vue 3D]]. Ce graphe de scène est mis à jour en permanence lorsque vous modifiez, ajoutez ou supprimez des objets.. En fait, chaque objet (dans l'espace App) dispose d'un constructeur de vue (un objet correspondant dans l'espace Gui) responsable de la création du code OpenInventor.
  
Mais il y a de nombreux avantages à pouvoir accéder directement à la scène graphique. Par exemple, nous pouvons modifier temporairement l'apparence d'un objet, ou nous pouvons ajouter des objets à la scène qui n'ont aucune existence réelle dans le document FreeCAD, tels que la construction de la géométrie, les aides, conseils graphiques ou des outils qui permettent des manipulations ou des informations à l'écran.
+
Mais il y a de nombreux avantages à accéder directement au scène de graphe. Par exemple, nous pouvons modifier temporairement l'apparence d'un objet ou nous pouvons ajouter des objets à la scène qui n'ont aucune existence réelle dans le document FreeCAD, tels que la géométrie de construction, les aides, les conseils graphiques ou les outils telles que les manipulations ou les informations à l'écran .
  
 
FreeCAD dispose de plusieurs outils pour voir ou modifier le code OpenInventor.<br /><br />
 
FreeCAD dispose de plusieurs outils pour voir ou modifier le code OpenInventor.<br /><br />
Line 76: Line 71:
 
Mais nous avons aussi un module Python qui permet un accès complet à toute chose gérée par Coin3D, comme, notre scène graphique FreeCAD.<br />
 
Mais nous avons aussi un module Python qui permet un accès complet à toute chose gérée par Coin3D, comme, notre scène graphique FreeCAD.<br />
 
Alors, lisez la suite sur la page de [[Pivy/fr|pivy]].
 
Alors, lisez la suite sur la page de [[Pivy/fr|pivy]].
 +
 +
[[#top|En haut]]
  
 
{{Docnav/fr
 
{{Docnav/fr
|[[Mesh to Part/fr|De maillage en objet Part]]
+
|[[Mesh_to_Part/fr|De maillage en objet Part]]
 
|[[Pivy/fr|Pivy]]
 
|[[Pivy/fr|Pivy]]
 
}}
 
}}
  
{{Userdocnavi{{#translation:}}}}
+
{{Powerdocnavi{{#translation:}}}}
[[Category:Poweruser Documentation{{#translation:}}]]
 
 
[[Category:Developer Documentation{{#translation:}}]]
 
[[Category:Developer Documentation{{#translation:}}]]
 
{{clear}}
 
{{clear}}

Latest revision as of 13:47, 6 June 2020

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎română • ‎svenska • ‎čeština • ‎русский
Arrow-left.svg Page précédente : De maillage en objet Part
Page suivante : Pivy Arrow-right.svg

Introduction

La géométrie qui apparaît dans la vues 3D de FreeCAD est rendue par la bibliothèque Coin3D. Coin3D est une implémentation de la norme OpenInventor. Le logiciel OpenCASCADE fournit également la même fonctionnalité mais il a été décidé au tout début de FreeCAD de ne pas utiliser la visionneuse OpenCASCADE intégrée mais plutôt de basculer vers le logiciel Coin3D plus performant. Un bon moyen de découvrir cette bibliothèque est le livre Open Inventor Mentor.

Description

Actuellement OpenInventor est un langage de description de scènes en 3 dimensions. La scène décrite dans OpenInventor est restituée en OpenGL sur votre moniteur. Coin3D prend en charge toutes ces procédures, de telle sorte que le programmeur n'a pas besoin de traiter les appels complexes d'OpenGL, il lui suffit simplement de fournir le code OpenInventor adéquat.

L'un des gros travaux que FreeCAD fait pour vous est de traduire les informations de géométrie d'OpenCASCADE en langage OpenInventor.

OpenInventor décrit une scène 3D sous la forme d'une Graphe de scène comme le montre l'exemple ci dessous:

Scenegraph.gif

Image prise de Inventor mentor


Un graphe de scène openInventor décrit tout ce qui fait partie d'une scène 3D, comme la géométrie, les couleurs, les matériaux, les lumières, etc et organise toutes ces données dans une structure pratique et claire. Tout peut être regroupé en sous-structures, ce qui vous permet d'organiser le contenu de votre scène à peu près comme vous le souhaitez. Voici un exemple de fichier openInventor:

#Inventor V2.0 ascii
 
Separator { 
    RotationXYZ {	
       axis Z
       angle 0
    }
    Transform {
       translation 0 0 0.5
    }
    Separator {	
       Material {
          diffuseColor 0.05 0.05 0.05
       }
       Transform {
          rotation 1 0 0 1.5708
          scaleFactor 0.2 0.5 0.2
       }
       Cylinder {
       }
    }
}

Comme vous pouvez le voir, la structure est très simple. Vous utilisez des séparateurs pour organiser vos données en blocs, un peu comme vous organiseriez vos fichiers en dossiers. Chaque instruction affecte ce qui vient ensuite, par exemple les deux premiers éléments de notre séparateur racine sont une rotation et une traduction, les deux affecteront l'élément suivant, qui est un séparateur. Dans ce séparateur, un matériau est défini et une autre transformation. Notre cylindre sera donc affecté par les deux transformations, celle qui lui est appliquée directement et celle qui a été appliquée à son séparateur parent.

Nous avons également beaucoup d'autres d'éléments pour organiser notre scène (projet), tels que des groupes, des commutateurs ou des annotations.
Nous pouvons donner à nos objets des définitions très complexes, des couleurs, des textures des modes d'ombrage et de transparence. Nous pouvons aussi définir de la lumière, des caméras et, même du mouvement.
Il est aussi possible d'intégrer des portions de scripts dans des fichiers OpenInventor et de définir des comportements plus complexes.

Si vous souhaitez en savoir plus sur openInventor, rendez-vous directement à sa référence la plus célèbre: Inventor mentor.

Normalement, dans FreeCAD, nous n'avons pas besoin d'interagir directement avec le scène de graphe OpenInventor. Dans un document FreeCAD, chaque objet maillé, forme Part ou toute autre chose, est automatiquement converti en code OpenInventor et est inséré dans le scène de graphe que vous voyez dans la vue 3D. Ce graphe de scène est mis à jour en permanence lorsque vous modifiez, ajoutez ou supprimez des objets.. En fait, chaque objet (dans l'espace App) dispose d'un constructeur de vue (un objet correspondant dans l'espace Gui) responsable de la création du code OpenInventor.

Mais il y a de nombreux avantages à accéder directement au scène de graphe. Par exemple, nous pouvons modifier temporairement l'apparence d'un objet ou nous pouvons ajouter des objets à la scène qui n'ont aucune existence réelle dans le document FreeCAD, tels que la géométrie de construction, les aides, les conseils graphiques ou les outils telles que les manipulations ou les informations à l'écran .

FreeCAD dispose de plusieurs outils pour voir ou modifier le code OpenInventor.

Par exemple, le code Python suivant, montre la représentation OpenInventor d'un objet sélectionné:

obj = FreeCAD.ActiveDocument.ActiveObject
viewprovider = obj.ViewObject
print viewprovider.toString()

Mais nous avons aussi un module Python qui permet un accès complet à toute chose gérée par Coin3D, comme, notre scène graphique FreeCAD.
Alors, lisez la suite sur la page de pivy.

En haut

Arrow-left.svg Page précédente : De maillage en objet Part
Page suivante : Pivy Arrow-right.svg