Dessin en 2d

Description

Ce code est un proto d'appli qui permet de faire du dessin en 2D (genre CAO, paint...).
Il permet de:
- Dessinner des point et des lignes
- Hilighter les éléments déjà dessinés (les éléments hilightés sont en rose)
- Sélectionner des éléments. Les éléments sélectionées sont en Orange.
- Déplacer les élément sélectionnés.
- Supprimer des éléments.

- Pour dessiner un point, il suffir de sélectionner la commande Point, (toolbar de droite), puis de cliquer sur le bouton gauche de la souris dans la vue du document.
- Pour dessiner une ligne, il faut sélectionner la commande Ligne. La ligne est dessiné entre le moment ou le bouton gauche de la souris est enfoncé et le moment où il est relaché.
- Pour hilighter une géométrie, il suffit de passer la souris sur l'élément sélectionné après avoir sélectionner la commande Select. Le hilight est assez précis. Déplacer vous lentement au dessus des géométrie afin de les highlighter.
- Pour sélectionner un élément, il faut l'hilighter puis cliquer sur le bouton gauche de la souris.(après avoir sélectionner la commande Select)
- Pour déplacer un élément, il faut le sélectionner, puis laissé le bouton gauche de la souris enfoncé et déplacer la souris.(après avoir sélectionner la commande Select)
- Pour supprimer un élément, il faut le sélectionner et appuyer sur SUPPR ou BACK.(après avoir sélectionner la commande Select)

Le programme est basé sur les MFC et sur l'architecture Document/Vue.
CPaintDoc et CPaintView en sont les classes principales.
La classe CShape est la classe mere de tout element geometrique.
Les classe CGeoPoint et CGeoLine heritent de CShape.
Cette classe permet entr'autre de dessiner la geométrie.
La Classe CBoundingBox permet de connaitre l'encombrement d'un élément et de le sélectionner ou de le hilighter.
CBounding hérite de CBoundingBox.
CMathServices fournit un ensemble de service, pour par exemple vérifier que la souris appartient à la droite.

Reste à faire: Le Save et l'Open des documents, le copier/coller, gestiond des couleurs et épaisseurs, ajouter d'autres géométries...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (madmat1)