Add rayman2 source files

This commit is contained in:
2024-09-18 02:33:44 +08:00
parent bcc093f8ed
commit fb036c54fd
14339 changed files with 2596224 additions and 0 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,268 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f16\froman\fcharset238\fprq2 Times New Roman CE;}{\f17\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f19\froman\fcharset161\fprq2 Times New Roman Greek;}{\f20\froman\fcharset162\fprq2 Times New Roman Tur;}{\f21\froman\fcharset186\fprq2 Times New Roman Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;
\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\nowidctlpar\adjustright \fs20\lang1036 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}{\s15\nowidctlpar\adjustright \fs20\lang1036 \sbasedon0 \snext15 footnote text;}{\*\cs16
\additive \super \sbasedon10 footnote reference;}}{\info{\author Alexis Vaisse}{\operator Alexis Vaisse}{\creatim\yr1997\mo3\dy3\hr16\min59}{\revtim\yr1997\mo12\dy10\hr17\min15}{\version4}{\edmins6}{\nofpages19}{\nofwords1474}{\nofchars8404}
{\*\company UBI}{\nofcharsws0}{\vern89}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417 \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\hyphcaps0\formshade\viewkind4\viewscale147\viewzk2 \fet0\sectd
\linex0\headery709\footery709\colsx709\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4
\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \qc\keepn\widctlpar\adjustright \fs20\lang1036 {\b\fs36\cf6
\par }{\cs16\b\fs36\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Titre}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_010}}}{\b\fs36\cf6 L\rquote \'e9diteur de zones
\par
\par }\pard \qr\widctlpar\adjustright {\fs24 \{BMC PORTRAIT.BMP\}
\par Alexis Vaisse
\par }\pard \widctlpar\adjustright {\fs24
\par }{\fs24\uldb
\par
\par
\par }{\fs28 Pr\'e9sentation des zones
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\uldb Les diff\'e9rents types de zones}{\v\fs24 ID_Types}{\fs24
\par }{\fs24\uldb Les zones d\rquote acteur}{\v\fs24 ID_ZoneActeur}{\fs24
\par }{\fs24\uldb Les zones de module}{\v\fs24 ID_ZoneModule}{\fs24
\par }\pard \widctlpar\adjustright {\fs28
\par Cr\'e9ation de zones
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\uldb Comment cr\'e9er des zones d\rquote acteur}{\v\fs24 ID_CreationActeur}{\fs24
\par }{\fs24\uldb La liste des familles, mod\'e8les, acteurs...}{\v\fs24 ID_List1}{\fs24
\par }{\fs24\uldb La liste des zones d\rquote acteur}{\v\fs24 ID_List2}{\fs24
\par }{\fs24\uldb Cr\'e9er des zones de type partag\'e9 (}{\i\fs24\uldb shared)}{\v\fs24 ID_Partage}{\fs24
\par }{\fs24\uldb Comment changer le nom d\rquote une liste de zones}{\v\fs24 ID_NomListe}{\fs24
\par }{\fs24\uldb Comment affecter une zone \'e0 un nom donn\'e9}{\v\fs24 ID_Affectation}{\fs24
\par }{\fs24\uldb Comment cr\'e9er des zones de module}{\v\fs24 ID_CreationModule}{\fs24
\par }{\fs24\uldb Comment changer la taille d\rquote une zone}{\v\fs24 ID_Taille}{\fs24
\par }{\fs28
\par }\pard \widctlpar\adjustright {\fs28 Visualisation des zones
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\uldb Visualisation d\rquote un acteur seul avec ses zones}{\v\fs24 ID_AfficherActeur}{\fs24
\par }{\fs24\uldb Visualisation des zones de plusieurs acteurs}{\v\fs24 ID_DisplayControl1}{\fs24
\par }{\fs24\uldb Visualisation des zones dans d\rquote autres \'e9diteurs, en mode moteur}{\v\fs24 ID_DisplayControl2}{\fs24
\par }{\fs24\uldb Visualisation des zones de module sur un acteur}{\v\fs24 ID_VisualisationModule}{\fs24
\par }{\fs24
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Recherche}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_015}}}{\fs28\cf6 Recherche
\par
\par }\pard \widctlpar\adjustright {\fs24
\par cliquez sur l\rquote \'e9l\'e9ment sur lequel vous souhaitez obtenir de l\rquote aide\~:
\par
\par }\pard \li1134\widctlpar\adjustright {\fs24 \{BMC GENERAL.SHG\} \{BMC GENEMODE.SHG\}
\par }\pard \widctlpar\adjustright {\fs24
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Types}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_020}}}{\fs28\cf6 Les diff\'e9rents types de zones
\par
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \fi284\widctlpar\adjustright {\fs24 Il existe deux cat\'e9gories de zones\~:
\par
\par }\pard \fi-142\li709\widctlpar\adjustright {\fs24 - les }{\fs24\uldb zones d\rquote acteur}{\v\fs24 ID_ZoneActeur}{\fs24 , qui sont d\'e9finies au niveau de l\rquote acteur,
\par - les }{\fs24\uldb zones de module}{\v\fs24 ID_ZoneModule}{\fs24\cf2 }{\fs24 qui sont d\'e9finies pour chaque module de l\rquote acteur (un bras, une jambe, etc...)
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_ZoneActeur}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_022}}}{\fs28\cf6 Les zones d\rquote acteur
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Il existe quatre types de zones\~d\rquote acteur :
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \li567\widctlpar\adjustright {\fs24 - les zones de d\'e9tection (}{\fs24\cf2 ZDD}{\fs24 ),
\par - les zones d\rquote \'e9v\'e9nements (}{\fs24\cf2 ZDE}{\fs24 ),
\par - les zones de mouvements (}{\fs24\cf2 ZDM}{\fs24 ),
\par - et les zones de recalage (}{\fs24\cf2 ZDR}{\fs24 ).
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Au niveau du mod\'e8le, on peut d\'e9finir quatre }{\fs24\uld listes de noms}{\v\fs24 ID_ListeNoms}{\fs24 \~: une liste de noms de ZDD, une de ZDE, une de ZDM, et une de ZDR.
\par Ensuite, chacune des instances d\rquote acteur issues de ce mod\'e8le pourra avoir quatre listes de zones correspondantes. La taille d\rquote une liste de zones est \'e9gale \'e0 la taille de la liste de noms du mod\'e8
le (autant de zones que de noms dans la liste de noms).
\par
\par }\pard \li284\widctlpar\adjustright {\fs24 Voir }{\fs24\uldb Comment cr\'e9er des zones d\rquote acteur}{\v\fs24 ID_CreationModule}{\fs24
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_ZoneModule}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_024}}}{\fs28\cf6 Les zones de module
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Il existe quatre types de zones\~de module :
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \li567\widctlpar\adjustright {\fs24 - les zones de d\'e9tection (}{\fs24\cf2 ZDD}{\fs24 ),
\par - les zones d\rquote \'e9v\'e9nements (}{\fs24\cf2 ZDE}{\fs24 ),
\par - les zones de mouvements (}{\fs24\cf2 ZDM}{\fs24 ),
\par - et les zones de recalage (}{\fs24\cf2 ZDR}{\fs24 ).
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24 Pour chaque module d\rquote un acteur, on peut d\'e9finir une ZDD, une ZDE, une ZDM et une ZDR.
\par
\par }\pard \li284\widctlpar\adjustright {\fs24 Voir }{\fs24\uldb Comment cr\'e9er des zones de module}{\v\fs24 ID_CreationActeur}{\fs24
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_CreationActeur}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_030}}}{\fs28\cf6 Comment cr\'e9
er des zones d\rquote acteur
\par
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \fi284\widctlpar\adjustright {\fs24 Voici la marche \'e0 suivre pour affecter des zones \'e0 un acteur\~:
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \li567\widctlpar\adjustright {\fs24 1. Tout d\rquote abord, le mod\'e8le de l\rquote acteur doit avoir quatre }{\fs24\uld listes de noms}{\v\fs24 ID_ListeNoms}{\fs24 . Si ce n\rquote est pas le cas, il faut les cr\'e9er dans l\rquote \'e9diteur d
\rquote acteurs\~:
\par }\pard \qc\li567\widctlpar\adjustright {\fs24 \{BMC LISTENOM.BMP\}
\par }\pard \li567\widctlpar\adjustright {\fs24 \tab Ceci cr\'e9e automatiquement des listes de zones correspondantes pour chaque acteur de ce mod\'e8le.
\par 2. Dans l\rquote \'e9diteur de zones, choisir le type de zone (zdd, zde, zdm ou zdr) \'e0 ins\'e9rer en s\'e9lectionnant un emplacement vide dans la liste affich\'e9e\~:
\par }\pard \qc\li567\widctlpar\adjustright {\fs24 \{BMC LIST2.BMP\}
\par }\pard \li567\widctlpar\adjustright {\fs24 3. Faire un }{\i\fs24 drag and drop}{\fs24 du type de zone choisi (sph\'e8re, boite, point ou c\'f4ne) vers l\rquote acteur.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_List1}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_040}}}{\fs28\cf6 La liste des familles, mod\'e8
les, acteurs...
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par \{BMC LIST1.BMP\}
\par
\par Dans cette liste, on peut choisir entre l\rquote affichage de\~:
\par
\par }\pard \fi-283\li851\widctlpar\adjustright {\fs24 1. la }{\fs24\cf2 liste de toutes les familles }{\fs24 du niveau, avec pour chaque famille les diff\'e9rents mod\'e8les cr\'e9\'e9s,
\par 2. la }{\fs24\cf2 liste de tous les mod\'e8les}{\fs24 , avec pour chaque mod\'e8le les diff\'e9rents acteurs cr\'e9\'e9s,
\par 3. la }{\fs24\cf2 liste des mod\'e8les d\rquote une famille donn\'e9e}{\fs24 , avec pour chaque mod\'e8le les diff\'e9rents acteurs cr\'e9\'e9s,
\par 4. la }{\fs24\cf2 liste des acteurs d\rquote un mod\'e8le donn\'e9}{\fs24 , avec pour chaque acteur les diff\'e9rentes listes de zones (ZDD, ZDE et ZDM),
\par 5. la }{\fs24\cf2 liste des modules d\rquote un acteur}{\fs24 , avec pour chaque module ses diff\'e9rentes zones.
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Pour passer d\rquote une liste \'e0 l\rquote autre, on peut\~:
\par }\pard \li567\widctlpar\adjustright {\fs24 - choisir la liste dans la combo box
\par - double-cliquer sur un \'e9l\'e9ment
\par - cliquer sur le bouton retour\~: \{BMC RETOUR.BMP\}
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Le type d\rquote un \'e9l\'e9ment est repr\'e9sent\'e9 par une ic\'f4ne\~:
\par
\par }\pard \fi284\li567\widctlpar\adjustright {\fs24 \{BMC FAMILLE.BMP\}\tab : famille
\par \{BMC MODELE.BMP\}\tab : mod\'e8le
\par \{BMC ACTEUR.BMP\}\tab : acteur
\par \{BMC LISTE.BMP\}\tab : liste de zones
\par \{BMC MODULE.BMP\}\tab : module
\par \{BMC ZONE.BMP\}\tab : zone
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_List2}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_050}}}{\fs28\cf6 La liste des zones d\rquote
acteur
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par \{BMC LIST2.BMP\}
\par
\par L\rquote ic\'f4ne \'e0 gauche d\rquote une zone repr\'e9sente le type de la zone. Ce type est d\'e9fini au niveau de la liste de noms, et il est donc commun pour tous les acteurs d\rquote un m\'eame mod\'e8le.
\par
\par \{BMC COMMUN.BMP\} }{\b\fs24 commun (common)\~}{\fs24 : tous les acteurs du mod\'e8le poss\'e8de la m\'eame zone.
\par \{BMC PARTAGE.BMP\} }{\b\fs24 partag\'e9 (shared)\~}{\fs24 : certains acteurs peuvent avoir la m\'eame zone, d\rquote autres peuvent avoir une zone diff\'e9rente.
\par \{BMC VIERGE.BMP\} }{\b\fs24 vierge (virged)\~}{\fs24 : chaque acteur appara\'eet avec un champ vierge lors de la cr\'e9ation, afin de pouvoir lui donner une zone sp\'e9cifique.
\par
\par }\pard \li284\widctlpar\adjustright {\fs24 Voir }{\fs24\uldb Cr\'e9er des zones de type partag\'e9 (}{\i\fs24\uldb shared)}{\v\fs24 ID_Partage
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Partage}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_052}}}{\fs28\cf6 Cr\'e9
er des zones de type partag\'e9 (}{\i\fs28\cf6 shared}{\fs28\cf6 )
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Lorsqu\rquote on modifie un champ }{\b\fs24 partag\'e9}{\fs24 (en ins\'e9rant une zone, en supprimant une zone ou en intervertissant deux zones dont au moins une est partag\'e9e) et que la liste de zones est utilis\'e9
e par plusieurs acteurs (ou bien un acteur et un mod\'e8le), un message appara\'eet pour demander si la modification doit \'eatre r\'e9percut\'e9e sur tous les acteurs utilisant cette liste de zones\~:
\par
\par }\pard \qc\fi284\widctlpar\adjustright {\fs24 \{BMC MODIFPAR.BMP\}
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Si on r\'e9pond oui, la modification est effectu\'e9e dans la liste de zones courante, donc tous les acteurs qui utilisent cette liste de zones per\'e7oivent la modification.
\par
\par Si on r\'e9pond non, une nouvelle liste de zones est cr\'e9\'e9e pour l\rquote acteur courant, et la modification n\rquote est effectu\'e9e que sur cette liste. Donc tous les acteurs qui utilisent la liste pr\'e9c\'e9
dente ne voient pas la modification. Ceci permet de personnaliser les zones d\rquote un acteur particulier.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_NomListe}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_055}}}{\fs28\cf6 Comment changer le nom d
\rquote une liste de zone
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Il est possible de changer le nom d\rquote une liste de zones dans la liste du haut\~:
\par
\par \{BMC NOMLISTE.BMP\}
\par
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Affectation}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_060}}}{\fs28\cf6 Comment affecter une zone
\'e0 un nom donn\'e9
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Lors de la cr\'e9ation d\rquote une zone avec un }{\i\fs24 drag and drop}{\fs24 , celle-ci est par d\'e9faut plac\'e9e dans le }{\b\fs24 premier emplacement libre }{\fs24 de la liste de noms correspondante.
\par
\par Pour forcer la cr\'e9ation d\rquote une zone dans un emplacement pr\'e9cis d\rquote une liste de noms, il suffit de s\'e9lectionner cet emplacement avant de cr\'e9er la zone.
\par
\par Pour changer l\rquote emplacement d\rquote une zone, il suffit de la s\'e9lectionner avec un }{\i\fs24 clic droit}{\fs24 de la souris, et de la d\'e9placer :
\par
\par \{BMC DRAGDROI.BMP\}
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_CreationModule}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_065}}}{\fs28\cf6 Comment cr\'e9
er des zones de module
\par
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \fi284\widctlpar\adjustright {\fs24 Pour entrer dans l\rquote \'e9dition des zones de module, il faut choisir la liste des modules de l\rquote acteur\~: \{BMC LISTMODU.BMP\}, soit par l\rquote interm\'e9
diaire de la combo box, soit en cliquant sur le bouton \{BMC BOUTMODU.BMP\}
\par Les modules de l\rquote acteur sont alors affich\'e9s dans une grille, avec un module par case.
\par
\par La cr\'e9ation des zones de module se fait de la m\'eame mani\'e8re qu\rquote avec les zones d\rquote acteur, en s\'e9lectionnant le type de zone (ZDD, ZDE, ZDM ou ZDR) dans la liste et en faisant un }{\i\fs24 drag and drop}{\fs24 du mod\'e8
le de zone choisi (sph\'e8re, boite, point ou c\'f4ne) vers le module.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Taille}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_070}}}{\fs28\cf6 Comment changer la taille d
\rquote une zone
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Dans l\rquote \'e9diteur de zones, s\'e9lectionner la zone \'e0 modifier.
\par
\par }{\i\fs24 Au clavier\~:
\par }\pard \fi284\li567\widctlpar\adjustright {\fs24 Entrer la nouvelle taille (ainsi que la position) dans la boite de dialogue correspondante.
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par }{\i\fs24 A la souris\~:
\par }\pard \fi284\li567\widctlpar\adjustright {\fs24 Cliquer sur la zone en maintenant la touche }{\b\i\fs24 Contr\'f4le}{\fs24 appuy\'e9e.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_AfficherActeur}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_080}}}{\fs28\cf6 Visualisation d\rquote
un acteur seul avec ses zones
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Cliquer sur le bouton \{BMC LUNETTE.BMP\} en haut \'e0 droite de la fen\'eatre pour visualiser l\rquote acteur seul avec ses zones.
\par Cliquer une seconde fois pour revenir au mode normal.
\par }\pard \widctlpar\adjustright {\fs24
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_DisplayControl1}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_090}}}{\fs28\cf6
Visualisation des zones de plusieurs acteurs
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par }\pard \qc\fi284\widctlpar\adjustright {\fs24 \{BMC DISPLAY.BMP\}
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par La fen\'eatre }{\i\fs24 Display Control}{\fs24 permet de visualiser les zones de tous les acteurs existants, ou bien toutes les zones de certains acteurs, ou encore certaines zones de certains acteurs.
\par
\par Les boutons de la ligne }{\i\fs24 All Actors}{\fs24 contr\'f4lent l\rquote affichage des zones de tous les acteurs, sauf l\rquote acteur courant dont les zones sont toujours affich\'e9es.
\par Pour visualiser les zones de tous les acteurs, s\'e9lectionner le bouton }{\b\fs24 On}{\fs24 sur la ligne }{\i\fs24 All Actors}{\fs24 . Pour les cacher, s\'e9lectionner le bouton }{\b\fs24 Off}{\fs24 .
\par Pour visualiser les zones de certains acteurs, s\'e9lectionner le bouton }{\b\fs24 Selected}{\fs24 sur la ligne }{\i\fs24 All Actors}{\fs24 . Ensuite, s\'e9lectionner un acteur, et appuyer sur le bouton }{\b\fs24 On}{\fs24 de la ligne }{\i\fs24
Current Actor}{\fs24 . R\'e9p\'e9ter l\rquote op\'e9ration pour chacun des acteurs donc on veut visualiser les zones.
\par
\par Il est possible de ne visualiser que certaines zones d\rquote un acteur, aussi bien lorsqu\rquote on demande l\rquote affichage des zones de tous les acteurs que de certains acteurs. Pour cela, appuyer sur le bouton }{\b\fs24 Selected}{\fs24 de la ligne
}{\i\fs24 Current Actor}{\fs24 . S\'e9lectionner ensuite les zones en utilisant les cases \'e0 cocher \'e0 droite de chaque zone\~:
\par
\par }\pard \qc\fi284\widctlpar\adjustright {\fs24 \{BMC SELECTED.BMP\}
\par }\pard \widctlpar\adjustright {\fs24\cf6
\par }\pard \fi284\widctlpar\adjustright {\fs24 Comme les zones de l\rquote acteur courant sont syst\'e9matiquement affich\'e9es, les modifications sur l\rquote acteur courant, que ce soit au niveau des boutons }{\i\fs24 On}{\fs24 , }{\i\fs24 Off}{\fs24 et}{
\i\fs24 Selected}{\fs24 , ou bien au niveau de la s\'e9lection de chaque zone ne sont pas visibles imm\'e9diatement. Elles ne sont visibles que lorsque l\rquote acteur n\rquote est plus l\rquote acteur courant.
\par \line
\par }\pard \widctlpar\adjustright {\fs24\cf6
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\cf6 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_DisplayControl2}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_100}}}{\fs28\cf6
Visualisation des zones dans d\rquote autres \'e9diteurs, en mode moteur
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Toutes les options d\rquote affichage de la fen\'eatre }{\fs24\uldb Display Control}{\v\fs24 ID_DisplayControl1}{\fs24 sont persistantes lorsqu\rquote on quitte l\rquote \'e9diteur de zones.
\par On peut ensuite entrer dans un autre \'e9diteur (l\rquote \'e9diteur de mat\'e9riaux pour plaquer des mat\'e9riaux sur les zones, par exemple), ou bien passer en mode moteur en conservant les zones affich\'e9es.
\par
\par Il existe une entr\'e9e dans le }{\fs24\uld popup menu}{\v\fs24 ID_PopupMenu}{\fs24 lorsqu\rquote on clique sur un acteur qui permet d\rquote afficher ou de cacher imm\'e9diatement les zones de cet acteur en dehors de l\rquote \'e9diteur de zones (
\lquote }{\i\fs24 Show global zones}{\fs24 \rquote et \lquote }{\i\fs24 Hide global zones}{\fs24 \rquote ).
\par Cette entr\'e9e n\rquote existe que si l\rquote acteur poss\'e8de au moins une zone.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\cf6 \page
\par }{\cs16\fs28\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_VisualisationModule}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_110}}}{\fs28\cf6
Visualisation des zones de module sur un acteur
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24
\par Il existe une entr\'e9e dans le }{\fs24\uld popup menu}{\v\fs24 ID_PopupMenu}{\fs24 lorsqu\rquote on clique sur un acteur qui permet d\rquote afficher ou de cacher imm\'e9diatement les }{\b\fs24 zones de module}{\fs24 de cet acteur en dehors de l
\rquote \'e9diteur de zones (\lquote }{\i\fs24 Show module zones}{\fs24 \rquote et \lquote }{\i\fs24 Hide module zones}{\fs24 \rquote ).
\par Les zones de modules sont affich\'e9es, mais elles ne sont pas s\'e9lectionnables.
\par Cette entr\'e9e n\rquote existe que si l\rquote acteur poss\'e8de au moins une zone de module.
\par
\par Dans l\rquote \'e9diteur de zones, le bouton \{BMC BOUTAFFI.BMP\} remplit la m\'eame fonction.
\par }\pard \widctlpar\adjustright {\fs24\cf6 \page }{\cs16\fs24\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_ListeNoms}}}{\fs24\cf6 Liste de noms}{\fs24 \~: contient les noms qui seront utilis\'e9
s dans les scripts d\rquote intelligence pour d\'e9signer des zones
\par \page }{\cs16\fs24\cf6\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_PopupMenu}}}{\fs24\cf6 Popup menu}{\fs24 \~: menu contextuel qui appara\'eet quand on clique avec le }{\b\fs24 bouton droit}{\fs24
sur un objet (un acteur par exemple) dans la }{\b\fs24 fen\'eatre 3D}{\fs24 .
\par }}

View File

@@ -0,0 +1,15 @@
; This file is maintained by HCW. Do not modify this file directly.
[OPTIONS]
HCW=0
LCID=0x40c 0x0 0x0 ;Fran<61>ais - standard
REPORT=Yes
BMROOT=Bmp
BMROOT=Shg
HLP=x:\Cpa\Exe\Main\Edt_Data\Objects\Zdd\Zdd.hlp
[FILES]
.\Zhelp.rtf
[CONFIG]
BrowseButtons()

View File

@@ -0,0 +1,15 @@
; This file is maintained by HCW. Do not modify this file directly.
[OPTIONS]
HCW=0
LCID=0x40c 0x0 0x0 ;Fran<61>ais - standard
REPORT=Yes
BMROOT=Bmp
BMROOT=Shg
HLP=x:\Cpa\Exe\Main\Edt_Data\Objects\Zdd\Zdd_US.hlp
[FILES]
.\zHelp_US.RTF
[CONFIG]
BrowseButtons()

View File

@@ -0,0 +1,272 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f61\froman\fcharset238\fprq2 Times New Roman CE;}{\f62\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f64\froman\fcharset161\fprq2 Times New Roman Greek;}{\f65\froman\fcharset162\fprq2 Times New Roman Tur;}{\f66\froman\fcharset186\fprq2 Times New Roman Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;
\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\nowidctlpar\adjustright \fs20\lang1036 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}{\s15\nowidctlpar\adjustright \fs20\lang1036 \sbasedon0 \snext15 footnote text;}{\*\cs16
\additive \super \sbasedon10 footnote reference;}}{\info{\title #+ L\'92\'e9diteur de zones}{\author Alexis Vaisse}{\operator Alexis Vaisse}{\creatim\yr1997\mo12\dy4\hr17\min2}{\revtim\yr1997\mo12\dy8\hr11\min45}{\version32}{\edmins100}{\nofpages19}
{\nofwords1474}{\nofchars8404}{\*\company UBI}{\nofcharsws0}{\vern89}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417 \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\hyphcaps0\formshade\viewkind4\viewscale201\viewzk2 \fet0\sectd
\linex0\headery709\footery709\colsx709\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4
\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \qc\keepn\widctlpar\adjustright \fs20\lang1036 {\b\fs36\cf6\lang1033
\par }{\cs16\b\fs36\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Titre}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_010}}}{\b\fs36\cf6\lang1033
The zone editor
\par
\par }\pard \qr\widctlpar\adjustright {\fs24\lang1033 \{BMC PORTRAIT.BMP\}
\par Alexis Vaisse
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }{\fs24\uldb\lang1033
\par
\par
\par }{\fs28\lang1033 Presentation of the zones
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\uldb\lang1033 The different types of zones}{\v\fs24\lang1033 ID_Types}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 The zones of an actor}{\v\fs24\lang1033 ID_ZoneActeur}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 The zones of a module}{\v\fs24\lang1033 ID_ZoneModule}{\fs24\lang1033
\par }\pard \widctlpar\adjustright {\fs28\lang1033
\par Creation of a zone
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\uldb\lang1033 How to create a zone of actor}{\v\fs24\lang1033 ID_CreationActeur}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 The list of the families, models, actors...}{\v\fs24\lang1033 ID_List1}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 The list of the zones of actor}{\v\fs24\lang1033 ID_List2}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 Creation of shared zones}{\v\fs24\lang1033 ID_Partage}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 How to change the name of a list of zones}{\v\fs24\lang1033 ID_NomListe}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 How to set a zone to a given name}{\v\fs24\lang1033 ID_Affectation}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 How to create a zone of module}{\v\fs24\lang1033 ID_CreationModule}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 How to change the size of a zone}{\v\fs24\lang1033 ID_Taille}{\fs24\lang1033
\par }{\fs28\lang1033
\par }\pard \widctlpar\adjustright {\fs28\lang1033 Visualization of the zones
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\uldb\lang1033 Visualization of an actor alone with its zones}{\v\fs24\lang1033 ID_AfficherActeur}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 Visualization of the zones of several actors}{\v\fs24\lang1033 ID_DisplayControl1}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 Visualization of the zones in another editor, during the game}{\v\fs24\lang1033 ID_DisplayControl2}{\fs24\lang1033
\par }{\fs24\uldb\lang1033 Visualization of an actor with its zones of module}{\v\fs24\lang1033 ID_VisualisationModule}{\fs24\lang1033
\par }{\fs24\lang1033
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Recherche}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_015}}}{\fs28\cf6\lang1033 Research
\par
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par Click on the element you want to learn more about\~:
\par
\par }\pard \li1134\widctlpar\adjustright {\fs24\lang1033 \{BMC GENERAL.SHG\} \{BMC GENEMODE.SHG\}
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Types}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_020}}}{\fs28\cf6\lang1033
The different type of zones
\par
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033 There are two categories of zones zones\~:
\par
\par }\pard \fi-142\li709\widctlpar\adjustright {\fs24\lang1033 - The }{\fs24\uldb\lang1033 zones of actor}{\v\fs24\lang1033 ID_ZoneActeur}{\fs24\lang1033 , which are defined for each actor,
\par - The }{\fs24\uldb\lang1033 zones of module}{\v\fs24\lang1033 ID_ZoneModule}{\fs24\lang1033 , which are defined for each module of the actor (the head, the hand\'85)
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_ZoneActeur}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_022}}}{\fs28\cf6\lang1033 The
zones of actor
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par There are four types of zones of actor :
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \li567\widctlpar\adjustright {\fs24\lang1033 - the zones of detection (}{\fs24\cf2\lang1033 ZDD}{\fs24\lang1033 ),
\par - the zones of event (}{\fs24\cf2\lang1033 ZDE}{\fs24\lang1033 ),
\par - the zones of movement (}{\fs24\cf2\lang1033 ZDM}{\fs24\lang1033 ),
\par - and the zones to reposition (}{\fs24\cf2\lang1033 ZDR}{\fs24\lang1033 ).
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par For each model, four }{\fs24\uld\lang1033 lists of names}{\v\fs24\lang1033 ID_ListeNoms}{\fs24\lang1033 \~can be defined : one list of names of ZDD, one of ZDE, one of ZDM and one of ZDR.
\par Each actor of this model will have four associated list of zones. The size of a list of zones is equal to the size of the associated list of names of the model (as many zones as names).
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\lang1033 See }{\fs24\uldb\lang1033 How to create a zone of actor}{\v\fs24\lang1033 ID_CreationActeur}{\fs24\lang1033
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_ZoneModule}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_024}}}{\fs28\cf6\lang1033
The zones of module
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par There are four types of zones of module :
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \li567\widctlpar\adjustright {\fs24\lang1033 - the zones of detection (}{\fs24\cf2\lang1033 ZDD}{\fs24\lang1033 ),
\par - the zones of event (}{\fs24\cf2\lang1033 ZDE}{\fs24\lang1033 ),
\par - the zones of movement (}{\fs24\cf2\lang1033 ZDM}{\fs24\lang1033 ),
\par - and the zones to reposition (}{\fs24\cf2\lang1033 ZDR}{\fs24\lang1033 ).
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par For each module of an actor, one can define one ZDD, one ZDE, one ZDM and one ZDR.
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\lang1033 See }{\fs24\uldb\lang1033 How to create a zone of module}{\v\fs24\lang1033 ID_CreationModule}{\fs24\lang1033
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_CreationActeur}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_030}}}{\fs28\cf6\lang1033
How to create a zone of actor
\par
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033 Here is the method to follow to create zones of actor\~:
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \li567\widctlpar\adjustright {\fs24\lang1033 1. First, the model of the actor must have four }{\fs24\uld\lang1033 lists of names}{\v\fs24\lang1033 ID_ListeNoms}{\fs24\lang1033 . If this is not the case, you have to create them in the actor editor\~
:
\par
\par }\pard \qc\li567\widctlpar\adjustright {\fs24\lang1033 \{BMC LISTENOM.BMP\}
\par }\pard \li567\widctlpar\adjustright {\fs24\lang1033
\par \tab This automatically creates some lists of zones for each actor of this model.
\par
\par 2. In the zone editor, choose the type of zone (zdd, zde, zdm ou zdr) you when to create by selecting an empty position in the list\~:
\par
\par }\pard \qc\li567\widctlpar\adjustright {\fs24\lang1033 \{BMC LIST2.BMP\}
\par
\par }\pard \li567\widctlpar\adjustright {\fs24\lang1033 3. }{\i\fs24\lang1033 Drag and drop}{\fs24\lang1033 the zone you want (sphere, box, point or cone) to the actor into the 3D view.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_List1}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_040}}}{\fs28\cf6\lang1033
The list of families, models, actors...
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par \{BMC LIST1.BMP\}
\par
\par In this list, you can choose between\~:
\par
\par }\pard \fi-283\li851\widctlpar\adjustright {\fs24\lang1033 1. the }{\fs24\cf2\lang1033 list of all families }{\fs24\lang1033 of the current map, with the models of each family,
\par 2. the }{\fs24\cf2\lang1033 list of all models}{\fs24\lang1033 , with the actors of each model,
\par 3. the }{\fs24\cf2\lang1033 list of the models of one family}{\fs24\lang1033 , with the actors of each model,
\par 4. the }{\fs24\cf2\lang1033 lists of one model}{\fs24\lang1033 , with the list of zones (ZDD, ZDE, ZDM and ZDR) of each actor,
\par 5. the }{\fs24\cf2\lang1033 list of all the modules of an actor}{\fs24\lang1033 , with the zones of each module.
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par To show a list, you can\~:
\par }\pard \li567\widctlpar\adjustright {\fs24\lang1033 - select the list into the combo box,
\par - double-click on one element of the list
\par - click on the \lquote }{\i\fs24\lang1033 Return}{\fs24\lang1033 \rquote button\~: \{BMC RETOUR.BMP\}
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par Each element has an icon that visualizes its type\~:
\par
\par }\pard \fi284\li567\widctlpar\adjustright {\fs24\lang1033 \{BMC FAMILLE.BMP\}\tab : family
\par \{BMC MODELE.BMP\}\tab : model
\par \{BMC ACTEUR.BMP\}\tab : actor
\par \{BMC LISTE.BMP\}\tab : list of zones
\par \{BMC MODULE.BMP\}\tab : module
\par \{BMC ZONE.BMP\}\tab : zone
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_List2}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_050}}}{\fs28\cf6\lang1033
The list of zones of actor
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par \{BMC LIST2.BMP\}
\par
\par The icon at the left of a zone visualizes the type of the zone. You define this type for each name when you create the list of names. Therefore all actors of a model have the same list of types.
\par
\par \{BMC COMMUN.BMP\} }{\b\fs24\lang1033 common\~}{\fs24\lang1033 : all actors of the model have the same zone.
\par \{BMC PARTAGE.BMP\} }{\b\fs24\lang1033 shared\~}{\fs24\lang1033 : some actors can have the same zone, some can have another one.
\par \{BMC VIERGE.BMP\} }{\b\fs24\lang1033 virgin }{\fs24\lang1033 or }{\b\fs24\lang1033 specific\~}{\fs24\lang1033 : each actor has its own zone, which cannot be shared.
\par
\par }\pard \li284\widctlpar\adjustright {\fs24\lang1033 See }{\fs24\uldb\lang1033 Creation of shared zones}{\v\fs24\lang1033 ID_Partage
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Partage}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_052}}}{\fs28\cf6\lang1033
Creation of shared zones
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par If you modify a }{\b\fs24\lang1033 shared }{\fs24\lang1033 field (by inserting a zone, removing a zone or reversing two zones and at least one of them is shared) and if the list of zones is used by several actors
(or one actor and one model), you are asked if you want the modification to be done for all actors using this list\~:
\par
\par }\pard \qc\fi284\widctlpar\adjustright {\fs24\lang1033 \{BMC MODIFPAR.BMP\}
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par If you answer YES, the modification is done in the current list of zones, so all actors using this list get this modification.
\par
\par If you answer NO, a new list of zones is creating for the current actor, and the modification is done in this list. All the other actors does not see this modification. This lets you personalize the zone of one actor.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_NomListe}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_055}}}{\fs28\cf6\lang1033
How to change the name of a list of zones
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par You can change the name of a list of zones in the first list (top left of the screen)\~:
\par
\par \{BMC NOMLISTE.BMP\}
\par
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Affectation}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_060}}}{\fs28\cf6\lang1033
How to set a zone to a given name
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par When you create a new zone with a }{\i\fs24\lang1033 drag and drop}{\fs24\lang1033 , it is put in the }{\b\fs24\lang1033 first unused position}{\fs24\lang1033 of the list of zones.
\par
\par If you want to create a zone in a specific position (and also if you want to choose the type of the zone : ZDD, ZDE, ZDM or ZDR), you just have to select this empty position before creating the zone.
\par
\par To change the position (this can also change its type), select the zone with a }{\i\fs24\lang1033 right click}{\fs24\lang1033 , and move it).
\par
\par
\par \{BMC DRAGDROI.BMP\}
\par
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_CreationModule}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_065}}}{\fs28\cf6\lang1033
How to create a zone of module
\par
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033 To edit a zone of module, you have to choose the list of the modules of the actor\~: \{BMC LISTMODU.BMP\}, with the combo box or with the \{BMC BOUTMODU.BMP\} button.
\par The modules of the actor are displayed in a grid with one module in each square.
\par
\par You create a zone of module the same way as you create a zone of actor : select the type of zones (ZDD, ZDE, ZDM or ZDR) into the list and }{\i\fs24\lang1033 drag and drop }{\fs24\lang1033 the zone (sphere, box, point or cone) you want on the module.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_Taille}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_070}}}{\fs28\cf6\lang1033
How to change the size of a zone
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par In the editor of zones, select the zone to modify.
\par
\par }{\i\fs24\lang1033 With the keyboard\~:
\par }\pard \fi284\li567\widctlpar\adjustright {\fs24\lang1033 Enter the new size (and the position) in the dialog box.
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par }{\i\fs24\lang1033 With the mouse\~:
\par }\pard \fi284\li567\widctlpar\adjustright {\fs24\lang1033 Click on the zone with the }{\b\i\fs24\lang1033 Control }{\fs24\lang1033 key pressed.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_AfficherActeur}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_080}}}{\fs28\cf6\lang1033
Visualization of an actor alone with its zones
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par Click on the \{BMC LUNETTE.BMP\} button in the top right of the dialog of the editor of zones to visualize the current actor alone with its zones.
\par Click a second time to go back to the normal mode.
\par }\pard \widctlpar\adjustright {\fs24\lang1033
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_DisplayControl1}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_090}}}{\fs28\cf6\lang1033
Visualization of the zones of several actors
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par }\pard \qc\fi284\widctlpar\adjustright {\fs24\lang1033 \{BMC DISPLAY.BMP\}
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par With the }{\i\fs24\lang1033 Display Control}{\fs24\lang1033 dialog, you can visualize the zones of all existing actors, or all zones of some actors, or some zones of some actors.
\par
\par The button on the }{\i\fs24\lang1033 All Actors}{\fs24\lang1033 line controls the display of the zones of all actors (except for the current actor whose zones are always displayed when you are in the editor of zones).
\par To visualize the zones of all actors, select the }{\b\fs24\lang1033 On }{\fs24\lang1033 button of the }{\i\fs24\lang1033 All Actors }{\fs24\lang1033 line. To hide them, select the }{\b\fs24\lang1033 Off }{\fs24\lang1033 button.
\par To visualize the zones of some actors, select the }{\b\fs24\lang1033 Select }{\fs24\lang1033 button of the }{\i\fs24\lang1033 All Actors }{\fs24\lang1033 line. Select an actor and click on the }{\b\fs24\lang1033 On }{\fs24\lang1033 button of the }{
\i\fs24\lang1033 Current Actor }{\fs24\lang1033 line. Repeat this for each actor you want the zones to be displayed.
\par
\par You can visualize only certain zones of an actor, when you select the visualization of the zones of all actors or of some actors. For this, you have to click on the }{\b\fs24\lang1033 Selected }{\fs24\lang1033 button of the }{\i\fs24\lang1033
Current Actor }{\fs24\lang1033 line. Select the zones you want to see with the }{\i\fs24\lang1033 check box }{\fs24\lang1033 at the right of each zone\~:
\par
\par }\pard \qc\fi284\widctlpar\adjustright {\fs24\lang1033 \{BMC SELECTED.BMP\}
\par }\pard \widctlpar\adjustright {\fs24\cf6\lang1033
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033 As the zones of the current actor are always displayed, the modifications for the current actor (with the }{\i\fs24\lang1033 On}{\fs24\lang1033 , }{\i\fs24\lang1033 Off }{\fs24\lang1033 and }{
\i\fs24\lang1033 Selected }{\fs24\lang1033 buttons or with the }{\i\fs24\lang1033 check box }{\fs24\lang1033 of each zone) become visible only when the actor is no longer the current actor.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\cf6\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_DisplayControl2}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_100}}}{\fs28\cf6\lang1033
Visualization of the zones in another editor, during the game
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par All the options of the }{\fs24\uldb\lang1033 Display Control}{\v\fs24\lang1033 ID_DisplayControl1}{\fs24\lang1033 dialog keep valid when you exit the zone editor.
\par You can enter another editor (the material editor for instance, to set the material of the zones), or resume the game and the zones are still displayed.
\par
\par You can use an entry of the }{\fs24\uld\lang1033 popup menu}{\v\fs24\lang1033 ID_PopupMenu}{\fs24\lang1033 when you click on an actor to show or hide the zones of this actor immediately, when you are not into the zone editor (\lquote }{\i\fs24\lang1033
Show global zones}{\fs24\lang1033 \rquote or \lquote }{\i\fs24\lang1033 Hide global zones}{\fs24\lang1033 \rquote ).
\par The entry is visible only if the selected actor has at least one zone.
\par }\pard \qc\keepn\widctlpar\adjustright {\fs24\cf6\lang1033 \page
\par }{\cs16\fs28\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_VisualisationModule}}+{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super +}{ PAGE_110}}}{\fs28\cf6\lang1033
Visualization of an actor with its zones of module
\par
\par }\pard \fi284\widctlpar\adjustright {\fs24\lang1033
\par You can use an entry of the }{\fs24\uld\lang1033 popup menu}{\v\fs24\lang1033 ID_PopupMenu}{\fs24\lang1033 when you click on an actor to show or hide the }{\b\fs24\lang1033 zones of module}{\fs24\lang1033
of this actor immediately, when you are not into the zone editor (\lquote }{\i\fs24\lang1033 Show module zones}{\fs24\lang1033 \rquote or \lquote }{\i\fs24\lang1033 Hide module zones}{\fs24\lang1033 \rquote ).
\par The zones of module of the actor are displayed, but one cannot select them.
\par This entry is visible only if the selected actor has at least one zone }{\i\fs24\lang1033 for the module it is using with its current animation}{\fs24\lang1033 (if you only have one zone for one
module but this module is not currently used, this entry will not exist).
\par
\par In the zone editor, use the \{BMC BOUTAFFI.BMP\} button.
\par }\pard \widctlpar\adjustright {\fs24\cf6\lang1033 \page }{\cs16\fs24\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_ListeNoms}}}{\fs24\cf6\lang1033 Liste of names}{\fs24\lang1033 \~:
contains the names which will be used by the }{\i\fs24\lang1033 Artificial Intelligence }{\fs24\lang1033 to name a zone.
\par \page }{\cs16\fs24\cf6\lang1033\super #{\footnote \pard\plain \s15\widctlpar\adjustright \fs20\lang1036 {\cs16\super #}{ ID_PopupMenu}}}{\fs24\cf6\lang1033 Popup menu}{\fs24\lang1033 \~: context menu you can open by clicking
with the right button on an object (an actor for instance) into the }{\b\fs24\lang1033 3D view}{\fs24\lang1033 .
\par }}

View File

@@ -0,0 +1,492 @@
//Microsoft Developer Studio generated resource script.
//
#include "..\inc\_zRes.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_CHECK_ZONES_AGAINST_BV DIALOG DISCARDABLE 0, 0, 237, 170
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "WARNING!"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,52,149,50,14
PUSHBUTTON "Cancel",IDCANCEL,135,149,50,14
LTEXT "WARNING! These zones exceed the bounding volume limits. ",
IDC_STATIC,20,7,197,8
CONTROL "Check zones against the bounding volume",
IDC_CHECK_ZONES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,
131,150,10
LTEXT "Do you want to update the bounding volume now?",
IDC_STATIC,18,118,160,8
CONTROL "Yes",IDC_CHECK_YES,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,192,118,28,10
LISTBOX IDC_LIST_ZONES,28,22,181,86,LBS_SORT |
LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_CHECK_ZONES_AGAINST_BV, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 230
TOPMARGIN, 7
BOTTOMMARGIN, 163
END
END
#endif // APSTUDIO_INVOKED
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// French (France) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
#ifdef _WIN32
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ZDD_Info_Window DIALOG DISCARDABLE 0, 0, 106, 99
STYLE WS_CHILD
FONT 8, "Arial"
BEGIN
RTEXT "&Name :",IDC_Static_Text_Name,2,3,26,10
EDITTEXT IDC_Edition_Zone_Name,31,3,57,12,ES_AUTOHSCROLL |
WS_DISABLED
RTEXT "Type :",IDC_Static_Text_Type,2,17,26,10
PUSHBUTTON "Apply",IDC_Apply_Button,2,32,41,15,WS_DISABLED
PUSHBUTTON "Cancel",IDC_Cancel_Button,48,32,41,15,WS_DISABLED
LTEXT "",IDC_Pos_Shape_Info_Window,2,50,78,35,NOT WS_GROUP
EDITTEXT IDC_Edition_Zone_Type,31,17,57,12,ES_AUTOHSCROLL |
WS_DISABLED
END
IDD_ZDD_Sphere_Info_Window DIALOGEX 0, 0, 85, 80
STYLE WS_CHILD
EXSTYLE WS_EX_CLIENTEDGE
FONT 8, "Arial", 0, 0, 0x1
BEGIN
GROUPBOX "Center",IDC_Frame,5,0,60,45
RTEXT "&X :",IDC_Static_Text_Center_X,10,10,10,8
RTEXT "&Y :",IDC_Static_Text_Center_Y,10,20,10,8
RTEXT "&Z :",IDC_Static_Text_Center_Z,10,30,10,8
LTEXT "&Radius :",IDC_Static_Text_Radius,5,49,28,10
EDITTEXT IDC_Edition_Zone_Center_X,25,10,35,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Center_Y,25,20,35,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Center_Z,25,30,35,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Radius,34,47,30,12,ES_AUTOHSCROLL
CONTROL "Slider1",IDC_Slider_Radius,"msctls_trackbar32",
TBS_AUTOTICKS | WS_TABSTOP,1,59,65,13
CTEXT "0",IDC_Static_Text_0,5,72,8,8
CTEXT "1",IDC_Static_Text_1,39,72,8,8
CTEXT "1.5",IDC_Static_Text_1_5,54,72,11,8
PUSHBUTTON "&Ini",IDC_Button_Init,67,61,16,12
END
IDD_ZDD_Box_Info_Window_1 DIALOG DISCARDABLE 0, 0, 129, 85
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
CAPTION "ZDD Box"
FONT 8, "Arial"
BEGIN
CONTROL "Ce&nter",IDC_Radio_Button_Center,"Button",
BS_AUTORADIOBUTTON,5,5,37,10
CONTROL "&Extrema",IDC_Radio_Button_Extrema,"Button",
BS_AUTORADIOBUTTON,40,5,43,10
GROUPBOX "Center",IDC_Frame,5,15,55,45
RTEXT "&X :",IDC_Static_Text_Center_X,10,25,10,8
EDITTEXT IDC_Edition_Zone_Center_X,25,25,30,10,ES_AUTOHSCROLL
RTEXT "&Y :",IDC_Static_Text_Center_Y,10,35,10,8
EDITTEXT IDC_Edition_Zone_Center_Y,25,35,30,10,ES_AUTOHSCROLL
RTEXT "&Z :",IDC_Static_Text_Center_Z,10,45,10,8
EDITTEXT IDC_Edition_Zone_Center_Z,25,45,30,10,ES_AUTOHSCROLL
RTEXT "&Length :",IDC_Static_Text_Length,60,25,30,10
EDITTEXT IDC_Edition_Zone_Length,95,25,30,10,ES_AUTOHSCROLL
RTEXT "&Width:",IDC_Static_Text_Width,60,35,30,10
EDITTEXT IDC_Edition_Zone_Width,95,35,30,10,ES_AUTOHSCROLL
RTEXT "&Height :",IDC_Static_Text_Height,60,45,30,10
EDITTEXT IDC_Edition_Zone_Height,95,45,30,10,ES_AUTOHSCROLL
CONTROL "Cu&be",IDC_Check_Box_Cube,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,5,65,45,10
PUSHBUTTON "&OK",IDC_OK_Button,65,65,25,15
PUSHBUTTON "&Cancel",IDC_Cancel_Button,95,65,30,15
END
IDD_ZDD_Box_Info_Window_2 DIALOG DISCARDABLE 0, 0, 129, 85
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
CAPTION "ZDD Box"
FONT 8, "Arial"
BEGIN
RTEXT "X :",IDC_Static_Text_X_Mini,10,25,10,8
GROUPBOX "&Mini",IDC_Frame_Mini,5,15,55,45
RTEXT "Y :",IDC_Static_Text_Y_Mini,10,35,10,8
RTEXT "Z :",IDC_Static_Text_Z_Mini,10,45,10,8
EDITTEXT IDC_Edition_Zone_X_Mini,25,25,30,10,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Y_Mini,25,35,30,10,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Z_Mini,25,45,30,10,ES_AUTOHSCROLL
PUSHBUTTON "&OK",IDC_OK_Button,65,65,25,15
PUSHBUTTON "&Cancel",IDC_Cancel_Button,95,65,30,15
CONTROL "Cu&be",IDC_Check_Box_Cube,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,5,65,45,10
CONTROL "Ce&nter",IDC_Radio_Button_Center,"Button",
BS_AUTORADIOBUTTON,5,5,35,10
CONTROL "&Extrema",IDC_Radio_Button_Extrema,"Button",
BS_AUTORADIOBUTTON,40,5,43,10
RTEXT "X :",IDC_Static_Text_X_Maxi,75,25,10,8
GROUPBOX "Ma&xi",IDC_Frame_Maxi,70,15,55,45
RTEXT "Y :",IDC_Static_Text_Y_Maxi,75,35,10,8
RTEXT "Z :",IDC_Static_Text_Z_Maxi,75,45,10,8
EDITTEXT IDC_Edition_Zone_X_Maxi,90,25,30,10,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Y_Maxi,90,35,30,10,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Z_Maxi,90,45,30,10,ES_AUTOHSCROLL
END
IDD_ZDD_Box_Info_Window DIALOGEX 0, 0, 129, 83
STYLE WS_CHILD
EXSTYLE WS_EX_CLIENTEDGE
FONT 8, "Arial", 0, 0, 0x1
BEGIN
CONTROL "Ce&nter",IDC_Radio_Button_Center,"Button",
BS_AUTORADIOBUTTON | WS_GROUP,5,5,35,10
CONTROL "&Extrema",IDC_Radio_Button_Extrema,"Button",
BS_AUTORADIOBUTTON,45,5,43,10
GROUPBOX "Center",IDC_Frame_Center,5,15,55,45
RTEXT "&X :",IDC_Static_Text_Center_X,10,25,10,8
EDITTEXT IDC_Edition_Zone_Center_X,25,25,30,12,ES_AUTOHSCROLL
RTEXT "&Y :",IDC_Static_Text_Center_Y,10,35,10,8
EDITTEXT IDC_Edition_Zone_Center_Y,25,35,30,12,ES_AUTOHSCROLL
RTEXT "&Z :",IDC_Static_Text_Center_Z,10,45,10,8
EDITTEXT IDC_Edition_Zone_Center_Z,25,45,30,12,ES_AUTOHSCROLL
GROUPBOX "Ma&xi",IDC_Frame_Maxi,70,15,55,45
RTEXT "&Length :",IDC_Static_Text_Length,61,25,29,10
RTEXT "X :",IDC_Static_Text_X_Maxi,75,25,10,8
RTEXT "&Width:",IDC_Static_Text_Width,65,35,25,10
RTEXT "Y :",IDC_Static_Text_Y_Maxi,75,35,10,8
RTEXT "&Height :",IDC_Static_Text_Height,65,45,25,10
RTEXT "Z :",IDC_Static_Text_Z_Maxi,75,45,10,8
EDITTEXT IDC_Edition_Zone_X_Maxi,90,25,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Length,95,25,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Y_Maxi,90,35,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Width,95,35,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Z_Maxi,90,45,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Height,95,45,30,12,ES_AUTOHSCROLL
CONTROL "Cu&be",IDC_Check_Box_Cube,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,5,62,31,10
RTEXT "X :",IDC_Static_Text_X_Mini,10,25,10,8
GROUPBOX "&Mini",IDC_Frame_Mini,5,15,55,45
RTEXT "Y :",IDC_Static_Text_Y_Mini,10,35,10,8
RTEXT "Z :",IDC_Static_Text_Z_Mini,10,45,10,8
EDITTEXT IDC_Edition_Zone_X_Mini,25,25,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Y_Mini,25,35,30,12,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Z_Mini,25,45,30,12,ES_AUTOHSCROLL
CONTROL "Slider1",IDC_Slider_Size,"msctls_trackbar32",
TBS_AUTOTICKS | WS_TABSTOP,41,60,65,13
CTEXT "0",IDC_Static_Text_0,45,73,8,8
CTEXT "1",IDC_Static_Text_1,79,73,8,8
CTEXT "1.5",IDC_Static_Text_1_5,94,73,11,8
PUSHBUTTON "&Ini",IDC_Button_Init,107,62,16,12
END
IDD_ZDD_Point_Info_Window DIALOGEX 0, 0, 63, 43
STYLE WS_CHILD
EXSTYLE WS_EX_CLIENTEDGE
FONT 8, "Arial", 0, 0, 0x1
BEGIN
RTEXT "&X :",IDC_Static_Text_X,5,5,10,8
EDITTEXT IDC_Edition_Zone_X,20,5,40,10,ES_AUTOHSCROLL
RTEXT "&Y :",IDC_Static_Text_Y,5,15,10,8
EDITTEXT IDC_Edition_Zone_Y,20,15,40,10,ES_AUTOHSCROLL
RTEXT "&Z :",IDC_Static_Text_Z,5,25,10,8
EDITTEXT IDC_Edition_Zone_Z,20,25,40,10,ES_AUTOHSCROLL
END
IDD_ZDD_List1_Window DIALOG DISCARDABLE 0, 0, 147, 66
STYLE WS_CHILD | WS_BORDER
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "",IDC_Button_Return,2,17,19,13,BS_BITMAP
CONTROL "Tree1",IDC_Tree_Ctrl_1,"SysTreeView32",TVS_HASBUTTONS |
TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS |
TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,2,34,145,30
COMBOBOX IDC_Combo_Box_List_1,2,0,145,105,CBS_DROPDOWNLIST |
CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL |
WS_TABSTOP
CONTROL "",IDC_Check_Button_Show_Actor,"Button",BS_AUTOCHECKBOX |
BS_BITMAP | BS_PUSHLIKE | WS_TABSTOP,26,17,19,13
CONTROL "",IDC_Check_Button_Show_Module,"Button",BS_AUTOCHECKBOX |
BS_BITMAP | BS_PUSHLIKE | WS_TABSTOP,50,17,19,13
CONTROL "",IDC_Check_Button_Show_Module_ZDx,"Button",
BS_AUTOCHECKBOX | BS_BITMAP | BS_PUSHLIKE | WS_TABSTOP,
74,17,19,13
CONTROL "",IDC_Check_Button_Bounding_Volume,"Button",
BS_AUTOCHECKBOX | BS_BITMAP | BS_PUSHLIKE | WS_TABSTOP,
98,17,19,13
CONTROL "",IDC_Check_Button_Test_Point,"Button",BS_AUTOCHECKBOX |
BS_BITMAP | BS_PUSHLIKE | WS_DISABLED | WS_TABSTOP,122,
17,19,13
END
IDD_ZDD_List2_Window DIALOG DISCARDABLE 0, 0, 96, 64
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "ZD&D",IDC_Check_Box_ZDD,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,5,2,30,13
CONTROL "ZD&E",IDC_Check_Box_ZDE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,39,2,30,13
CONTROL "ZD&M",IDC_Check_Box_ZDM,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,5,15,30,13
CONTROL "ZD&R",IDC_Check_Box_ZDR,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,39,15,30,13
PUSHBUTTON "&All",IDC_Button_All_ZDx,70,5,25,10
COMBOBOX IDC_Combo_Box_List,1,31,69,95,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
LISTBOX IDC_List_Ctrl_2,0,46,95,18,LBS_OWNERDRAWFIXED |
LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT |
LBS_WANTKEYBOARDINPUT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&New",IDC_Button_New_List,73,31,22,12,NOT WS_VISIBLE
PUSHBUTTON "N&one",IDC_Button_No_ZDx,70,15,25,10
END
IDD_ZDD_Cone_Info_Window DIALOGEX 0, 0, 123, 74
STYLE WS_CHILD
EXSTYLE WS_EX_CLIENTEDGE
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
RTEXT "X :",IDC_Static_Text_X_Top,11,11,10,9
GROUPBOX "&Top",IDC_Frame_Top,5,0,55,49
RTEXT "Y :",IDC_Static_Text_Y_Top,11,22,10,9
RTEXT "Z :",IDC_Static_Text_Z_Top,11,33,10,9
EDITTEXT IDC_Edition_Zone_X_Top,25,11,30,11,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Y_Top,25,22,30,11,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Z_Top,25,33,30,11,ES_AUTOHSCROLL
RTEXT "X :",IDC_Static_Text_X_Base,71,10,10,9
GROUPBOX "&Base",IDC_Frame_Base,65,0,55,49
RTEXT "Y :",IDC_Static_Text_Y_Base,71,21,10,9
RTEXT "Z :",IDC_Static_Text_Z_Base,71,32,10,9
EDITTEXT IDC_Edition_Zone_X_Base,84,10,30,11,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Y_Base,84,21,30,11,ES_AUTOHSCROLL
EDITTEXT IDC_Edition_Zone_Z_Base,84,32,30,11,ES_AUTOHSCROLL
LTEXT "&Radius :",IDC_Static_Text_Radius,10,50,30,11
EDITTEXT IDC_Edition_Zone_Radius,40,50,35,11,ES_AUTOHSCROLL
LTEXT "&Angle :",IDC_Static_Text_Angle,10,60,30,11
EDITTEXT IDC_Edition_Zone_Angle,40,60,35,11,ES_AUTOHSCROLL
END
IDD_ZDD_Display_Control_Window DIALOG DISCARDABLE 0, 0, 121, 51
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "&All actors",IDC_Frame_All_Actors,2,2,117,24
CONTROL "On",IDC_Radio_Button_All_Actors_On,"Button",
BS_AUTORADIOBUTTON | BS_PUSHLIKE | WS_GROUP | WS_TABSTOP,
8,11,25,11
CONTROL "Off",IDC_Radio_Button_All_Actors_Off,"Button",
BS_AUTORADIOBUTTON | BS_PUSHLIKE,40,11,25,11
CONTROL "Selected",IDC_Radio_Button_All_Actors_Selected,"Button",
BS_AUTORADIOBUTTON | BS_PUSHLIKE,70,11,44,11
GROUPBOX "&Current actor",IDC_Frame_Current_Actor,2,26,117,24
CONTROL "On",IDC_Radio_Button_Current_Actor_On,"Button",
BS_AUTORADIOBUTTON | BS_PUSHLIKE | WS_GROUP | WS_TABSTOP,
8,35,25,11
CONTROL "Off",IDC_Radio_Button_Current_Actor_Off,"Button",
BS_AUTORADIOBUTTON | BS_PUSHLIKE,40,35,25,11
CONTROL "Selected",IDC_Radio_Button_Current_Actor_Selected,
"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE,70,35,44,11
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_ZDD_Info_Window, DIALOG
BEGIN
LEFTMARGIN, 2
RIGHTMARGIN, 104
TOPMARGIN, 3
BOTTOMMARGIN, 97
END
IDD_ZDD_Sphere_Info_Window, DIALOG
BEGIN
RIGHTMARGIN, 83
END
IDD_ZDD_Box_Info_Window_1, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 122
TOPMARGIN, 7
BOTTOMMARGIN, 78
END
IDD_ZDD_Box_Info_Window_2, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 122
TOPMARGIN, 7
BOTTOMMARGIN, 78
END
IDD_ZDD_Point_Info_Window, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 56
TOPMARGIN, 7
BOTTOMMARGIN, 36
END
IDD_ZDD_List1_Window, DIALOG
BEGIN
LEFTMARGIN, 2
RIGHTMARGIN, 121
BOTTOMMARGIN, 59
END
IDD_ZDD_List2_Window, DIALOG
BEGIN
TOPMARGIN, 7
END
IDD_ZDD_Cone_Info_Window, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 116
TOPMARGIN, 7
BOTTOMMARGIN, 67
END
IDD_ZDD_Display_Control_Window, DIALOG
BEGIN
LEFTMARGIN, 2
RIGHTMARGIN, 119
TOPMARGIN, 2
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"..\\inc\\_zRes.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDB_Bitmap_Return BITMAP DISCARDABLE "..\\res\\zReturn.bmp"
IDB_Bitmap_Show_Actor BITMAP DISCARDABLE "..\\res\\zShowAct.bmp"
IDB_Bitmap_Show_Module BITMAP DISCARDABLE "..\\res\\zShowMod.bmp"
IDB_Bitmap_Show_Module_ZDx BITMAP DISCARDABLE "..\\res\\zShowZDx.bmp"
IDB_Bitmap_Bounding_Volume BITMAP DISCARDABLE "..\\res\\zBoundin.bmp"
IDB_Bitmap_Test_Point BITMAP DISCARDABLE "..\\res\\zTestPnt.bmp"
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_Icon_Family ICON DISCARDABLE "..\\res\\zFamily.ico"
IDI_Icon_Model ICON DISCARDABLE "..\\res\\zModel.ico"
IDI_Icon_Instance ICON DISCARDABLE "..\\res\\zInstanc.ico"
IDI_Icon_Module ICON DISCARDABLE "..\\res\\zModule.ico"
IDI_Icon_ZDx ICON DISCARDABLE "..\\res\\zZone.ico"
IDI_Icon_Big_Global_Zone ICON DISCARDABLE "..\\res\\zBigZone.ico"
IDI_Icon_Common_Mode ICON DISCARDABLE "..\\res\\zCommon.ico"
IDI_Icon_Shared_Mode ICON DISCARDABLE "..\\res\\zShared.ico"
IDI_Icon_Virge_Mode ICON DISCARDABLE "..\\res\\zVirge.ico"
IDI_Icon_Motor_Display_On ICON DISCARDABLE "..\\res\\zShowOn.ico"
IDI_Icon_Motor_Display_Off ICON DISCARDABLE "..\\res\\zShowOff.ico"
IDI_Icon_Used_Module ICON DISCARDABLE "..\\res\\zUsedMod.ico"
IDI_ZDX_DLGBAR_ICON ICON DISCARDABLE "..\\res\\zdx_dlgb.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//
IDC_Cursor_Drag_And_Drop CURSOR DISCARDABLE "..\\res\\zDragCur.cur"
IDC_Cursor_No_Drag_And_Drop CURSOR DISCARDABLE "..\\res\\zNoDrag.cur"
#endif // French (France) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -0,0 +1,20 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#ifndef __STDAAFX_H__
#define __STDAAFX_H__
#pragma once
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows 95 Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#endif //__STDAAFX_H__

View File

@@ -0,0 +1,621 @@
//*****************************************************************************
//* _zInterf.hpp *
//*****************************************************************************
//* *
//* This file contains the definition of the ZDx_Interface class. *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
#ifndef __ZINTERF_HPP__
#define __ZINTERF_HPP__
#pragma once
// if you want only one instance of your DLL, activate the next line
#define DLL_ONLY_ONE_INSTANCE
#include "IncITF.h"
// Actors dll "include"
class CPA_Actor;
class EdtList;
class CPA_tdoNameList;
// Physical Object dll "include"
class EditorPO;
// Family dll "include"
// ANNECY AV CLEAN_MEC {
//class CPA_TestPointsList;
// END ANNECY AV }
typedef enum eZDxConstraintType_ { eZDxNormal , eZDxModifyAllActors , eZDxModifyOneActor } tdeZDxConstraintType;
// personal "include"
#include "_zObject.hpp"
class ZDx_Object;
class ZDx_Modif;
class CDisplayControlWindow;
class CList1Window;
class CList2Window;
class CZDxInfoWindow;
class EdtList;
// Flags for the function : ShowZDxOfInstance
#define C_ucHideAllZDx 0
#define C_ucShowZDD 1
#define C_ucShowZDE 2
#define C_ucShowZDM 4
#define C_ucShowZDR 8
#define C_ucShowAllZDx (C_ucShowZDD + C_ucShowZDE + C_ucShowZDM + C_ucShowZDR)
// ANNECY AV CLEAN_MEC {
//#define C_ucShowTestPoint 16
// END ANNECY AV }
// Constant for the RefreshDisplay function
#define C_lOnInsertActor 1
#define C_lOnDeleteActor 2
#define C_lOnInsertZDxOfActor 3
#define C_lOnDeleteZDxOfActor 4
#define C_lOnInsertZDxOfModule 5
#define C_lOnDeleteZDxOfModule 6
#define C_lOnInsertBV 7
#define C_lOnDeleteBV 8
// ANNECY AV CLEAN_MEC {
//#define C_lOnInsertTestPoint 9
//#define C_lOnDeleteTestPoint 10
// END ANNECY AV }
#define C_lOnSelectActor 11
#define C_lOnSelectZDxOfActor 12
#define C_lOnMouseMove 13
#define C_lOnSelChangeTreeCtrl1 14
#define C_lOnSelChangeTreeCtrl2 15
#define C_lOnSelChangeCombo2 16
#define C_lOnCheckBoxShowActor 17
#define C_lOnCheckBoxShowModule 18
#define C_lOnCheckBoxesZDx 19
#define C_lOnButtonAllZDx 20
#define C_ucSetCamera 21
#define C_lRedrawZDxObject 22
#define C_lModifZDx 23
#define C_lModifDeleteDo 24
#define C_lModifDeleteUndo 25
#define C_lShowZDxOfAllActors 26
#define C_lOnButtonAllActors 27
#define C_lShowZDxSelectedActor 28
#define C_lHideZDxSelectedActor 29
#define C_lShowModuleZDxActor 30
#define C_lHideModuleZDxActor 31
#define C_lPopupMenuShowZone 32
#define C_lShowZDxOfOneModule 33
#define C_lShowZDxOfAllModule 34
#define C_lEnterBoundingVolume 35
#define C_lLeaveBoundingVolume 36
// ANNECY AV CLEAN_MEC {
//#define C_lEnterTestPoint 37
//#define C_lLeaveTestPoint 38
// END ANNECY AV }
#define C_lLButtonDown 39
// Name of the list of ZDx models
#define C_szZDxListName "Zone"
//-----------------------------------------------------------------------------
// stSizeChangingMode structure
// used when the user changes the size of the ZDx object with the mouse
//-----------------------------------------------------------------------------
typedef struct stSizeChangingMode_
{
BOOL bActiveMode; // Are we in "size changing" mode ?
CPA_SuperObject * pSelectedZDxSuperObject; // The ZDx object whose size is changing
MTH3D_tdstVector GlobalSelectedPoint; // The 3D coordinates of the point of the ZDx object pointed by the mouse in the global repere
MTH3D_tdstVector LocalSelectedPoint; // The 3D coordinates of the same point in the local repere
MTH3D_tdstVector CenterInMousePlane; // The 3D coordinates of the center of the sphere, projected into the plane where the mouse moves into
ZDx_Modif * pZDxModif;
BOOL bChangeTopPointOfCone; // When changing the size of a cone : if TRUE, change the top point, else change the radius
} tdstSizeChangingMode;
//-----------------------------------------------------------------------------
// Object DLL interface class
//-----------------------------------------------------------------------------
class ZDx_Interface : public CPA_ObjectDLLBase
{
public:
ZDx_Interface (void); // Constructor
//-------------------------------------------
//--- Virtual functions of the base class --- (file : _zInterf.cpp)
//-------------------------------------------
// --- General functions for editor ---
public:
void fn_vJustAfterRegistered(void); // Called for the first initializations
void fn_vConstruct (void); // Called once the 3D window is constructed
void fn_vBeforeEditor (void); // Called just before entering editor mode
void fn_vBeforeEngine (void); // Called just before leaving editor mode
void fn_vOnActivateEditor (CPA_List<CPA_BaseObject> * pParams , BOOL bBackActivated = FALSE);
// Called when somebody wants to open the ZDx editor
void fn_vOnCloseEditor (void); // Called when somebody wants to close the ZDx editor
BOOL fn_bHasGainedFocus (void); // Called when the dll becomes the current dll
void fn_vHasLostFocus (void); // Called when the dll is no longer the current dll
long OnQueryAction (CPA_EditorBase * pCallingDll , WPARAM , LPARAM);
// To communicate with the dll
long OnQueryInfos (CPA_EditorBase * pCallingDll , WPARAM , LPARAM);
// To communicate with the dll
/*===========================================================================
Dialog Bar - Mircea Dunka 31 Aug. 1998
=========================================================================*/
public:
void fn_vDefineDlgBarBtnIcon (tde_DlgBarCategory wCategory, tds_DlgBarBtn *_pDlgBarBtn);
// --- Menu ---
public:
BOOL fn_bDefineSubMenu (EDT_SubMenu * _p_oEDTSubMenu); // This function lets the dll add an entry in a sub menu
void _OnSubMenuCommand (EDT_SubMenu * _p_oEDTSubMenu,UINT uiMsgID); // Called when the user clics on an entry in a sub menu
BOOL fn_bDefinePopupMenu (EDT_PopUpMenu * pPopup , CPA_List<CPA_SuperObject> * pSelection , BOOL bAsCurrentEditor);
// This function lets the dll add an entry in the popup menu
void _OnPopUpMenuCommand (UINT m_IDCmdMsg); // Called when the user clics on an entry in the popup menu
// --- Questions to manage ZDx objects ---
public:
BOOL fn_bCanActivateEditor (CPA_List<CPA_BaseObject> * _pParams); // Return if the editor can be activated
BOOL fn_bCanHandleThisType (long lEngineType); // The type of the objects we can handle
tdePermission fn_eAcceptNewEditor (CPA_EditorBase * pNewDLL) // When another editor is activated, we want to close the window
{ return C_CloseBefore; }
BOOL fn_bAcceptModifRotate (CPA_List<CPA_SuperObject> * pListObjects , tdeStatus eStatus)
// We don't want the rotation matrix of a ZDx object to be modified
{ return eStatus != C_AsConcernedDLL; }
BOOL fn_bAcceptModifScale (CPA_SuperObject * pEdObj , tdeStatus eStatus) // We don't want the scale of a ZDx object to be modified
{ return eStatus != C_AsConcernedDLL; }
BOOL fn_bAcceptModifParent (CPA_List<CPA_SuperObject> * pListObjects , tdeStatus eStatus);
// One cannot change the parent of a zone
BOOL fn_bAcceptModifCopy (CPA_List<CPA_SuperObject> * pListObjects , tdeStatus eStatus);
// A ZDx object can be copied
BOOL fn_bAcceptAsChild (CPA_BaseObject * pParent, CPA_BaseObject * pChild)
{ return FALSE; } // We don't want any child for a ZDx object
BOOL fn_bAcceptAsParent (CPA_BaseObject * pChild , CPA_BaseObject * pParent);
// Only actors or modules can be parent for a ZDx object
BOOL fn_bAcceptModifInsert (CPA_SuperObject * pSuperObjectToInsert, CPA_SuperObject *pParent, tdeStatus eStatus);
// Called before a object is inserted into the hierarchy
// --- Functions to manage ZDx objects ---
public:
void fn_vInitListByType (CPA_World * pWorld); // To register the different types of objects
void fn_vInitListsOfModels (); // To register the different types of models
tdeTypeSO GetTypeInstance (CString csTypeName , CString csModelName)
{ return C_Protected; } // Return the type of the super object of a ZDx object
//ANNECY Shaitan EmptySectors 25/02/98
tdeSaveStatus GetStatusInstance (CString csTypeName, CString csModelName)
{ return E_ss_NoSave; }
//ENDANNECY Shaitan EmptySectors
CPA_SuperObject * GetNewInstance (CString csTypeName , CString csModelName , CPA_SuperObject * pParent);
// To insert a new ZDx object into the world
BOOL fn_bChooseInsertPosition (CPA_SuperObject * pNewInstance , CPA_SuperObject * pParent ,
tdstPosition * pPosition); // To choose the position where to insert the ZDx object
CPA_SuperObject * GetParentForInsertion (CString csTypeName , CString csModelName , tdstPosition * pPosition);
// To choose the parent when inserting a ZDx object
CPA_BaseObject * Duplicate (CPA_BaseObject * pObject, CPA_SuperObject * pSuperObject);
// To copy a ZDx object
CPA_SuperObject * GetCopyOfProtectedChild (CPA_SuperObject * pChild, CPA_SuperObject * pNewOwner);
// To copy a protected child of a ZDx object
void fn_vComputeBoundingVolume (CPA_BaseObject * _pObject); // Compute bounding volume of a ZDx object
ACP_tdxHandleOfObject fn_hGetBoundingVolume (CPA_BaseObject * _pObject); // Return bounding volume of a ZDx object
// --- Modifications ---
public:
void fn_vOnModifInsert (CPA_SuperObject * pEdObj , CPA_SuperObject * pParent,
tdstPosition * p_stPosition , tdeTypeModif , tdeStatus eStatus);
// Called when an object is inserted
void fn_vOnModifDelete (CPA_List<EDT_SaveParents> * , tdeTypeModif , tdeStatus eStatus);
// Called when an object is deleted
void fn_vOnCancelInsertion (CPA_SuperObject * _pSuperObject);
// This function is called when an insertion is canceled
void fn_vOnModifCopy (CPA_List<EDT_SaveParents> * , tdeTypeModif , tdeStatus eStatus);
// Called when an object has been copied
void fn_vOnBeginMove (CPA_List<CPA_SuperObject> * pListObjects ,
CPA_List<CPA_SuperObject> * pListConcerned , tdeStatus eStatus);
// This funtion is called just before a move
//CPA2 (Corneliu Babiuc) 15-04-1998
void fn_vOnMoving (CPA_List<CPA_SuperObject> * pListObjects ,
CPA_List<CPA_SuperObject> * pListConcerned, tdeStatus eStatus);
// This function is called when a ZDx object is moved
//END CPA2 (Corneliu Babiuc) 15-04-1998
void fn_vOnModifMove (CPA_List<EDT_SavePos> * pListObjects , CPA_List<EDT_SaveGlobalPos> * pListConcerned ,
tdeTypeModif eType, tdeStatus eStatus); // This function is called after a ZDx object has been moved
void fn_vOnSelect (CPA_SuperObject *pSuperObject, tdeTypeModif eType, tdeStatus eStatus);
// This function is called when a ZDx Object is selected
// --- Windows messages ---
public:
BOOL _OnKeyDown (UINT nChar , UINT nRepCnt , UINT nFlags); // Called when a key is pressed
BOOL _OnKeyUp (UINT nChar , UINT nRepCnt , UINT nFlags); // Called when a key is released
BOOL _OnMouseMove (UINT nFlags, tdstMousePos * p_stPos, MTH3D_tdstVector * p_stObject);
// Called when the mouse moves
BOOL _OnLButtonDown (UINT nFlags, tdstMousePos * p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo * p_stObject);
// Called when the left button is pressed
BOOL _OnLButtonUp (UINT nFlags, tdstMousePos * p_stPos); // Called when the left button is released
//ROMTEAM WorldEditor
BOOL _OnLButtonDblClk (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo); // Called when the left button is double clicked
//ENDROMTEAM WorldEditor
//--------------------------
//--- Internal functions ---
//--------------------------
// --- Internal functions for questions ---
private:
BOOL AcceptModifInsertZDxOfActor (CPA_SuperObject * pSuperObjectToInsert , CPA_SuperObject * pParent);
// Called before a ZDx of actor is inserted into the hierarchy
BOOL AcceptModifInsertZDxOfModule (CPA_SuperObject * pSuperObjectToInsert , CPA_SuperObject * pParent);
// Called before a ZDx of module is inserted into the hierarchy
BOOL AcceptModifInsertBoundingVolume (CPA_SuperObject * pSuperObjectToInsert , CPA_SuperObject * pParent);
// Called before a ZDx which is a bounding volume is inserted into the hierarchy
// ANNECY AV CLEAN_MEC {
// BOOL AcceptModifInsertTestPoint (CPA_SuperObject * pSuperObjectToInsert , CPA_SuperObject * pParent);
// Called before a ZDx which is a test point is inserted into the hierarchy
// END ANNECY AV }
// --- Internal functions for modifications ---
private:
void OnInsertActor (CPA_SuperObject * _pActorSuperObject);
// Called when an actor is inserted into the hierarchy
void OnDeleteActor (CPA_SuperObject * _pActorSuperObject);
// Called when an actor is deleted from the hierarchy
void OnInsertZDxOfActor (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject );
// Called when a ZDx of actor is inserted into the hierarchy
void OnDeleteZDxOfActor (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject );
// Called when a ZDx of actor is deleted from the hierarchy
void OnInsertZDxOfModule (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pModuleSuperObject);
// Called when a ZDx of module is inserted into the hierarchy
void OnDeleteZDxOfModule (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pModuleSuperObject);
// Called when a ZDx of module is deleted from the hierarchy
void OnInsertBoundingVolume (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject , BOOL bCreateBdV = TRUE);
// Called when a ZDx that is a bounding volume is inserted into the hierarchy
void OnDeleteBoundingVolume (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject );
// Called when a ZDx that is a bounding volume is deleted from the hierarchy
// ANNECY AV CLEAN_MEC {
// void OnInsertTestPoint (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject );
// Called when a ZDx that is a test point is inserted into the hierarchy
// void OnDeleteTestPoint (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject );
// Called when a ZDx that is a test point is deleted from the hierarchy
// END ANNECY AV }
void OnSelectActor (CPA_SuperObject * _pActorSuperObject , tdeTypeModif eType);
// Called when an actor is selected or unselected
void OnSelectZDxOfActor (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pActorSuperObject , tdeTypeModif eType);
// Called when a ZDx of actor is selected or unselected
void OnSelectModule (CPA_SuperObject * _pModuleSuperObject , tdeTypeModif eType);
// Called when a module is selected or unselected
void OnSelectZDxOfModule (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pModuleSuperObject , tdeTypeModif eType);
// Called when a ZDx of a module is selected or unselected
void OnSelectBoundingVolume (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pModuleSuperObject , tdeTypeModif eType);
// Called when a ZDx objct that is a bounding volume is selected or unselected
// ANNECY AV CLEAN_MEC {
// void OnSelectTestPoint (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pModuleSuperObject , tdeTypeModif eType);
// Called when a ZDx objct that is a test point is selected or unselected
// END ANNECY AV }
//---------------------
//--- Personal data ---
//---------------------
private:
CPA_KeyActionConfiguration
* m_pZDxKeyActionConfiguration; // To use the keyboard
BOOL m_bSizeKeyPressed; // To store the key state
//CPA2 (Corneliu Babiuc) 13-04-1997
BOOL m_bMoveOnlyActorKeyPressed; // Is TRUE when the key for "moving actor only" is pressed
BOOL m_bMoveOnlyActor; // Is TRUE when the "moving actor only" mode is activated
//END CPA2 (Corneliu Babiuc) 13-04-1997
BOOL m_bMoveHasBegun; // Is TRUE when a object move has begun (to differentiate move and move-to)
BOOL m_bIsSelectingObject; // Is TRUE when selecting an object
BOOL m_bIsAskingToSelectObject; // Is TRUE when asking the hierarchy editor to select an object
BOOL m_bIsShowingOrHidingZDx; // Is TRUE when showing or hiding ZDx
BOOL m_bIsInsertingZDxObject; // Is TRUE when inserting a ZDx into the hierarchy
BOOL m_bIsDeletingZDxObject; // Is TRUE when deleting a ZDx from the hierarchy
BOOL m_bIsInsideOnModifInsertDelete;// Is TRUE inside the OnModifInsert or OnModifDelete function
BOOL m_bAskToEditModuleZone; // Is TRUE when one wants to edit the module zones when one opens the editor
long m_lRefreshDisplayCallerID; // The ID of the function that will refresh the display
CPA_SuperObject * m_pActorSuperObjectToUnselect; // Actor whose ZDx must be hidden
CPA_SuperObject * m_pModuleSuperObjectToUnselect;// Module whose ZDx must be hidden
ACP_tdxHandleOfObject m_GlobalBoundingVolume; // Used to give the bounding volume of a ZDx
CSplitFrame * m_pSplitFrame; // Frame where all the windows are
CDisplayControlWindow * m_pDisplayControlWindow; // Window associated to the frame for the display control
CList1Window * m_pList1Window; // Window associated to the frame for the first list
CList2Window * m_pList2Window; // Window associated to the frame for the second list
CZDxInfoWindow * m_pEditWindow; // Window associated to the frame where one can edit a ZDx
tdstSizeChangingMode m_stSizeChangingMode; // Used when the user changes the size of a ZDx object with the mouse
//--------------------------
//--- Personal functions --- (file : _zInterf.inc)
//--------------------------
// --- Get functions for windows ---
public:
CList1Window * GetList1Window () { return m_pList1Window; }
CList2Window * GetList2Window () { return m_pList2Window; }
CZDxInfoWindow * GetEditWindow () { return m_pEditWindow; }
CDisplayControlWindow * GetDisplayControlWindow () { return m_pDisplayControlWindow; }
// --- Personal low-level functions
private:
void ConvertVectorGlobalToLocal (MTH3D_tdstVector * pDest , POS_tdstCompletePosition * pAbsoluteMatrix , MTH3D_tdstVector * pSource);
// Function to convert a vector from the global repere to a local repere
void ConvertVectorLocalToGlobal (MTH3D_tdstVector * pDest , POS_tdstCompletePosition * pAbsoluteMatrix , MTH3D_tdstVector * pSource);
// Function to convert a vector from a local repere to the global repere
void ConvertPointGlobalToLocal (MTH3D_tdstVector * pDest , POS_tdstCompletePosition * pAbsoluteMatrix , MTH3D_tdstVector * pSource);
// Function to convert a point from the global repere to a local repere
void ConvertPointLocalToGlobal (MTH3D_tdstVector * pDest , POS_tdstCompletePosition * pAbsoluteMatrix , MTH3D_tdstVector * pSource);
// Function to convert a point from a local repere to the global
//CPA2 (Corneliu Babiuc) 15-04-1998
//this function is intended to set the local translation vector of a zone to keep unchanged its global position
void MoveBackZone (CPA_SuperObject * _pZDxSuperObject, MTH3D_tdstVector * p_stVector = NULL);
//END CPA2 (Corneliu Babiuc) 15-04-1998
// --- Various functions ---
private:
char * GetZDxTypeName (tdeZDxType _eZDxType); // return the name ("Zdd"...) of the ZDx type
CPA_SuperObject * GetSelectedActorSuperObject (); // Return the selected actor. NULL if none
public:
unsigned char ConvertZDxTypeToEngineType (tdeZDxType _eZDxType); // Convert a ZDx type to a type used by the engine
CPA_SuperObject * GetZDxSuperObject (ZDx_Object * , CPA_SuperObject * _pParentSuperObject);
// Look at all childs of _pParentSuperObject to find the super object
// associated with the given ZDx object
BOOL IsInsideOnModifInsertDelete () { return m_bIsInsideOnModifInsertDelete; }// Is TRUE inside the OnModifInsert or OnModifDelete function
// --- Personal functions for models ---
private:
void AddModelOfZDx (); // Add all the models of ZDx into the model window
void RemoveModelOfZDx (); // Remove all the models of ZDx from the model window
// --- Personal functions for ZDx creation ---
private:
CPA_SuperObject * CreateSuperObject (); // Create a super object
public:
//ROMTEAM WorldEditor
Shape3D * CreateGraphicObject (tdeZDxGeometricType /*, ACP_tdxHandleOfElement * */,
char * _szDataPath , const CString _csReferenceSectionName);
// Create graphic object (sphere, box...)
private:
CPA_SuperObject * CreateGraphicSuperObject (tdeZDxGeometricType /*, ACP_tdxHandleOfElement * */,
char * _szDataPath , const CString _csReferenceSectionName);
// Create a graphic super object (sphere, box...)
// ENDROMTEAM WorldEditor
CPA_BaseObject * GetFamilyForNewInstance (CPA_BaseObject * _pParent); // Give the family of a new created ZDx object
void ComputeSectionNameForNewInstance (char * * _p_szDataPath , CString * _p_csReferenceSectionName ,
CPA_BaseObject * _pParent); // Compute the data path and the reference section name to give to a created ZDx object
CPA_SuperObject * GetNewInstanceWithSameZDxObject (ZDx_Object * pZDxObject , char * szZDxGeometricTypeName);
// Same function as GetNewInstance, but use an existing ZDx object
ZDx_Object * CreateZdxObject (LPARAM lParam); // Create a new Zdx with an existing engine zone
// ANNECY AV CLEAN_MEC {
// void CreateZdxTestPoints (CPA_TestPointsList *); // For each test point in the given list, create an associated ZDx object
// END ANNECY AV }
// --- Communication with hierarchy editor ---
public:
void AskHierarchyEditorToSelectObject (CPA_SuperObject * _pSuperObject); // Ask the hierarchy editor to select an actor
void InsertZDxObjectIntoHierarchy (CPA_SuperObject * _pZDxSuperObject , CPA_SuperObject * _pParentSuperObject);
// Ask the hierarchy editor to insert a ZDx object into the hierarchy
void DeleteZDxObjectFromHierarchy (CPA_SuperObject * _pZDxSuperObject);
// Ask the hierarchy editor to delete a ZDx object from the hierarchy
// --- Show / Hide ZDx objects ---
private:
void SetDisplayFlag (EdtList * , tdeZDxDisplayType); // Set the display zone flag of all ZDx of the list
// ANNECY AV CLEAN_MEC {
// void SetDisplayFlag (CPA_TestPointsList * , tdeZDxDisplayType);// Set the display zone flag of all test points of the list
// END ANNECY AV }
void SetDisplayFlagOfAllActors (BOOL _bNewFlag); // Set the display zone flag of all actors
void SetAspectOfZDx (CPA_SuperObject * , BOOL _bSelected); // Set the graphical aspect of a ZDx : selected or not selected
public:
void PutZDxIntoHierarchy (CPA_SuperObject * _pFatherSuperObject , // Put a ZDx as child of a super object into the hierarchy
ZDx_Object * _pZDxObject ,
BOOL _bSelectZDx ,
BOOL _bSetEditProtected = FALSE);
private:
void CheckAndPutZDxIntoHierarchy (CPA_SuperObject * _pFatherSuperObject , // Check if the ZDx must be put into the hierarchy
ZDx_Object * _pZDxObject ,
BOOL _bSelectZDx ,
BOOL _bSetEditProtected = FALSE);
void PutListOfZDxIntoHierarchy (EdtList * _pListOfZDx , // Put a list of ZDx as childs of a super object into the hierarchy
CPA_SuperObject * _pFapherSuperObject ,
ZDx_Object * _pZDxObjectToSelect ,
BOOL _bUseDisplayFlag ,
BOOL _bSetEditProtected = FALSE);
// ANNECY AV CLEAN_MEC {
/*
void PutListOfTestPointIntoHierarchy // Put a list of test points as childs of a super object into the hierarchy
(CPA_TestPointsList * _pTestPointList ,
CPA_SuperObject * _pFapherSuperObject ,
ZDx_Object * _pZDxObjectToSelect ,
BOOL _bUseDisplayFlag ,
BOOL _bSetEditProtected = FALSE);
*/
// END ANNECY AV }
public:
void ShowZDxOfActor (CPA_SuperObject * _pActorSuperObject , unsigned char _ZDxToShow ,
ZDx_Object * _pZDxToSelect = NULL , // Show the ZDx of an actor which have the correct type, select one ZDx if necessaray
BOOL _bUseDisplayFlag = TRUE ,
BOOL _bSetEditProtected = FALSE);
void ShowAllZDxOfAllActors (unsigned char _ucZDxToShow , BOOL _bShowOnlySelected);
// Show all ZDx of all actors. If _bShowOnlySelected = TRUE,
// show only the zones of actors that have the bDisplayZone flag set
void ShowZDxOfModule (CPA_SuperObject * _pModuleSuperObject , unsigned char _ucZDxToShow ,
ZDx_Object * _pZDxToSelect = NULL , BOOL _bSetEditProtected = FALSE);
// Show the ZDx of a module (insert ZDx objects in the hierarchy)
void ShowBoundingVolume (CPA_SuperObject * _pActorSuperObject , ZDx_Object * _pBoundingVolume , BOOL _bSelectZDx);
// Show the bounding volume of an actor
private:
void ShowModuleZDxRecursiv (CPA_SuperObject * _pModuleSuperObject); // Show all zdx of a module and of all of its module childs
public:
void ShowModuleZDxOfActor (CPA_SuperObject * _pActorSuperObject); // Show all ZDx of all modules of an actor
private:
void HideModuleZDxRecursiv (CPA_SuperObject * _pModuleSuperObject); // Hide all zdx of a module and of all of its module childs
public:
void HideModuleZDxOfActor (CPA_SuperObject * _pActorSuperObject); // Hide all ZDx of all modules of an actor
private:
void ShowZDxOfAllModule (unsigned char _ucZDxToShow); // Show or hide the ZDx of all modules in the world
void ShowZDxOfSelectedActor (); // Show all ZDx of selected actor
void HideZDxOfSelectedActor (); // Hide all ZDx of selected actor
// --- Refresh display ---
public:
BOOL IWillRefreshDisplay (long _lCallerID); // Someone say he will refresh the display later (to prevent multiple refreshes)
// Return TRUE if nobody else has asked it before
BOOL RefreshDisplay (long _lCallerID , BOOL _bRefreshDisplay = TRUE);
// Refresh the display if the caller has asked it before (to prevent from multiple refreshes)
// --- Check if ZDx are displayed ---
private:
BOOL AreZDxOfActorDisplayed (CPA_SuperObject * _pActorSuperObject); // Return if the ZDx of the actor are displayed or not
BOOL AreZDxOfModuleDisplayed (CPA_SuperObject * _pModuleSuperObject);// Return if the ZDx of the module are displayed or not
BOOL AreZDxOfAllModuleDisplayed (); // Return TRUE if at least one ZDx of one module in the world is displayed
BOOL AreZDxOfModuleDisplayedRecursiv (CPA_SuperObject * _pModuleSuperObject);// Return if the ZDx of the given module and of all its module childs are displayed or not
BOOL AreModuleZDxOfActorDisplayed (CPA_SuperObject * _pActorSuperObject); // Return if the module ZDx of the actor are displayed or not
// --- Check if an actor has ZDx ---
public:
BOOL DoesActorHaveZDx (CPA_BaseObject * _pActor); // Return if an actor has some ZDx or not
BOOL DoesActorHaveModuleZDx (CPA_SuperObject * _pActorSuperObject); // Return if an actor has some ZDx of module or not
// --- List of zones ---
private:
long GetNumberOfZDxInList (EdtList * _pEdtList); // Get the number of existing ZDx in a list
public:
CString ConvertZDxTypeToListType (tdeZDxType); // Convert a ZDx type to a list type
tdeZDxType ConvertListTypeToZDxType (CString); // Convert a list type to a ZDx type
CPA_tdoNameList
* GetNameList (CPA_BaseObject * _pActor , tdeZDxType _eZDxType);
// Call the Actors dll to get the list of names of an actor for a specific type
EdtList * CreateANewZDxList (CPA_BaseObject * _pActor , tdeZDxType _eZDxType);
// Call the Actors dll to create a new list of ZDx
EdtList * GetZDxList (CPA_BaseObject * _pActor , tdeZDxType _eZDxType);
// Call the Actors dll to get the list of ZDx of an actor
void SetZDxList (CPA_BaseObject * _pActor , tdeZDxType _eZDxType , EdtList * _pZDxList);
// Call the Actors dll to set the list of ZDx of an actor
BOOL DeleteZDxList (CPA_BaseObject * _pActor , tdeZDxType _eZDxType);
// Call the Actors dll to delete a list of ZDx of an actor ; return FALSE if failure
void SetZDxObjectInList (CPA_BaseObject * _pActor , tdeZDxType _eZDxType ,
long _lIndexInList , ZDx_Object * pZDxObject ,
tdeZDxConstraintType _eZDxConstraintType = eZDxNormal);
// Call the Actors dll to set a ZDx in a list of ZDx of an actor
BOOL InsertZDxIntoList (EdtList * , ZDx_Object * , long * plPosition ,
CPA_BaseObject * _pActor , tdeZDxConstraintType _eZDxConstraintType = eZDxNormal);
// Insert a ZDx object into a list at a specific position.
// If Position = -1, insert it at the first unused position.
// Failure -> return FALSE (no more unused position)
void RemoveZDxFromList (EdtList * , ZDx_Object * , CPA_BaseObject * _pActor ,
BOOL _bEnableListCreation = FALSE); // Remove a ZDx object from a list
private:
void AZDxHasBeenChangedInList (void * _pEdtListMess); // Called when a ZDx has been changed in a list of ZDx
BOOL IsObjectInList (CPA_BaseObject * _pObject, CPA_BaseObject * _pActor , tdeZDxType _eZDxType);
// Return TRUE if the given object is in a list of ZDx
// --- Physical objects ---
public:
ZDx_Object * GetZDxOfPhysicalObject (EditorPO * , tdeZDxType); // return the ZDx object of a given type of a physical object
void SetZDxOfPhysicalObject (EditorPO * , ZDx_Object * , tdeZDxType); // set the ZDx object (can be NULL) of a given type for a physical object
private:
BOOL DoesModuleHaveZDx (EditorPO *); // Return if a module has some ZDx of not
BOOL DoesModuleHaveZDxRecursiv (CPA_SuperObject * _pModuleSuperObject); // Return if a module or one of its module childs has some ZDx or not
BOOL DoesAtLeastOneModuleHaveZDx (); // Return TRUE if at least one module in the world has some ZDx
// --- Personal functions for size changing ---
private:
//ROMTEAM WorldEditor
/*
void ChangeSizeZDxSphereObject (MTH3D_tdstVector * p_stDeplacement); // Called by the OnMouseMove function when changing the size of a sphere
void ChangeSizeZDxBoxObject (MTH3D_tdstVector * p_stDeplacement); // Called by the OnMouseMovefunction when changing the size of a box
void ChangeSizeZDxConeObject (MTH3D_tdstVector * p_stDeplacement); // Called by the OnMouseMove function when changing the size of a cone
void OnBeginChangingSize (ACP_tdxIndex xIndex , HIE_tdstPickInfo * p_stObject);
// Called when the user begins to change the size of a ZDx object
void OnEndChangingSize (); // Called when the user has finished to change the size of a ZDx object
*/
//ENDROMTEAM WorldEditor
// --- Compute dimension of objects ---
private:
//ANNECY TQ 19/03/98{
void ComputeBoundingBoxOfObject (CPA_BaseObject * _pObject , POS_tdstCompletePosition * _pGlobalMatrix ,POS_tdstCompletePosition * _pLocalMatrix ,
MTH3D_tdstVector * _pMinPoint , MTH3D_tdstVector * _pMaxPoint);
//ENDANNECY TQ}
// Compute the bounding box of a geometric object, and return its limits in _pMinPoint and _pMaxPoint
void ComputeBoundingBoxOfObjectAndChilds (CPA_SuperObject * _pSuperObject ,
MTH3D_tdstVector * _pMinPoint, MTH3D_tdstVector *_pMaxPoint);
// Compute the bounding box of an object and all of its childs, and return the limits in _pMinPoint and _pMaxPoint
public:
void ComputeInitialSizeOfBox (CPA_SuperObject * _pSuperObject ,
MTH3D_tdstVector * MinPoint , MTH3D_tdstVector * MaxPoint);
// Compute the bounding box dimension of an object and all of its childs
MTH_tdxReal ComputeInitialSizeOfSphere (CPA_SuperObject * _pSuperObject , MTH3D_tdstVector * Center);
//ROMTEAM WorldEditor (Cristi Petrescu 12/12/97)
long m_lGetTypeOfZoneByGeometricObject (Geometry3D *pGeometry3D);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
//CPA2 Stegaru Cristian 98-04
BOOL mfn_bObjectIsOutsideTheBV (ZDx_Object *pBVolume, ZDx_Object *pZDxObject);
BOOL mfn_bIs1SphereOutsideThe2Sphere (MTH3D_tdstVector *ptdstMasterCenter, GLI_tdxValue tdxMasterRadius, MTH3D_tdstVector *ptdstSlaveCenter, GLI_tdxValue tdxSlaveRadius);
void mfn_vCheckActorsZonesAndBV (CPA_SuperObject * pActorSuperObject);
//End CPA2 Stegaru Cristian 98-04
};
//-----------------------------------------------------------------------------
// Global variables
//-----------------------------------------------------------------------------
// the DLL global definition
extern tdstDLLIdentity g_stZDxDllIdentity;
#endif // __ZINTERF_HPP__

View File

@@ -0,0 +1,169 @@
//*****************************************************************************
//* _zModif.hpp *
//*****************************************************************************
//* *
//* This file contains the definitions of the modif classes *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
#ifndef __ZMODIF_H
#define __ZMODIF_H
#pragma once
// Actor dll "include"
class EdtList;
// Physical Object dll "include"
class EditorPO;
// personal "include"
class ZDx_Interface;
class ZDx_Object;
#include "_zObject.hpp"
typedef struct stBackupDataForSphere_
{
MTH3D_tdstVector stCenter;
GLI_tdxValue Radius;
} tdstBackupDataForSphere;
typedef struct stBackupDataForBox_
{
MTH3D_tdstVector stMinPoint;
MTH3D_tdstVector stMaxPoint;
} tdstBackupDataForBox;
typedef struct stBackupDataForPoint_
{
MTH3D_tdstVector stPoint;
} tdstBackupDataForPoint;
typedef struct stBackupDataForCone_
{
MTH3D_tdstVector stTopPoint;
MTH3D_tdstVector stBasePoint;
GLI_tdxValue Radius;
} tdstBackupDataForCone;
//-----------------------------------------------------------------------------
// class ZDx_Modif
//
// This class deals with all the modifications of a ZDx Object
//-----------------------------------------------------------------------------
class ZDx_Modif : public CPA_Modif
{
private:
ZDx_Object * m_pZDxObject; // the ZDx object to modify
BOOL m_bFirstTime;
// backup data
char * m_BackupName;
void * m_pBackupData; // Point to a tdstBackupDataFor... structure, depends on the ZDx type
BOOL m_bIsDoingUndo; // Is TRUE when doing an Undo
void BackupSphereData ();
void BackupBoxData ();
void BackupPointData ();
void BackupConeData ();
void ExchangeBackupSphereData ();
void ExchangeBackupBoxData ();
void ExchangeBackupPointData ();
void ExchangeBackupConeData ();
public:
ZDx_Modif (ZDx_Object * , char * ); // constructor with the ZDx object which will be modified
// and the name of the modif ("Modification ZDx" for instance)
~ZDx_Modif (); // destructor
void SetZDxObject (ZDx_Object *); // set the ZDx object which will be modified
BOOL Do ();
BOOL Undo (); // Standard Undo : it refreshes the window by default
BOOL Undo (BOOL _bRefreshWindow); // personal Undo : if we don't want the window to be refreshed
};
//-----------------------------------------------------------------------------
// class ZDx_Modif_Exchange
//
// This class deals with the exchange of two ZDx object within two objects lists
//-----------------------------------------------------------------------------
class ZDx_Modif_Exchange : public CPA_Modif
{
private:
ZDx_Interface * m_pZDxInterface;
ZDx_Object * m_pZDxObject1 , * m_pZDxObject2;
long m_lIndexInList1 , m_lIndexInList2;
EdtList * m_pZDxList1 , * m_pZDxList2;
tdeZDxType m_eTypeOfList1 , m_eTypeOfList2;
CPA_BaseObject * m_pActor1 , * m_pActor2;
CPA_SuperObject * m_pActorSuperObject1 , * m_pActorSuperObject2;
public:
// Constructor
ZDx_Modif_Exchange (ZDx_Object * , long lIndexInList1 , EdtList * , CPA_SuperObject * _pActorSuperObject1 ,
ZDx_Object * , long lIndexInList2 , EdtList * , CPA_SuperObject * _pActorSuperObject2 ,
ZDx_Interface *);
BOOL Do ();
BOOL Undo ();
};
//-----------------------------------------------------------------------------
// class ZDx_Modif_Delete
//
// This class deals with the deletion of a ZDx object from a list
//-----------------------------------------------------------------------------
class ZDx_Modif_Delete : public CPA_Modif
{
private:
ZDx_Interface * m_pZDxInterface;
CPA_SuperObject * m_pZDxSuperObject;
ZDx_Object * m_pZDxObject;
long m_lIndexInList;
EdtList * m_pZDxList;
CPA_SuperObject * m_pModuleSuperObject;
EditorPO * m_pModule;
CPA_SuperObject * m_pActorSuperObject;
CPA_BaseObject * m_pActor;
public:
// Constructor
ZDx_Modif_Delete (CPA_SuperObject * _pZDxSuperObject , long lIndexInList , EdtList * ,
CPA_SuperObject * _pModuleSuperObject , CPA_SuperObject * _pActorSuperObject ,
ZDx_Interface *);
~ZDx_Modif_Delete (); // Destructor
BOOL Do ();
BOOL Undo ();
};
//-----------------------------------------------------------------------------
// class ZDx_Modif_Change_ZDx_List
//
// This class deals with the change of a list of ZDx for an actor
//-----------------------------------------------------------------------------
class ZDx_Modif_Change_ZDx_List : public CPA_Modif
{
private:
ZDx_Interface * m_pZDxInterface;
CPA_SuperObject * m_pActorSuperObject;
CPA_BaseObject * m_pActor;
tdeZDxType m_eTypeOfList;
EdtList * m_pZDxList;
public:
// Constructor
ZDx_Modif_Change_ZDx_List (ZDx_Interface * , CPA_SuperObject * _pActorSuperObject , tdeZDxType , EdtList *);
BOOL Do ();
BOOL Undo ();
};
#endif // __ZMODIF_H

View File

@@ -0,0 +1,364 @@
//*****************************************************************************
//* _zObject.hpp *
//*****************************************************************************
//* *
//* This file contains the definition of the ZDx_Object class *
//* and its inherited classes *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
#ifndef __ZOBJECT_HPP__
#define __ZOBJECT_HPP__
#pragma once
//-----------------------------------------------------------------------------
// Include
//-----------------------------------------------------------------------------
// general include
#include "IncITF.h"
#include "OGD.h"
// personal "include"
//class Geometry3D; // the 3D geometric object (editor object)
//class Shape3D; // the polimorfic 3d geometric object
// ANNECY AV CLEAN_MEC {
//class CPA_TestPointNode; // class of the Family tool dll
// END ANNECY AV }
class ZDx_Interface;
class ZDx_Shape;
//-----------------------------------------------------------------------------
// Define
//-----------------------------------------------------------------------------
// type of ZDx
// ANNECY AV CLEAN_MEC {
typedef enum eZDxType_ { eZdd , eZde , eZdm , eZdr , eBoundingVolume /* , eTestPoint */ } tdeZDxType;
// END ANNECY AV }
// type of geometric object for ZDx (eItself means that the Zdx of the module is the module itself)
typedef enum eZDxGeometricType_ { eBox , eSphere , ePoint , eCone } tdeZDxGeometricType;
// type of display for ZDx
typedef enum eZDxDisplayType_ { eNotDisplayed , eDisplayed} tdeZDxDisplayType;
// name of ZDx
#define C_szZddName "ZDD"
#define C_szZdeName "ZDE"
#define C_szZdmName "ZDM"
#define C_szZdrName "ZDR"
#define C_szBoundingVolumeName "BV"
// ANNECY AV CLEAN_MEC {
//#define C_szTestPointName "TestPoint"
// END ANNECY AV}
#define C_szZDxSphereName "Sphere"
#define C_szZDxBoxName "Box"
#define C_szZDxPointName "Point"
#define C_szZDxConeName "Cone"
//ROMTEAM WorldEditor (Cristi Petrescu 11/12/97)
/*
* Moved to OZO.h in the public directories. Needed for material checks
*
// public ID for the ZDx objects
#define C_lZDD 18300
#define C_lZDE 18301
#define C_lZDM 18302
#define C_lZDR 18303
#define C_lBoundingVolume 18304
#define C_lTestPoint 18305
*/
//ENDROMTEAM WorldEditor (Cristi Petrescu)
//-----------------------------------------------------------------------------
// Macros
//-----------------------------------------------------------------------------
#define M_bIsThisObjectAZDx(pObject) \
((pObject) -> fn_bIsOfType (C_szZddName) \
|| (pObject) -> fn_bIsOfType (C_szZdeName) \
|| (pObject) -> fn_bIsOfType (C_szZdmName) \
|| (pObject) -> fn_bIsOfType (C_szZdrName) \
|| (pObject) -> fn_bIsOfType (C_szBoundingVolumeName))
// ANNECY AV CLEAN_MEC {
// || (pObject) -> fn_bIsOfType (C_szTestPointName))
// END ANNECY AV }
//-----------------------------------------------------------------------------
// class ZDx_Object
//
// Definition of the ZDx object class
//-----------------------------------------------------------------------------
class ZDx_Object : public CPA_SaveObject , public CPA_EdMot<ACP_tdxHandleOfObject>
{
private:
tdeZDxType m_eZDxType; // The type of the ZDx (zdd, zde, zdm or zdr)
tdeZDxGeometricType m_eZDxGeometricType; // The geometric type of the ZDx (sphere, box...)
tdeZDxDisplayType m_eDisplayType; // The display type of the ZDx
BOOL m_bMotorDisplay; // TRUE if the ZDx must be showed when motor is running
long m_lIndexInList; // The index (zero-based) of the zone inside the list of zones
// ANNECY AV CLEAN_MEC {
// CPA_TestPointNode * m_pTestPoint; // When the ZDx object is a test point, a pointor to the associated test point
// END ANNECY AV }
ZDx_Shape * m_pZDxShape; // A pointer to an instance of the shape class
long GiveZDxID (tdeZDxType); // Give the ID of a ZDx object, depending on its type
public:
// --- Constructor ---
//ROMTEAM WorldEditor (Cristi Petrescu 11/12/97)
ZDx_Object (ZDx_Interface * , const CString _csZDxTypeName , tdeZDxType , tdeZDxGeometricType , const CString _csZDxName ,
CPA_BaseObject * _pOwner , Shape3D * /*, ACP_tdxHandleOfElement*/);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
ZDx_Object (ZDx_Object & _pZDxObjectToCopy); // Copy constructor
// --- Destructor ---
~ZDx_Object ();
// Functions used by the CPA_EdMot class
static void InitZDxObject ();
static ACP_tdxHandleOfObject CreateZDxEngineStruct ();
static void CopyZDxEngineStruct (ACP_tdxHandleOfObject , ACP_tdxHandleOfObject);
static void DeleteZDxEngineStruct (ACP_tdxHandleOfObject);
// Virtual functions of the base class
long GetDataType ();
void * GetData ();
tdeMissingCriteria fn_eCheckUnicity (const CString csNewName);
void fn_vNotifyRename (); // Called when one renames the ZDx :
// we also rename the geometric object
// --- Engine structure ---
void * GetEngineStruct () { return GetStruct (); }
void SetEngineStruct (void * pStruct)
{ SetStruct ((ACP_tdxHandleOfObject) pStruct); }
// --- ZDx type ---
tdeZDxType GetZDxType () { return m_eZDxType; }
void SetZDxType (tdeZDxType _eType)
{ m_eZDxType = _eType; }
char * GetZDxTypeName ();
// --- ZDx geometric type ---
tdeZDxGeometricType GetZDxGeometricType () { return m_eZDxGeometricType; }
void SetZDxGeometricType (tdeZDxGeometricType _eZDxGeometricType)
{ m_eZDxGeometricType = _eZDxGeometricType; }
//--- ZDx Name ---
char * GetZDxName (); // return the name of the ZDx object
BOOL SetZDxName (char *); // set the name of the ZDx object. Return FALSE if the name already exists
//--- Display ---
tdeZDxDisplayType GetDisplay () { return m_eDisplayType; }
void SetDisplay (tdeZDxDisplayType _eDisplayType)
{ m_eDisplayType = _eDisplayType; }
BOOL GetMotorDisplay () { return m_bMotorDisplay; }
void SetMotorDisplay (BOOL _bMotorDisplay)
{ m_bMotorDisplay = _bMotorDisplay; }
// Function to access the instance of the ZDxShape class
ZDx_Shape * GetZDxShape () { return m_pZDxShape; }
void SetZDxShape (ZDx_Shape * _pZDxShape)
{ m_pZDxShape = _pZDxShape; }
// Index of the zone inside the list of zones
long GetIndexInList () { return m_lIndexInList; }
void SetIndexInList (long _lIndexInList)
{ m_lIndexInList = _lIndexInList; }
// When the ZDx object is a test point : functions to access the test point
// ANNECY AV CLEAN_MEC {
/*
CPA_TestPointNode * GetTestPoint () { return m_pTestPoint; }
void SetTestPoint (CPA_TestPointNode * _pTestPoint)
{ m_pTestPoint = _pTestPoint; }
*/
// END ANNECY AV}
// Object Save
void fn_vNotifySave ();
void fn_vNotifyUnSave ();
void fn_vNotifyRestore ();
CString fn_csComputeReferencedSectionName (const CString _csNewName);
void static CallbackToCreateZDxFile (SCR_tdst_File_Description * _pFile ,
char * _szSectionName ,
void * _pData ,
SCR_tde_Ntfy_Action _eAction);
long GetNumberOfModuleUsingThis (); // Get the number of modules using this ZDx object
void RedrawZDxObject (); // redraw the object (in fact, redraw the whole world)
};
//-----------------------------------------------------------------------------
// class ZDx_Shape
//
// Definition of the base class for the diferent shape of ZDx
// The inherited classes will contains methods to modify the geometric definition of the ZDx
//-----------------------------------------------------------------------------
class ZDx_Shape
{
protected:
ZDx_Object * m_pZDxObject;
//ROMTEAM WorldEditor (Cristi Petrescu 11/12/97)
Shape3D *m_pGeometric3dObject;
//ACP_tdxHandleOfElement m_hHandleOfElement;
public:
ZDx_Shape (ZDx_Object * , Shape3D * /*, ACP_tdxHandleOfElement*/); // Constructor
Shape3D * GetGeometric3dObject () { return m_pGeometric3dObject; }
//ACP_tdxHandleOfElement GetHandleOfElement () { return m_hHandleOfElement; }
//ENDROMTEAM WorldEditor (Cristi Petrescu)
void RefreshData (CPA_SuperObject *); // Recompute data (center, min point...)
// from the position of the super object
void RedrawZDxObject () { m_pZDxObject -> RedrawZDxObject (); } // redraw the object
//ROMTEAM WorldEditor (Cristi Petrescu 11/12/97)
MTH3D_tdstVector GetCenter () {return GetGeometric3dObject () -> GetCenter ();}; // Get the center of the object
void SetCenter (MTH3D_tdstVector *_pCenter) {GetGeometric3dObject () -> SetCenter (_pCenter);}; // Set the center of the object
//ENDROMTEAM WorldEditor (Cristi Petrescu)
ZDx_Object * GetZDxObject () { return m_pZDxObject; }
};
//ROMTEAM WorldEditor (Cristi Petrescu 11/12/97)
/*
//-----------------------------------------------------------------------------
// class ZDx_Sphere
//
// Definition of the class to modify the geometric aspect of a ZDx of type sphere
//-----------------------------------------------------------------------------
class ZDx_Sphere : public ZDx_Shape
{
public:
ZDx_Sphere (ZDx_Object * , Shape3D * , ACP_tdxHandleOfElement , ZDx_Sphere * _pZDxSphereToCopy = NULL); // Constructor
MTH3D_tdstVector GetCenter (); // return the 3D coordinates of the center of the sphere
void SetCenter (MTH3D_tdstVector *); // set the 3D coordinates of the center of the sphere
void SetCenterX (GLI_tdxValue);
void SetCenterY (GLI_tdxValue);
void SetCenterZ (GLI_tdxValue);
GLI_tdxValue GetRadius (); // return the radius of the sphere
BOOL SetRadius (GLI_tdxValue * _Radius); // set the radius of the sphere
// Return FALSE if the given value if not correct
// (that is, negative. Radius is then set to 0).
// The new radius is returned in * _Radius.
};
//-----------------------------------------------------------------------------
// class ZDx_Box
//
// Definition of the class to modify the geometric aspect of a ZDx of type box
//-----------------------------------------------------------------------------
class ZDx_Box : public ZDx_Shape
{
public:
ZDx_Box (ZDx_Object * _pZDxObject , Shape3D * , ACP_tdxHandleOfElement , ZDx_Box * _pZDxBoxToCopy = NULL); // Constructor
// All the Set functions return TRUE if the given value is correct, FALSE if not (for example, the given
// MinPointX is greater than the actual MaxPointX. The MinPointX is then set to the MaxPointX)
// In both case, the new value is returned
MTH3D_tdstVector GetMinPoint (); // return the 3D coordinates of the point with the min coordinates
BOOL SetMinPoint (MTH3D_tdstVector *);
BOOL SetMinPointX (GLI_tdxValue *);
BOOL SetMinPointY (GLI_tdxValue *);
BOOL SetMinPointZ (GLI_tdxValue *);
BOOL IncMinPointX (GLI_tdxValue *);
BOOL IncMinPointY (GLI_tdxValue *);
BOOL IncMinPointZ (GLI_tdxValue *);
MTH3D_tdstVector GetMaxPoint (); // return the 3D coordinates of the point with the max coordinates
BOOL SetMaxPoint (MTH3D_tdstVector *);
BOOL SetMaxPointX (GLI_tdxValue *);
BOOL SetMaxPointY (GLI_tdxValue *);
BOOL SetMaxPointZ (GLI_tdxValue *);
BOOL IncMaxPointX (GLI_tdxValue *);
BOOL IncMaxPointY (GLI_tdxValue *);
BOOL IncMaxPointZ (GLI_tdxValue *);
MTH3D_tdstVector GetCenter (); // return the 3D coordinates of the center of the box
// (in fact, it is the middle of the min point and the max point)
GLI_tdxValue GetLength (); // return the length of the box
GLI_tdxValue GetWidth (); // return the width of the box
GLI_tdxValue GetHeight (); // return the height of the box
void SetCenter (MTH3D_tdstVector *); // set the center of the box, dimensions are unchanged
void SetCenterX (GLI_tdxValue);
void SetCenterY (GLI_tdxValue);
void SetCenterZ (GLI_tdxValue);
BOOL SetLength (GLI_tdxValue *);
BOOL SetWidth (GLI_tdxValue *);
BOOL SetHeight (GLI_tdxValue *);
};
//-----------------------------------------------------------------------------
// class ZDx_Cone
//
// Definition of the class to modify the geometric aspect of a ZDx of type cone
//-----------------------------------------------------------------------------
class ZDx_Cone : public ZDx_Shape
{
public:
ZDx_Cone (ZDx_Object * _pZDxObject , Shape3D * , ACP_tdxHandleOfElement , ZDx_Cone * _pZDxConeToCopy = NULL); // Constructor
MTH3D_tdstVector GetBasePoint (); // Return the 3D coordinates of the base point
MTH3D_tdstVector GetTopPoint (); // Return the 3D coordinates of the top point
void SetBasePoint (MTH3D_tdstVector *); // Set the 3D coordinates of the base point
void SetTopPoint (MTH3D_tdstVector *); // Set the 3D coordinates of the top point
void SetBasePointX (GLI_tdxValue);
void SetBasePointY (GLI_tdxValue);
void SetBasePointZ (GLI_tdxValue);
void SetTopPointX (GLI_tdxValue);
void SetTopPointY (GLI_tdxValue);
void SetTopPointZ (GLI_tdxValue);
MTH3D_tdstVector GetCenter ();
void SetCenter (MTH3D_tdstVector *);
GLI_tdxValue GetRadius (); // Get the radius of the cone
BOOL SetRadius (GLI_tdxValue *); // Set the radius of the cone. Return FALSE if value is not correct
GLI_tdxValue GetAngle (); // Return the angle (in degrees) of the cone
BOOL SetAngle (GLI_tdxValue *); // Set the angle (in degrees) of the cone. Return FALSE if value is not correct
};
*/
//-----------------------------------------------------------------------------
// class ZDx_Point
//
// Definition of the class to modify the geometric aspect of a ZDx of type point
//-----------------------------------------------------------------------------
class ZDx_Point : public ZDx_Shape
{
public:
ZDx_Point (ZDx_Object * _pZDxObject , Shape3D * /* ACP_tdxHandleOfElement */, ZDx_Point * _pZDxPointToCopy = NULL); // Constructor
/*
MTH3D_tdstVector GetPoint (); // return the 3D coordinates of the point
void SetPoint (MTH3D_tdstVector *); // set the 3D coordinates of the point
void SetPointX (GLI_tdxValue);
void SetPointY (GLI_tdxValue);
void SetPointZ (GLI_tdxValue);
MTH3D_tdstVector GetCenter () { return ((Point3D *) GetGeometric3dObject ()) -> GetPoint (); }
void SetCenter (MTH3D_tdstVector * _pCenter) { ((Point3D *) GetGeometric3dObject ()) -> SetPoint (_pCenter); }
void SetColorOfPoint (BOOL _bSelected); // Set the color of the point : selected or not selected
private:
*/
// ANNECY AV CLEAN_MEC {
// void UpdateTestPointPosition (); // Set the position of the test point with the position of the point
// END ANNECY AV }
};
//ENDROMTEAM WorldEditor (Cristi Petrescu)
#endif //__ZOBJECT_HPP__

View File

@@ -0,0 +1,145 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by D:\cpa\tempgrp\ozo\Inc\Resource.rc
//
#define IDD_ZDD_Info_Window 170
#define IDD_ZDD_Box_Info_Window_1 171
#define IDD_ZDD_Box_Info_Window_2 172
#define IDD_ZDD_Box_Info_Window 173
#define IDD_ZDD_Point_Info_Window 174
#define IDD_ZDD_Sphere_Info_Window 175
#define IDD_ZDD_List1_Window 176
#define IDD_ZDD_List2_Window 177
#define IDB_Bitmap_Return 180
#define IDI_Icon_Family 190
#define IDI_Icon_Model 191
#define IDI_Icon_Instance 192
#define IDI_Icon_Module 194
#define IDI_Icon_ZDx 195
#define IDI_Icon_Big_Global_Zone 196
#define IDC_Cursor_Drag_And_Drop 197
#define IDI_Icon_Common_Mode 198
#define IDI_Icon_Shared_Mode 199
#define IDI_Icon_Virge_Mode 200
#define IDB_Bitmap_Show_Actor 201
#define IDC_Cursor_No_Drag_And_Drop 202
#define IDD_ZDD_Cone_Info_Window 203
#define IDB_Bitmap_Show_Module 205
#define IDD_ZDD_Display_Control_Window 206
#define IDB_Bitmap_Show_Module_ZDx 208
#define IDI_Icon_Motor_Display_On 210
#define IDI_Icon_Motor_Display_Off 211
#define IDB_Bitmap_Bounding_Volume 212
#define IDB_Bitmap_Test_Point 214
#define IDI_Icon_Used_Module 215
#define IDD_CHECK_ZONES_AGAINST_BV 216
#define IDI_ZDX_DLGBAR_ICON 217
#define IDC_OK_Button 1002
#define IDC_Static_Text_Name 1018
#define IDC_Edition_Zone_Name 1019
#define IDC_Edition_Zone_Type 1020
#define IDC_Static_Text_Center_X 1021
#define IDC_Static_Text_Center_Y 1022
#define IDC_Frame 1023
#define IDC_Static_Text_Center_Z 1024
#define IDC_Static_Text_Radius 1025
#define IDC_Edition_Zone_Center_X 1026
#define IDC_Static_Text_Angle 1026
#define IDC_Edition_Zone_Center_Y 1027
#define IDC_Edition_Zone_Center_Z 1028
#define IDC_Edition_Zone_Length 1029
#define IDC_Cancel_Button 1031
#define IDC_Static_Text_Length 1032
#define IDC_Static_Text_Width 1033
#define IDC_Edition_Zone_Width 1035
#define IDC_Check_Box_Cube 1037
#define IDC_Radio_Button_Center 1038
#define IDC_Radio_Button_Extrema 1039
#define IDC_Static_Text_X_Mini 1040
#define IDC_Static_Text_Y_Mini 1041
#define IDC_Static_Text_Z_Mini 1042
#define IDC_Edition_Zone_X_Mini 1043
#define IDC_Edition_Zone_Y_Mini 1044
#define IDC_Edition_Zone_Z_Mini 1045
#define IDC_Static_Text_X_Maxi 1046
#define IDC_Static_Text_Y_Maxi 1047
#define IDC_Static_Text_Z_Maxi 1048
#define IDC_Edition_Zone_X_Maxi 1049
#define IDC_Edition_Zone_Y_Maxi 1050
#define IDC_Edition_Zone_Z_Maxi 1051
#define IDC_Frame_Mini 1052
#define IDC_Frame_Center 1053
#define IDC_Frame_Maxi 1054
#define IDC_Static_Text_Height 1055
#define IDC_Edition_Zone_Height 1056
#define IDC_Static_Text_X 1057
#define IDC_Static_Text_Y 1058
#define IDC_Static_Text_Z 1059
#define IDC_Edition_Zone_X 1060
#define IDC_Edition_Zone_Y 1061
#define IDC_Edition_Zone_Z 1062
#define IDC_Pos_Shape_Info_Window 1066
#define IDC_Apply_Button 1068
#define IDC_Edition_Zone_Radius 1073
#define IDC_Check_Box_ZDD 1074
#define IDC_Edition_Zone_Angle 1074
#define IDC_Check_Box_ZDE 1075
#define IDC_Check_Box_ZDM 1076
#define IDC_Check_Box_ZDR 1077
#define IDC_Button_All_ZDx 1078
#define IDC_Button_Return 1085
#define IDC_Tree_Ctrl_1 1086
#define IDC_Combo_Box_List_1 1087
#define IDC_Tree_Ctrl_2 1088
#define IDC_Check_Button_Show_Actor 1100
#define IDC_Frame_Top 1101
#define IDC_Check_Button_Show_Module 1101
#define IDC_Frame_Base 1102
#define IDC_Check_Button_Show_Module_ZDx 1102
#define IDC_Static_Text_X_Top 1103
#define IDC_Check_Button_Bounding_Volume 1103
#define IDC_Static_Text_Y_Top 1104
#define IDC_Check_Button_Test_Point 1104
#define IDC_Static_Text_Z_Top 1105
#define IDC_Static_Text_X_Base 1106
#define IDC_Static_Text_Y_Base 1107
#define IDC_Static_Text_Z_Base 1108
#define IDC_Edition_Zone_X_Top 1109
#define IDC_Edition_Zone_Y_Top 1110
#define IDC_Edition_Zone_Z_Top 1111
#define IDC_Edition_Zone_X_Base 1112
#define IDC_Edition_Zone_Y_Base 1113
#define IDC_Edition_Zone_Z_Base 1114
#define IDC_Combo_Box_List 1115
#define IDC_Frame_All_Actors 1116
#define IDC_Frame_Current_Actor 1117
#define IDC_Radio_Button_All_Actors_On 1118
#define IDC_Radio_Button_All_Actors_Off 1119
#define IDC_List_Ctrl_2 1119
#define IDC_Radio_Button_Current_Actor_On 1120
#define IDC_Slider_Radius 1120
#define IDC_Radio_Button_Current_Actor_Off 1121
#define IDC_Static_Text_0 1121
#define IDC_Radio_Button_All_Actors_Selected 1122
#define IDC_Static_Text_1 1122
#define IDC_Radio_Button_Current_Actor_Selected 1123
#define IDC_Static_Text_1_5 1123
#define IDC_Button_Init 1124
#define IDC_Slider_Size 1125
#define IDC_Button_New_List 1126
#define IDC_Button_No_ZDx 1127
#define IDC_CHECK_ZONES 1129
#define IDC_CHECK_YES 1130
#define IDC_LIST_ZONES 1131
#define IDC_Static_Text_Type -1
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 218
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1132
#define _APS_NEXT_SYMED_VALUE 170
#endif
#endif

View File

@@ -0,0 +1,451 @@
//*****************************************************************************
//* _zWEdit.hpp *
//*****************************************************************************
//* *
//* This file contains the definitions of the edit windows *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
#ifndef __ZWEDIT_HPP
#define __ZWEDIT_HPP
#pragma once
// personal include
#include "_zRes.h" // File created by Microsoft Developer Studio
#include "_zObject.hpp"
// class of "_modif.hpp"
class ZDx_Modif;
// class defined latter
class CZDxShapeInfoWindow;
typedef enum eDisplayType_ { eNoZone , eOn , eOff , eSelected } tdeDisplayType;
//-----------------------------------------------------------------------------
// class CDisplayControlWindow
//
// Window that controls the display of the zones
//-----------------------------------------------------------------------------
class CDisplayControlWindow : public CFormView
{
// Construction
public:
CDisplayControlWindow(CWnd* pParent = NULL); // standard constructor
DECLARE_DYNCREATE (CDisplayControlWindow)
// Dialog Data
//{{AFX_DATA(CDisplayControlWindow)
enum { IDD = IDD_ZDD_Display_Control_Window };
int m_Radio_Button_All_Actors;
int m_Radio_Button_Current_Actor;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDisplayControlWindow)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDisplayControlWindow)
afx_msg void On_Radio_Buttons_All_Actors();
afx_msg void On_Radio_Buttons_Current_Actor();
//}}AFX_MSG
afx_msg BOOL SetToolTipText(UINT uiControlId , NMHDR *pNMHDR, LRESULT *pResult);
DECLARE_MESSAGE_MAP()
// Private data
private:
CToolTipCtrl m_ToolTipCtrl;
ZDx_Interface * m_pZDxInterface;
public:
void SetZDxInterface (ZDx_Interface * _pZDxInterface) { m_pZDxInterface = _pZDxInterface; }
tdeDisplayType GetDisplayForAllActors (); // Get the state of the "All actors" radio button
tdeDisplayType GetDisplayForCurrentActor (); // Get the state of the "Current actor" radio button
void SetDisplayForAllActors (tdeDisplayType); // Set the state of the "All actors" radio button
void SetDisplayForCurrentActor (tdeDisplayType); // Set the state of the "Current actor" radio button
void SetNameOfCurrentActor (CString); // Set the name of the current actor (it is showed in the window)
void DisplayAllActors (); // Display all actors with the correct zones
};
//-----------------------------------------------------------------------------
// class CZDxInfoWindow
//
// Window that shows informations about a ZDx object
//-----------------------------------------------------------------------------
class CZDxInfoWindow : public CFormView
{
// Construction
public:
CZDxInfoWindow(CWnd* pParent = NULL); // standard constructor
DECLARE_DYNCREATE (CZDxInfoWindow)
// Dialog Data
//{{AFX_DATA(CZDxInfoWindow)
enum { IDD = IDD_ZDD_Info_Window };
CString m_Edition_Zone_Name;
CString m_Edition_Zone_Type;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CZDxInfoWindow)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CZDxInfoWindow)
afx_msg void On_Change_Edition_Zone_Name();
afx_msg void OnCancel();
afx_msg void OnOK();
afx_msg void On_Apply_Button();
afx_msg void On_Cancel_Button();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Personal data
private:
CPA_SuperObject * m_pZDxSuperObject; // Pointer to the ZDx super object
ZDx_Object * m_pZDxObject; // Pointer to the ZDx object
ZDx_Modif * m_pZDxModif; // Pointer to the ZDx modif
BOOL m_bIsApplying; // Is TRUE when cliquing on the Apply button
CZDxShapeInfoWindow * m_pCZDxShapeInfoWindow; // Pointer to the child window
tdeZDxGeometricType m_eTypeShapeInfoWindow; // Type of the shape info window (sphere, box...)
BOOL m_ZDxHasBeenChanged; // Indicate if the ZDx has been changed or not
void OpenShapeInfoWindow ();
void CloseShapeInfoWindow ();
CWnd * GetFirstControlOfWindow (); // Get the first control of the window
CWnd * GetLastControlOfWindow (); // Get the last control of the window
BOOL OnTabKeyPressed (); // Called when the Tab key is pressed
BOOL OnShiftTabKeyPressed (); // Called when the Tab key is pressed with shift
public:
void SetZDxHasBeenChanged (BOOL b);
ZDx_Object * GetZDxObjectEdited () { return m_pZDxObject; }
void SetZDxObjectToEdit (CPA_SuperObject *); // Give a ZDx object to edit
void Apply (); // To simulate a clic on the Apply button
void Cancel (); // To simulate a clic on the Cancel button
void RefreshData (BOOL RedrawNeeded); // Called when the data need to be refreshed
// The ZDx object can be redrawed or not
void RefreshModif (); // Create a modif for the edited ZDx object
};
//-----------------------------------------------------------------------------
// class CZDxShapeInfoWindow
// Abstract class
//-----------------------------------------------------------------------------
class CZDxShapeInfoWindow : public CDialog
{
public:
virtual void SetZDxShapeToEdit (ZDx_Shape *) = 0; // Set the ZDx shape to edit
virtual void RefreshData () = 0; // Called when the data need to be refreshed
virtual CWnd * GetFirstControlOfWindow () = 0; // Get the first control of the window
virtual CWnd * GetLastControlOfWindow () = 0; // Get the last control of the window
virtual BOOL PreTranslateMessage (MSG * pMsg);
protected:
void SetZDxHasBeenChanged (BOOL); // indicate to the parent window that the ZDx object has been changed
void OnOK ();
void OnCancel ();
};
//-----------------------------------------------------------------------------
// class CZDxSphereInfoWindow
//
// Window that shows informations about a ZDx sphere object
//-----------------------------------------------------------------------------
class CZDxSphereInfoWindow : public CZDxShapeInfoWindow
{
// Construction
public:
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
CZDxSphereInfoWindow (CWnd * pParent , ZDx_Shape * pZDxObject , CPA_SuperObject * _pFatherSuperObject , ZDx_Interface *);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
// Dialog Data
//{{AFX_DATA(CZDxSphereInfoWindow)
enum { IDD = IDD_ZDD_Sphere_Info_Window };
CString m_Edition_Zone_Center_X;
CString m_Edition_Zone_Center_Y;
CString m_Edition_Zone_Center_Z;
CString m_Edition_Zone_Radius;
CSliderCtrl m_Slider_Radius;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CZDxSphereInfoWindow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CZDxSphereInfoWindow)
virtual BOOL OnInitDialog();
afx_msg void On_Change_Edition_Zone_Center_X();
afx_msg void On_Change_Edition_Zone_Center_Y();
afx_msg void On_Change_Edition_Zone_Center_Z();
afx_msg void On_Change_Edition_Zone_Radius();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void On_Button_Init();
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Personal data
private:
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
ZDx_Shape * m_pZDxSphere;
Sphere3D * m_pSphere3D; // Pointer to the ZDx sphere
//ENDROMTEAM WorldEditor (Cristi Petrescu)
MTH_tdxReal m_FatherRadius; // Radius of the father of the ZDx object
MTH3D_tdstVector m_FatherCenter; // Center of the father of the ZDx object
void RefreshSlider ();
void RefreshRadiusFromSlider ();
public:
void SetZDxShapeToEdit (ZDx_Shape *); // Set the ZDx shape to edit
void RefreshData (); // Called when the data need to be refreshed
CWnd * GetFirstControlOfWindow (); // Get the first control of the window
CWnd * GetLastControlOfWindow (); // Get the last control of the window
};
//-----------------------------------------------------------------------------
// class CZDxBoxInfoWindow
//
// Window that shows informations about a ZDx box object
//-----------------------------------------------------------------------------
class CZDxBoxInfoWindow : public CZDxShapeInfoWindow
{
// Construction
public:
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
CZDxBoxInfoWindow(CWnd* pParent , ZDx_Shape * pZDxObject , CPA_SuperObject * _pFatherSuperObject , ZDx_Interface *);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
// Dialog Data
//{{AFX_DATA(CZDxBoxInfoWindow)
enum { IDD = IDD_ZDD_Box_Info_Window };
int m_Radio_Button;
BOOL m_Check_Box_Cube;
CString m_Edition_Zone_Center_X;
CString m_Edition_Zone_Center_Y;
CString m_Edition_Zone_Center_Z;
CString m_Edition_Zone_Height;
CString m_Edition_Zone_Length;
CString m_Edition_Zone_Width;
CString m_Edition_Zone_X_Maxi;
CString m_Edition_Zone_X_Mini;
CString m_Edition_Zone_Y_Maxi;
CString m_Edition_Zone_Y_Mini;
CString m_Edition_Zone_Z_Maxi;
CString m_Edition_Zone_Z_Mini;
CSliderCtrl m_Slider_Size;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CZDxBoxInfoWindow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CZDxBoxInfoWindow)
virtual BOOL OnInitDialog();
afx_msg void On_Radio_Button_Center();
afx_msg void On_Radio_Button_Extrema();
afx_msg void On_Change_Edition_Zone_X_Mini();
afx_msg void On_Change_Edition_Zone_Y_Mini();
afx_msg void On_Change_Edition_Zone_Z_Mini();
afx_msg void On_Change_Edition_Zone_X_Maxi();
afx_msg void On_Change_Edition_Zone_Y_Maxi();
afx_msg void On_Change_Edition_Zone_Z_Maxi();
afx_msg void On_Change_Edition_Zone_Center_X();
afx_msg void On_Change_Edition_Zone_Center_Y();
afx_msg void On_Change_Edition_Zone_Center_Z();
afx_msg void On_Change_Edition_Zone_Length();
afx_msg void On_Change_Edition_Zone_Width();
afx_msg void On_Change_Edition_Zone_Height();
afx_msg void On_Check_Box_Cube();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void On_Button_Init();
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Personal data
private:
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
ZDx_Shape * m_pZDxBox; // pointer to the ZDx box
Box3D * m_pBox3D;
//ENDROMTEAM WorldEditor (Cristi Petrescu)
BOOL m_ZDxIsACube; // Indicate if the ZDx box is a cube or not
double m_FatherAverageSize;
MTH3D_tdstVector m_FatherMinPoint;
MTH3D_tdstVector m_FatherMaxPoint;
void RefreshSlider ();
void RefreshSizeFromSlider ();
public:
void SetZDxShapeToEdit (ZDx_Shape *); // Set the ZDx shape to edit
void RefreshData (); // Called when the data need to be refreshed
void RefreshData (BOOL _bKeepCube); // Idem
CWnd * GetFirstControlOfWindow (); // Get the first control of the window
CWnd * GetLastControlOfWindow (); // Get the last control of the window
};
//-----------------------------------------------------------------------------
// class CZDxPointInfoWindow
//
// Window that shows informations about a ZDx point object
//-----------------------------------------------------------------------------
class CZDxPointInfoWindow : public CZDxShapeInfoWindow
{
// Construction
public:
CZDxPointInfoWindow (CWnd * pParent , ZDx_Point * pZDxObject);
// Dialog Data
//{{AFX_DATA(CZDxPointInfoWindow)
enum { IDD = IDD_ZDD_Point_Info_Window };
CString m_Edition_Zone_X;
CString m_Edition_Zone_Y;
CString m_Edition_Zone_Z;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CZDxPointInfoWindow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CZDxPointInfoWindow)
afx_msg void On_Change_Edition_Zone_X();
afx_msg void On_Change_Edition_Zone_Y();
afx_msg void On_Change_Edition_Zone_Z();
virtual BOOL OnInitDialog();
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Personal data
private:
ZDx_Point * m_pZDxPoint; // pointer to the ZDx point
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Point3D * m_pPoint3D;
//ENDROMTEAM WorldEditor (Cristi Petrescu)
public:
void SetZDxShapeToEdit (ZDx_Shape *); // Set the ZDx shape to edit
void RefreshData (); // Called when the data need to be refreshed
CWnd * GetFirstControlOfWindow (); // Get the first control of the window
CWnd * GetLastControlOfWindow (); // Get the last control of the window
};
//-----------------------------------------------------------------------------
// class CZDxConeInfoWindow
//
// Window that shows informations about a ZDx cone object
//-----------------------------------------------------------------------------
class CZDxConeInfoWindow : public CZDxShapeInfoWindow
{
// Construction
public:
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
CZDxConeInfoWindow (CWnd * pParent , ZDx_Shape * pZDxObject);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
// Dialog Data
//{{AFX_DATA(CZDxConeInfoWindow)
enum { IDD = IDD_ZDD_Cone_Info_Window };
CString m_Edition_Zone_Angle;
CString m_Edition_Zone_Radius;
CString m_Edition_Zone_X_Base;
CString m_Edition_Zone_X_Top;
CString m_Edition_Zone_Y_Base;
CString m_Edition_Zone_Y_Top;
CString m_Edition_Zone_Z_Base;
CString m_Edition_Zone_Z_Top;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CZDxConeInfoWindow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CZDxConeInfoWindow)
virtual BOOL OnInitDialog();
afx_msg void On_Change_Edition_Zone_Angle();
afx_msg void On_Change_Edition_Zone_Radius();
afx_msg void On_Change_Edition_Zone_X_Base();
afx_msg void On_Change_Edition_Zone_X_Top();
afx_msg void On_Change_Edition_Zone_Y_Base();
afx_msg void On_Change_Edition_Zone_Y_Top();
afx_msg void On_Change_Edition_Zone_Z_Base();
afx_msg void On_Change_Edition_Zone_Z_Top();
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Personal data
private:
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
ZDx_Shape * m_pZDxCone; // pointer to the ZDx cone
Cone3D * m_pCone3D;
//ENDROMTEAM WorldEditor (Cristi Petrescu)
public:
void SetZDxShapeToEdit (ZDx_Shape *); // Set the ZDx shape to edit
void RefreshData (); // Called when the data need to be refreshed
CWnd * GetFirstControlOfWindow (); // Get the first control of the window
CWnd * GetLastControlOfWindow (); // Get the last control of the window
};
#endif // __ZWEDIT_HPP

View File

@@ -0,0 +1,240 @@
//*****************************************************************************
//* _zWList1.hpp *
//*****************************************************************************
//* *
//* This file contains the definitions of the first list window *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
#ifndef __ZWLIST1_HPP
#define __ZWLIST1_HPP
#pragma once
// Actors dll "include"
class EdtList;
class CPA_tdoNameList;
// Physical Object dll "include"
class EditorPO;
// personal "include"
#include "_zRes.h" // File created by Microsoft Developer Studio
#include "_zObject.hpp"
class ZDx_Interface;
//-----------------------------------------------------------------------------
// Definition for the first list
//-----------------------------------------------------------------------------
typedef enum eList1Type_ {eListOfFamily , eListOfModel , eListOfModelOfFamily , eListOfInstance , eListOfModule} tdeList1Type;
#define C_szListOfFamily "List of all families"
#define C_szListOfModel "List of all models"
#define C_szListOfModelOfFamily "List of models of same family"
#define C_szListOfInstance "List of instances"
#define C_szListOfModule "List of modules"
#define C_szListOfModelOfGivenFamily "List of models of family: "
#define C_szListOfInstanceOfGivenModel "List of instances of model: "
#define C_szListOfModuleOfGivenTable "List of modules of table: "
#define C_ucIconFamily 0
#define C_ucIconModel 1
#define C_ucIconInstance 2
#define C_ucIconModule 3
#define C_ucIconUsedModule 4
#define C_ucIconZDx 5
#define C_ucIconBigGlobalZone 6
//-----------------------------------------------------------------------------
// class TreeControl
//-----------------------------------------------------------------------------
//----------------------------
// ANNECY AV CLEAN_MEC {
typedef enum eTreeElementType_ { eFamilyElement , eModelElement , eInstanceElement ,
eModuleElement , eBigGlobalZoneElement ,
eZddElement , eZdeElement , eZdmElement , eZdrElement ,
eBoundingVolumeElement /* , eTestPointElement */
} tdeTreeElementType;
// END ANNECY AV }
//-------------------------------
typedef struct stTreeElementData_
{
tdeTreeElementType eType;
CPA_BaseObject * pObject;
CPA_SuperObject * pSuperObject;
} tdstTreeElementData;
//----------------------------------
class TreeControl : public CTreeCtrl
{
private:
void DeleteItemRecursive (HTREEITEM hHandle);
public:
HTREEITEM InsertItem (LPCTSTR Name , tdeTreeElementType _eType , CPA_BaseObject * _pObject , CPA_SuperObject * _pSuperObject ,
HTREEITEM hParent = TVI_ROOT , HTREEITEM hInsertAfter = TVI_LAST);
BOOL DeleteAllItems ();
BOOL DestroyWindow ();
};
//-----------------------------------------------------------------------------
// class CList1Window
//
// Window that shows different lists
//-----------------------------------------------------------------------------
class CList1Window : public CFormView
{
// Construction
public:
CList1Window(CWnd* pParent = NULL); // standard constructor
DECLARE_DYNCREATE (CList1Window)
// Dialog Data
//{{AFX_DATA(CList1Window)
enum { IDD = IDD_ZDD_List1_Window };
CButton m_Check_Button_Show_Actor;
CButton m_Check_Button_Show_Module;
CButton m_Check_Button_Show_Module_ZDx;
CButton m_Check_Button_Bounding_Volume;
CButton m_Check_Button_Test_Point;
CButton m_Button_Return;
CComboBox m_Combo_Box_List_1;
TreeControl m_Tree_Ctrl_1;
CString m_Combo_Box_String_List_1;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CList1Window)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CList1Window)
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void On_Selection_Has_Changed_Combo_Box_List_1();
afx_msg void On_Return_Button();
afx_msg void On_Double_Click_Tree_Ctrl_1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void On_Selection_Has_Changed_Tree_Ctrl_1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
afx_msg void On_Right_Click_Tree_Ctrl_1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void On_Check_Button_Show_Actor();
afx_msg void On_Check_Button_Show_Module();
afx_msg void On_Check_Button_Show_Module_ZDx();
afx_msg void On_Check_Button_Bounding_Volume();
afx_msg void On_Check_Button_Test_Point();
afx_msg void On_Key_Down_Tree_Ctrl_1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void On_Begin_Change_Name_Tree_Ctrl_1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void On_End_Change_Name_Tree_Ctrl_1(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
afx_msg BOOL SetToolTipText(UINT uiControlId , NMHDR *pNMHDR, LRESULT *pResult);
DECLARE_MESSAGE_MAP()
// Private data
private:
ZDx_Interface * m_pZDxInterface;
CBitmap m_ButtonReturnBitmap;
CBitmap m_ButtonShowActorBitmap;
CBitmap m_ButtonShowModuleBitmap;
CBitmap m_ButtonShowModuleZDxBitmap;
CBitmap m_ButtonBoundingVolumeBitmap;
CBitmap m_ButtonTestPointBitmap;
CImageList m_stImageList;
CToolTipCtrl m_ToolTipCtrl;
tdeList1Type m_eList1Type;
CPA_BaseObject * m_pSelectedFamily;
CPA_BaseObject * m_pSelectedModel;
CPA_BaseObject * m_pSelectedActor;
CPA_SuperObject * m_pSelectedActorSuperObject;
EdtList * m_pSelectedBigGlobalZone;
BOOL m_bIsCreatingList; // Is TRUE when creating a list. Becomes FALSE when the list is created
BOOL m_bCanSelectListOfFamily;
BOOL m_bCanSelectListOfModel;
BOOL m_bCanSelectListOfModelOfFamily;
BOOL m_bCanSelectListOfInstance;
BOOL m_bCanSelectListOfModule;
BOOL ComboBoxLineEnabled (char * _szName);
void ComboBoxChoseCorrectName (char * _szNewName , char * _szOldName);
void ComboBoxDrawLine (LPDRAWITEMSTRUCT lpDrawItemStruct);
void CreateANewListOfZDx (tdeZDxType _eType);
void DeleteSelectedElement ();
HTREEITEM FindAnElementInTree (HTREEITEM _hItem , void * _pData , void * _pParentData = NULL);
void ChangeIconOfModuleAndChild (CPA_SuperObject * pSuperObject);
void SetCameraOnActor (CPA_SuperObject * _pActorSuperObject);
void ShowActorAlone ();
void ShowModuleAlone ();
public:
void SetZDxInterface (ZDx_Interface * _pZDxInterface) { m_pZDxInterface = _pZDxInterface; }
void CreateListOfFamily (CPA_BaseObject * _pFamilyToSelect = NULL ,
CPA_BaseObject * _pModelToSelect = NULL);
void CreateListOfModel (CPA_BaseObject * _pModelToSelect = NULL ,
CPA_BaseObject * _pInstanceToSelect = NULL);
void CreateListOfModelOfFamily (CPA_BaseObject * _pFamily ,
CPA_BaseObject * _pModelToSelect = NULL ,
CPA_BaseObject * _pInstanceToSelect = NULL);
void CreateListOfInstance (CPA_BaseObject * _pModel ,
CPA_BaseObject * _pInstanceToSelect = NULL ,
EdtList * _pBigGlobalZoneToSelect = NULL);
void CreateListOfModule (CPA_SuperObject * _pActorSuperObject ,
CPA_BaseObject * _pModuleToSelect = NULL ,
BOOL _bOpenGrid = TRUE);
void LeaveListOfModule ();
void ReCreateCurrentList ();
void SelectInstance (CPA_BaseObject * _pInstanceToSelect , BOOL bRefreshNeeded);
void SelectBigGlobalZone (CPA_BaseObject * _pInstance ,
EdtList * _pBigGlobalZone , BOOL bRefreshNeeded);
void SelectModule (CPA_BaseObject * _pModule , BOOL bRefreshNeeded);
void SelectZDxOfActor (CPA_BaseObject * _pInstance ,
ZDx_Object * _pZDxObject , BOOL bRefreshNeeded);
void SelectZDxOfModule (CPA_BaseObject * _pModule ,
ZDx_Object * _pZDxObject , BOOL bRefreshNeeded);
CPA_BaseObject * GetSelectedModule ();
CPA_SuperObject * GetSelectedModuleSuperObject ();
void SetShowActorButtonState (BOOL _bButtonChecked);
BOOL GetShowActorButtonState () { return m_Check_Button_Show_Actor . GetCheck (); }
CPA_BaseObject * GetSelectedActor () { return m_pSelectedActor; }
CPA_SuperObject * GetSelectedActorSuperObject () { return m_pSelectedActorSuperObject; }
BOOL IsEditingZDxOfModule () { return m_eList1Type == eListOfModule; }
BOOL IsEditingBoundingVolume () { return m_Check_Button_Bounding_Volume . GetCheck (); }
void EnterEditionOfBoundingVolume ();
void LeaveEditionOfBoundingVolume ();
// ANNECY AV CLEAN_MEC {
/*
BOOL IsEditingTestPoint () { return m_Check_Button_Test_Point . GetCheck (); }
void EnterEditionOfTestPoint ();
void LeaveEditionOfTestPoint ();
*/
// END ANNECY AV }
};
#endif // __ZWLIST1_HPP

View File

@@ -0,0 +1,226 @@
//*****************************************************************************
//* _zWList2.hpp *
//*****************************************************************************
//* *
//* This file contains the definitions of the second list window *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
#ifndef __ZWLIST2_HPP
#define __ZWLIST2_HPP
#pragma once
// Actors dll "include"
class EdtList;
class CPA_tdoNameList;
// Physical Object dll "include"
class EditorPO;
// Family dll "include"
class CPA_Family;
// ANNECY AV CLEAN_MEC {
//class CPA_TestPointsList;
//class CPA_TestPointNode;
// END ANNECY AV }
// personal "include"
#include "_zRes.h" // File created by Microsoft Developer Studio
#include "_zObject.hpp"
class ZDx_Interface;
//-----------------------
typedef enum eSharedMode_ { eNoSharedMode , eCommon , eShared , eVirge } tdeSharedMode;
//-------------------------------
typedef struct stListElementData_
{
tdeTreeElementType eType;
ZDx_Object * pZDxObject;
CPA_SuperObject * pZDxSuperObject;
CString csNameInNameList;
tdeSharedMode eSharedMode;
// Used for the test points
// ANNECY AV CLEAN_MEC {
// DNM_tdeKindOfPoint eKindOfPoint;
// CPA_TestPointNode * pTestPoint;
// END ANNECY AV }
} tdstListElementData;
//-----------------------------------------------------------------------------
// class CList2Window
//
// Window that shows different lists
//-----------------------------------------------------------------------------
class CList2Window : public CFormView
{
// Construction
public:
CList2Window(CWnd* pParent = NULL); // standard constructor
DECLARE_DYNCREATE (CList2Window)
// Dialog Data
//{{AFX_DATA(CList2Window)
enum { IDD = IDD_ZDD_List2_Window };
CComboBox m_Combo_Box_List;
CListBox m_List_Ctrl_2;
BOOL m_bShowZDD;
BOOL m_bShowZDE;
BOOL m_bShowZDM;
BOOL m_bShowZDR;
CString m_Combo_Box_String_List;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CList2Window)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CList2Window)
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
afx_msg void On_Button_All_ZDx();
afx_msg void On_Button_No_ZDx();
afx_msg void On_Button_New_List();
afx_msg void On_Check_Boxes_ZDx();
afx_msg void On_Selection_Has_Changed_List_Ctrl_2(/*NMHDR* pNMHDR, LRESULT* pResult*/);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void On_Selection_Has_Changed_Combo_Box_List();
//}}AFX_MSG
afx_msg BOOL SetToolTipText(UINT uiControlId , NMHDR *pNMHDR, LRESULT *pResult);
DECLARE_MESSAGE_MAP()
// Personal data
private:
ZDx_Interface * m_pZDxInterface;
CImageList m_stImageList;
CToolTipCtrl m_ToolTipCtrl;
HCURSOR m_hCursorDragAndDrop;
HCURSOR m_hCursorNoDragAndDrop;
HCURSOR m_hPreviousCursor;
HICON m_hIconCommon;
HICON m_hIconShared;
HICON m_hIconVirge;
HICON m_hIconMotorDisplayOn;
HICON m_hIconMotorDisplayOff;
CPA_BaseObject * m_pActor;
CPA_SuperObject * m_pActorSuperObject;
EditorPO * m_pModule;
CPA_SuperObject * m_pModuleSuperObject;
EdtList * m_pListOfZdd;
EdtList * m_pListOfZde;
EdtList * m_pListOfZdm;
EdtList * m_pListOfZdr;
ZDx_Object * m_pZdd;
ZDx_Object * m_pZde;
ZDx_Object * m_pZdm;
ZDx_Object * m_pZdr;
BOOL m_bIsCreatingList; // Is TRUE when creating a list. Becomes FALSE when the list is created
BOOL m_bIsSelectingZDx; // Is TRUE when selecting a ZDx. Becomes FALSE when the ZDx is selected
BOOL m_bIsInsideOnHasChanged;// Is TRUE when we are inside the On_Selection_Has_Changed_List_Ctrl_2 (to prevent recursiv call)
BOOL m_bMustUpdateDisplay; // When TRUE, the On_Selection_Has_Changed_List_Ctrl_2 must update the display
BOOL m_bIsSelectingPoAsZdr;// Is TRUE when the user has to select a PO to set as Zdr
BOOL m_bRightDragAndDrop; // Is TRUE during a right drap and drop.
int m_DragedItem; // The draged element
int m_SwitchedItem; // which is switch with another element
char * GetToolTipTextForList ();
void OnMouseMoveRightDragAndDrop (CPoint Point);
void MoveWindow (CWnd * , int _TranslationX , int _TranslationY); // Used to move a control into the CList2Window
void DrawLineInList (LPDRAWITEMSTRUCT);
void OnLButtonDown (UINT, CPoint);
void OnRButtonDown (UINT, CPoint);
void OnRButtonUp (UINT, CPoint);
int InsertZDxObjectInList (ZDx_Object * , tdeTreeElementType , CString NameInNameList , tdeSharedMode);
void FillComboBoxList (tdeZDxType , EdtList *); // Fill the combo box list with the list of EdtList of the given type
// ANNECY AV CLEAN_MEC {
// void FillComboBoxList (CPA_Family * , CPA_TestPointsList * _pListOfTestPointToSelect);
// Fill the combo box list with the list of test points of the given family
// END ANNECY AV }
void FillComboBoxListWithSelection ();
void CreateOneListOfZDx (EdtList * _pListOfZDx , CPA_tdoNameList * _pNameList , tdeTreeElementType);
void SwitchItems (int _Item1 , int _Item2);
EdtList * GetBigGlobalZone (tdeTreeElementType);
EdtList * GetBigGlobalZone (tdeZDxType);
long GetIndexInList (int _Item , tdeTreeElementType eElementType);
tdeZDxType ConvertElementTypeToZDxType (tdeTreeElementType);
tdeTreeElementType ConvertZDxTypeToElementType (tdeZDxType);
void DeleteZDx ();
public:
CPA_BaseObject * GetActor () { return m_pActor; }
EditorPO * GetModule () { return m_pModule; }
CPA_SuperObject * GetActorSuperObject () { return m_pActorSuperObject; }
CPA_SuperObject * GetModuleSuperObject () { return m_pModuleSuperObject; }
CPA_SuperObject * GetSelectedZDxSuperObject ();
ZDx_Object * GetSelectedZDx (); // Get the selected ZDX
ZDx_Object * GetSelectedZDx (tdeZDxType * ,
long * plPosition); // Get the selected ZDx and its type and position
ZDx_Object * GetFirstZDxOfType (tdeZDxType); // Get the first ZDx of the given type in the list
tdeZDxType GetZDxTypeOfSelection (); // Get the type of the selected ZDx
// ANNECY AV CLEAN_MEC {
// DNM_tdeKindOfPoint GetTypeOfSelectedTestPoint (); // When editing the test points, return the type of the selected test point
// CPA_TestPointsList * GetListOfTestPoint (); // When editing the test points, return the selected list of test points
// END ANNECY AV }
long GetNumberOfUnusedPosition (); // Get the number of unused position into the list
void SetZDxInterface (ZDx_Interface * _pZDxInterface) { m_pZDxInterface = _pZDxInterface; }
void CreateListOfZDx (CPA_SuperObject * _pActorSuperObject ,
EdtList * _pListOfZdd ,
EdtList * _pListOfZde ,
EdtList * _pListOfZdm ,
EdtList * _pListOfZdr ,
BOOL _bUpdateDisplayAndEditWindow = TRUE ,
BOOL _bUpdateCheckBox = TRUE);
void CreateListOfZDxOfModule (CPA_SuperObject * _pModuleSuperObject ,
BOOL _bUpdateDisplayAndEditWindow = TRUE);
void CreateBoundingVolume (CPA_SuperObject * _pActorSuperObject , ZDx_Object * _pBoundingVolume ,
BOOL _bUdateEditWindow = TRUE, BOOL _bShowBdV = TRUE);
// ANNECY AV CLEAN_MEC {
/*
void CreateListOfTestPoint (CPA_SuperObject * _pActorSuperObject , CPA_TestPointsList * _pTestPointList = NULL ,
BOOL _bUpdateEditWindow = TRUE);
void LeaveEditionOfTestPoint ();
*/
// END ANNECY AV }
void ReCreateListOfZDx (BOOL _bUpdateDisplayAndEditWindow = TRUE ,
BOOL _bUpdateCheckBox = TRUE);
void CreateASpecificListOfZDx (CPA_SuperObject * _pActorSuperObject ,
EdtList * _pListOfZDx ,
tdeZDxType _eZDxType);
BOOL SelectZDx (ZDx_Object * _pZDxObjectToSelect ,
BOOL _bSelectEvenIfNull = FALSE ,
BOOL _bUpdateEditWindow = TRUE); // Select a ZDx in the list
BOOL SelectZDx (tdeZDxType _eZDxType , long _lPosition); // Select the ZDx which have the given
// type and the given position in the list
unsigned char GetZDxTypeToShow (); // Return the type of ZDx to show
void SetZDxCheckBoxes (tdeZDxType);
void SetZDxCheckBoxes (BOOL _bShowZDD , BOOL _bShowZDE , BOOL _bShowZDM , BOOL _bShowZDR);
};
#endif // __ZWLIST2_HPP

View File

@@ -0,0 +1,52 @@
#if !defined(AFX_CHECKZONES_H__18ADE2F1_05B7_11D2_B408_00A0244F34C3__INCLUDED_)
#define AFX_CHECKZONES_H__18ADE2F1_05B7_11D2_B408_00A0244F34C3__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// checkzones.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CCheckZones dialog
class CPA_Actor;
class CCheckZones : public CDialog
{
// Construction
public:
CCheckZones(CPA_Actor *pActor, CStringList *pZonesList, CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CCheckZones)
enum { IDD = IDD_CHECK_ZONES_AGAINST_BV };
CListBox m_ctrlZonesList;
CButton m_ctrlYes;
CButton m_ctrlCheckZonesAgainstBV;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCheckZones)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
CPA_Actor *m_pActor;
CStringList *m_pZonesList;
// Generated message map functions
//{{AFX_MSG(CCheckZones)
virtual void OnOK();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CHECKZONES_H__18ADE2F1_05B7_11D2_B408_00A0244F34C3__INCLUDED_)

View File

@@ -0,0 +1,460 @@
# Microsoft Developer Studio Project File - Name="OZO" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=OZO - Win32 Debug Glide with Editors
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Ozo.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Ozo.mak" CFG="OZO - Win32 Debug Glide with Editors"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "OZO - Win32 Debug with Editors" (based on\
"Win32 (x86) Dynamic-Link Library")
!MESSAGE "OZO - Win32 Debug Glide with Editors" (based on\
"Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""$/CPA/TempGrp/OZO", LFCAAAAA"
# PROP Scc_LocalPath "."
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "OZO - Win32 Debug with Editors"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug with Editors"
# PROP BASE Intermediate_Dir "Debug with Editors"
# PROP BASE Target_Dir ""
# PROP Use_MFC 2
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "x:\CPA\EXE\GAM\EDT_Data\Objects"
# PROP Intermediate_Dir "Tmp\OZOP5Evd"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "inc" /I "X:\CPA\Public" /D "CPA_WANTS_IMPORT" /D "ACTIVE_EDITOR" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CPA_VISUAL" /D "CPA_DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "USE_ALTIMAPS" /FR /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "_DEBUG"
# ADD RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 X:\CPA\Exe\GAM\GAMP5Evd.lib x:\CPA\Exe\GAM\Edt_Data\Objects\OGDP5Evd.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"X:\CPA\EXE\GAM\EDT_Data\Tools\OZOP5Evd.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "OZO - Win32 Debug Glide with Editors"
# PROP BASE Use_MFC 2
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug Glide with Editors"
# PROP BASE Intermediate_Dir "Debug Glide with Editors"
# PROP BASE Target_Dir ""
# PROP Use_MFC 2
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "x:\CPA\EXE\main\EDT_Data\Objects"
# PROP Intermediate_Dir "Tmp\OZODFEvd"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "X:\CPA\Public" /D "CPA_WANTS_IMPORT" /D "ACTIVE_EDITOR" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CPA_VISUAL" /D "CPA_DEBUG" /D "_WINDLL" /D "_AFXDLL" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Z7 /Od /I "inc" /I "X:\CPA\Public" /I "t:\dxsdk\sdk\inc" /D "CPA_WANTS_IMPORT" /D "ACTIVE_EDITOR" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CPA_VISUAL" /D "CPA_DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "USE_ALTIMAPS" /Fr /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
# ADD RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 X:\CPA\Exe\GAM\GAMP5Evd.lib /nologo /subsystem:windows /dll /pdb:"x:\CPA\EXE\GAMEDT_Data\Tools\OZOP5Evd.pdb" /debug /machine:I386 /out:"X:\CPA\EXE\GAM\EDT_Data\Tools\OZOP5Evd.dll" /pdbtype:sept
# SUBTRACT BASE LINK32 /pdb:none
# ADD LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd.lib" /out:"X:\CPA\EXE\main\EDT_Data\Objects\OZODFEvd.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "OZO - Win32 Debug with Editors"
# Name "OZO - Win32 Debug Glide with Editors"
# Begin Group "Source Files"
# PROP Default_Filter "*.c *.cpp"
# Begin Source File
SOURCE=.\Src\_zDllCom.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\_zInterf.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\_zInterf.inc
# End Source File
# Begin Source File
SOURCE=.\Src\_zModif.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\_zObject.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\_zObject.def
# End Source File
# Begin Source File
SOURCE=.\Src\_zWEdit.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\_zWList1.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\_zWList2.cpp
# End Source File
# Begin Source File
SOURCE=.\Src\checkzones.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "*.h *.hpp"
# Begin Source File
SOURCE=.\Inc\_zInterf.hpp
# End Source File
# Begin Source File
SOURCE=.\Inc\_zModif.hpp
# End Source File
# Begin Source File
SOURCE=.\Inc\_zObject.hpp
# End Source File
# Begin Source File
SOURCE=..\..\Public\OZO\_zQuery.hpp
# End Source File
# Begin Source File
SOURCE=.\Inc\_zRes.h
# End Source File
# Begin Source File
SOURCE=.\Inc\_zWEdit.hpp
# End Source File
# Begin Source File
SOURCE=.\Inc\_zWList1.hpp
# End Source File
# Begin Source File
SOURCE=.\Inc\_zWList2.hpp
# End Source File
# Begin Source File
SOURCE=.\Inc\checkzones.h
# End Source File
# Begin Source File
SOURCE=..\..\Public\OZO.h
# End Source File
# Begin Source File
SOURCE=.\Inc\StdAfx.h
# End Source File
# End Group
# Begin Group "Resources"
# PROP Default_Filter "*.rc *.bmp *.ico"
# Begin Source File
SOURCE=.\Inc\Resource.rc
# End Source File
# Begin Source File
SOURCE=.\Res\zBigZone.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zBoundin.bmp
# End Source File
# Begin Source File
SOURCE=.\Res\zCommon.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zDragCur.cur
# End Source File
# Begin Source File
SOURCE=.\Res\zdx_dlgb.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zFamily.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zInstanc.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zModel.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zModule.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zNoDrag.cur
# End Source File
# Begin Source File
SOURCE=.\Res\zReturn.bmp
# End Source File
# Begin Source File
SOURCE=.\Res\zShared.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zShowAct.bmp
# End Source File
# Begin Source File
SOURCE=.\Res\zShowMod.bmp
# End Source File
# Begin Source File
SOURCE=.\Res\zShowOff.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zShowOn.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zShowZDx.bmp
# End Source File
# Begin Source File
SOURCE=.\Res\zTestPnt.bmp
# End Source File
# Begin Source File
SOURCE=.\Res\zUsedMod.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zVirge.ico
# End Source File
# Begin Source File
SOURCE=.\Res\zZone.ico
# End Source File
# End Group
# Begin Group "Zdd Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\zBox.bmp
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\zCone.bmp
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\Zdd.cnt
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\ZDD.HLP
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\Zdd.ini
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\zPoint.bmp
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\EDT_DATA\objects\Zdd\zSphere.bmp
# End Source File
# End Group
# Begin Group "Help Files"
# PROP Default_Filter ""
# Begin Group "Bmp"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\Hlp\Bmp\acteur.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\BoutAffi.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\BoutModu.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\commun.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\Display.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\dragdroi.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\famille.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\GeneMode.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\general.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\list1.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\list2.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\liste.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\listenom.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\ListModu.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\lunette.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\modele.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\ModifPar.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\Module.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\nomliste.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\partage.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\portrait.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\retour.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\Selected.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\vierge.bmp
# End Source File
# Begin Source File
SOURCE=.\Hlp\Bmp\Zone.bmp
# End Source File
# End Group
# Begin Group "Shg"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\Hlp\Shg\GENEMODE.SHG
# End Source File
# Begin Source File
SOURCE=.\Hlp\Shg\GENERAL.SHG
# End Source File
# End Group
# Begin Source File
SOURCE=.\Hlp\Zdd.hpj
# End Source File
# Begin Source File
SOURCE=.\Hlp\ZHELP.RTF
# End Source File
# End Group
# Begin Group "libs debug"
# PROP Default_Filter "*.lib"
# Begin Source File
SOURCE=..\..\Exe\Main\MaiDFEvd.lib
# End Source File
# Begin Source File
SOURCE=..\..\exe\main\edt_data\objects\OAcDFEvd.lib
# End Source File
# Begin Source File
SOURCE=..\..\Exe\Main\Edt_Data\Objects\OGDDFEvd.lib
# End Source File
# End Group
# Begin Source File
SOURCE=.\Ozo.mak
# PROP Exclude_From_Build 1
# End Source File
# End Target
# End Project

View File

@@ -0,0 +1,597 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="OZO"
ProjectGUID="{3BC505BC-7696-4851-902B-E779878A24B2}"
SccProjectName="&quot;$/CPA/TempGrp/OZO&quot;, LFCAAAAA"
SccAuxPath=""
SccLocalPath="."
SccProvider="MSSCCI:NXN alienbrain"
Keyword="MFCProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug Glide with Editors|Win32"
OutputDirectory="x:\CPA\EXE\main\EDT_Data\Objects"
IntermediateDirectory=".\Tmp\OZODFEvd"
ConfigurationType="2"
UseOfMFC="2"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="inc,X:\CPA\Public,t:\dxsdk\sdk\inc"
PreprocessorDefinitions="CPA_WANTS_IMPORT;ACTIVE_EDITOR;WIN32;_DEBUG;_WINDOWS;CPA_VISUAL;CPA_DEBUG;USE_ALTIMAPS"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderFile=".\Tmp\OZODFEvd/OZO.pch"
AssemblerListingLocation=".\Tmp\OZODFEvd/"
ObjectFile=".\Tmp\OZODFEvd/"
ProgramDataBaseFileName=".\Tmp\OZODFEvd/"
BrowseInformation="1"
BrowseInformationFile=".\Tmp\OZODFEvd/"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="1"
CompileAs="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="maidfevd.lib oacdfevd.lib ogddfevd.lib"
OutputFile="X:\CPA\EXE\main\EDT_Data\Objects\OZODFEvd.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="X:\cpa\exe\main\edt_data\objects;X:\cpa\exe\main\edt_data;X:\cpa\exe\main;X:\cpa\libd"
IgnoreDefaultLibraryNames=""
ModuleDefinitionFile=".\Src\_zObject.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="x:\CPA\EXE\main\EDT_Data\Objects/OZODFEvd.pdb"
SubSystem="2"
ImportLibrary="x:\CPA\EXE\main\EDT_Data\Objects/OZODFEvd.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName="x:\CPA\EXE\main\EDT_Data\Objects/OZO.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1036"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Debug with Editors|Win32"
OutputDirectory="x:\CPA\EXE\GAM\EDT_Data\Objects"
IntermediateDirectory=".\Tmp\OZOP5Evd"
ConfigurationType="2"
UseOfMFC="2"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="inc,X:\CPA\Public"
PreprocessorDefinitions="CPA_WANTS_IMPORT;ACTIVE_EDITOR;WIN32;_DEBUG;_WINDOWS;CPA_VISUAL;CPA_DEBUG;USE_ALTIMAPS"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderFile=".\Tmp\OZOP5Evd/OZO.pch"
AssemblerListingLocation=".\Tmp\OZOP5Evd/"
ObjectFile=".\Tmp\OZOP5Evd/"
ProgramDataBaseFileName=".\Tmp\OZOP5Evd/"
BrowseInformation="1"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="4"
CompileAs="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="X:\CPA\libd\GAMP5Evd.lib x:\CPA\Exe\main\Edt_Data\Objects\OGDdfEvd.lib"
OutputFile="X:\CPA\EXE\GAM\EDT_Data\Tools\OZOP5Evd.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
ModuleDefinitionFile=".\Src\_zObject.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="x:\CPA\EXE\GAM\EDT_Data\Objects/OZOP5Evd.pdb"
SubSystem="2"
ImportLibrary="x:\CPA\EXE\GAM\EDT_Data\Objects/OZOP5Evd.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName="x:\CPA\EXE\GAM\EDT_Data\Objects/OZO.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1036"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="*.c *.cpp">
<File
RelativePath="Src\_zDllCom.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\_zInterf.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\_zInterf.inc">
</File>
<File
RelativePath="Src\_zModif.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\_zObject.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\_zObject.def">
</File>
<File
RelativePath="Src\_zWEdit.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\_zWList1.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\_zWList2.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="Src\checkzones.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="*.h *.hpp">
<File
RelativePath="Inc\_zInterf.hpp">
</File>
<File
RelativePath="Inc\_zModif.hpp">
</File>
<File
RelativePath="Inc\_zObject.hpp">
</File>
<File
RelativePath="..\..\Public\OZO\_zQuery.hpp">
</File>
<File
RelativePath="Inc\_zRes.h">
</File>
<File
RelativePath="Inc\_zWEdit.hpp">
</File>
<File
RelativePath="Inc\_zWList1.hpp">
</File>
<File
RelativePath="Inc\_zWList2.hpp">
</File>
<File
RelativePath="Inc\checkzones.h">
</File>
<File
RelativePath="..\..\Public\OZO.h">
</File>
<File
RelativePath="Inc\StdAfx.h">
</File>
</Filter>
<Filter
Name="Resources"
Filter="*.rc *.bmp *.ico">
<File
RelativePath="Inc\Resource.rc">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="Inc"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="Inc"/>
</FileConfiguration>
</File>
<File
RelativePath="Res\zBigZone.ico">
</File>
<File
RelativePath="Res\zBoundin.bmp">
</File>
<File
RelativePath="Res\zCommon.ico">
</File>
<File
RelativePath="Res\zDragCur.cur">
</File>
<File
RelativePath="Res\zdx_dlgb.ico">
</File>
<File
RelativePath="Res\zFamily.ico">
</File>
<File
RelativePath="Res\zInstanc.ico">
</File>
<File
RelativePath="Res\zModel.ico">
</File>
<File
RelativePath="Res\zModule.ico">
</File>
<File
RelativePath="Res\zNoDrag.cur">
</File>
<File
RelativePath="Res\zReturn.bmp">
</File>
<File
RelativePath="Res\zShared.ico">
</File>
<File
RelativePath="Res\zShowAct.bmp">
</File>
<File
RelativePath="Res\zShowMod.bmp">
</File>
<File
RelativePath="Res\zShowOff.ico">
</File>
<File
RelativePath="Res\zShowOn.ico">
</File>
<File
RelativePath="Res\zShowZDx.bmp">
</File>
<File
RelativePath="Res\zTestPnt.bmp">
</File>
<File
RelativePath="Res\zUsedMod.ico">
</File>
<File
RelativePath="Res\zVirge.ico">
</File>
<File
RelativePath="Res\zZone.ico">
</File>
</Filter>
<Filter
Name="Zdd Files"
Filter="">
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\zBox.bmp">
</File>
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\zCone.bmp">
</File>
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\Zdd.cnt">
</File>
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\ZDD.HLP">
</File>
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\Zdd.ini">
</File>
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\zPoint.bmp">
</File>
<File
RelativePath="..\..\Exe\Main\EDT_DATA\objects\Zdd\zSphere.bmp">
</File>
</Filter>
<Filter
Name="Help Files"
Filter="">
<File
RelativePath="Hlp\Zdd.hpj">
</File>
<File
RelativePath="Hlp\ZHELP.RTF">
</File>
<Filter
Name="Bmp"
Filter="">
<File
RelativePath="Hlp\Bmp\acteur.bmp">
</File>
<File
RelativePath="Hlp\Bmp\BoutAffi.bmp">
</File>
<File
RelativePath="Hlp\Bmp\BoutModu.bmp">
</File>
<File
RelativePath="Hlp\Bmp\commun.bmp">
</File>
<File
RelativePath="Hlp\Bmp\Display.bmp">
</File>
<File
RelativePath="Hlp\Bmp\dragdroi.bmp">
</File>
<File
RelativePath="Hlp\Bmp\famille.bmp">
</File>
<File
RelativePath="Hlp\Bmp\GeneMode.bmp">
</File>
<File
RelativePath="Hlp\Bmp\general.bmp">
</File>
<File
RelativePath="Hlp\Bmp\list1.bmp">
</File>
<File
RelativePath="Hlp\Bmp\list2.bmp">
</File>
<File
RelativePath="Hlp\Bmp\liste.bmp">
</File>
<File
RelativePath="Hlp\Bmp\listenom.bmp">
</File>
<File
RelativePath="Hlp\Bmp\ListModu.bmp">
</File>
<File
RelativePath="Hlp\Bmp\lunette.bmp">
</File>
<File
RelativePath="Hlp\Bmp\modele.bmp">
</File>
<File
RelativePath="Hlp\Bmp\ModifPar.bmp">
</File>
<File
RelativePath="Hlp\Bmp\Module.bmp">
</File>
<File
RelativePath="Hlp\Bmp\nomliste.bmp">
</File>
<File
RelativePath="Hlp\Bmp\partage.bmp">
</File>
<File
RelativePath="Hlp\Bmp\portrait.bmp">
</File>
<File
RelativePath="Hlp\Bmp\retour.bmp">
</File>
<File
RelativePath="Hlp\Bmp\Selected.bmp">
</File>
<File
RelativePath="Hlp\Bmp\vierge.bmp">
</File>
<File
RelativePath="Hlp\Bmp\Zone.bmp">
</File>
</Filter>
<Filter
Name="Shg"
Filter="">
<File
RelativePath="Hlp\Shg\GENEMODE.SHG">
</File>
<File
RelativePath="Hlp\Shg\GENERAL.SHG">
</File>
</Filter>
</Filter>
<File
RelativePath="Ozo.mak">
<FileConfiguration
Name="Debug Glide with Editors|Win32"
ExcludedFromBuild="TRUE">
<Tool
Name="VCCustomBuildTool"/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32"
ExcludedFromBuild="TRUE">
<Tool
Name="VCCustomBuildTool"/>
</FileConfiguration>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@@ -0,0 +1,113 @@
//
// Common functions for Object DLL capabilities
//
#include "stdafx.h"
#include "afxdllx.h"
#include "ACP_Base.h"
#include "..\Main\Inc\_EditID.h"
#include "_zInterf.hpp"
// List of all the instances of the dll
static CList<CPA_DLLBase * , CPA_DLLBase *> g_oListOfInstances; //private internal
//------------------------------------------------------------------------
// Global vars
static char *gs_p_szCPAVersion = C_szCPAVersion;
static AFX_EXTENSION_MODULE NEAR extensionDLL = { NULL, NULL };
#ifdef DLL_ONLY_ONE_INSTANCE
static ZDx_Interface * gs_p_oZDxInterface = NULL;
#endif
//------------------------------------------------------------------------
// functions that are present in all DLL :
//------------------------------------------------------------------------
//========================================================================
// Get current CPA version
//========================================================================
extern "C" char __declspec(dllexport) *fn_p_szGetCPAVersion(void)
{
return gs_p_szCPAVersion;
}
//========================================================================
// Get type of this DLL
//========================================================================
extern "C" tdstDLLIdentity __declspec(dllexport) *fn_p_stGetDLLIdentity(void)
{
g_stZDxDllIdentity . eType = OBJECT_DLL;
g_stZDxDllIdentity . csName = C_szDLLZDxName;
g_stZDxDllIdentity . hModule = NULL;
g_stZDxDllIdentity . p_oListOfInstances = & g_oListOfInstances;
return & g_stZDxDllIdentity;
}
//========================================================================
// DLL int function
//========================================================================
extern "C" void __declspec(dllexport) fn_vInitDll(void)
{
new CDynLinkLibrary(extensionDLL);
}
//========================================================================
// DLL entry point
//========================================================================
extern "C" int __stdcall DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
if (!AfxInitExtensionModule(extensionDLL, hInstance))
return 0;
}
return 1;
}
//========================================================================
// Get the DLL
//========================================================================
extern "C" CPA_DLLBase __declspec(dllexport) *fn_p_oGetDLL(long lKey)
{
#ifdef DLL_ONLY_ONE_INSTANCE
switch(lKey)
{
case 0: // the game world
if (gs_p_oZDxInterface == NULL)
{
gs_p_oZDxInterface = new ZDx_Interface();
ASSERT(gs_p_oZDxInterface != NULL);
}
return gs_p_oZDxInterface;
break;
default:
return NULL;
}
#else //DLL_ONLY_ONE_INSTANCE
switch(lKey)
{
case 0: // the game world
return new ZDx_Interface();
break;
default:
return NULL;
}
#endif //DLL_ONLY_ONE_INSTANCE
}
//------------------------------------------------------------------------
// functions that are present in this type of DLL only :
//------------------------------------------------------------------------
#undef DLL_ONLY_ONE_INSTANCE

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,657 @@
//*****************************************************************************
//* _zModif.hpp *
//*****************************************************************************
//* *
//* This file contains the definitions of the modif classes *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
// "standard" include
#include "stdafx.h"
#include "ACP_Base.h"
#include "TFA.h" // Family dll include
#include "..\Main\Inc\_EditID.h"
#include "ITF.h"
// personal include
#include "_zModif.hpp"
#include "_zObject.hpp"
#include "_zInterf.hpp"
#include "_zWList1.hpp"
#include "_zWList2.hpp"
#include "_zWEdit.hpp"
#include "OGD.h" // 3dGeom dll include
#include "OAC.h" // Actors dll include
//-----------------------------------------------------------------------------
// class ZDx_Modif - constructor
//-----------------------------------------------------------------------------
ZDx_Modif::ZDx_Modif (ZDx_Object * _pZDxObject , char * ModifName)
: CPA_Modif (0 , ModifName , FALSE)
{
m_BackupName = NULL;
m_pBackupData = NULL;
m_bIsDoingUndo = FALSE;
SetZDxObject (_pZDxObject);
m_bFirstTime = TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - destructor
//-----------------------------------------------------------------------------
ZDx_Modif::~ZDx_Modif ()
{
if (m_BackupName) free (m_BackupName);
if (m_pBackupData) delete m_pBackupData;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - BackupSphereData
// Make a copy of all the parameters of a sphere ZDx object
//-----------------------------------------------------------------------------
void ZDx_Modif::BackupSphereData ()
{
tdstBackupDataForSphere * pBackupData = new tdstBackupDataForSphere;
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Sphere3D * pSphere = (Sphere3D *)((ZDx_Shape *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
pBackupData -> stCenter = pSphere -> GetCenter ();
pBackupData -> Radius = pSphere -> GetRadius ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
m_pBackupData = pBackupData;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - BackupBoxData
// Make a copy of all the parameters of a box ZDx object
//-----------------------------------------------------------------------------
void ZDx_Modif::BackupBoxData ()
{
tdstBackupDataForBox * pBackupData = new tdstBackupDataForBox;
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Box3D * pBox = (Box3D *)((ZDx_Shape *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
pBackupData -> stMinPoint = pBox -> GetMinPoint ();
pBackupData -> stMaxPoint = pBox -> GetMaxPoint ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
m_pBackupData = pBackupData;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - BackupPointData
// Make a copy of all the parameters of a point ZDx object
//-----------------------------------------------------------------------------
void ZDx_Modif::BackupPointData ()
{
tdstBackupDataForPoint * pBackupData = new tdstBackupDataForPoint;
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Point3D * pPoint = (Point3D *)((ZDx_Point *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
pBackupData -> stPoint = pPoint -> GetPoint ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
m_pBackupData = pBackupData;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - BackupConeData
// Make a copy of all the parameters of a cone ZDx object
//-----------------------------------------------------------------------------
void ZDx_Modif::BackupConeData ()
{
tdstBackupDataForCone * pBackupData = new tdstBackupDataForCone;
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Cone3D * pCone = (Cone3D *)((ZDx_Shape *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
pBackupData -> stTopPoint = pCone -> GetTopPoint ();
pBackupData -> stBasePoint = pCone -> GetBasePoint ();
pBackupData -> Radius = pCone -> GetRadius ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
m_pBackupData = pBackupData;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - Set_ZDx_Object
// set the ZDx object which will be modified and make a copy of its
// actual parameters for the Undo
//-----------------------------------------------------------------------------
void ZDx_Modif::SetZDxObject (ZDx_Object * _pZDxObject)
{
if (m_bIsDoingUndo) return;
m_pZDxObject = _pZDxObject; // we keep a pointer to the ZDx object which will be modified
if (m_BackupName) free (m_BackupName);
m_BackupName = strdup (_pZDxObject -> GetZDxName ()); // we make a copy of the ZDx name
if (m_pBackupData) delete (m_pBackupData);
switch (_pZDxObject -> GetZDxGeometricType ()) // we make a copy of the data, depending of the type of the ZDx
{
case eSphere : BackupSphereData (); break;
case eBox : BackupBoxData (); break;
case ePoint : BackupPointData (); break;
case eCone : BackupConeData (); break;
default : ASSERT (0); break;
}
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - ExchangeBackupSphereData
// exchange the actual and backuped data for a ZDx of type sphere
//-----------------------------------------------------------------------------
void ZDx_Modif::ExchangeBackupSphereData ()
{
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Sphere3D * pSphere = (Sphere3D *)((ZDx_Shape *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
tdstBackupDataForSphere * pBackupData = (tdstBackupDataForSphere *) m_pBackupData;
// exchange the center
MTH3D_tdstVector Center = pSphere -> GetCenter ();
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
pSphere -> SetCenter (& pBackupData -> stCenter);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
pBackupData -> stCenter = Center;
// exchange the radius
GLI_tdxValue Radius = pSphere -> GetRadius ();
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
pSphere -> SetRadius (& pBackupData -> Radius);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
pBackupData -> Radius = Radius;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - ExchangeBackupBoxData
// exchange the actual and backuped data for a ZDx of type box
//-----------------------------------------------------------------------------
void ZDx_Modif::ExchangeBackupBoxData ()
{
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Box3D * pBox = (Box3D *)((ZDx_Shape *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
tdstBackupDataForBox * pBackupData = (tdstBackupDataForBox *) m_pBackupData;
// exchange the min and the max point
MTH3D_tdstVector MinPoint = pBox -> GetMinPoint ();
MTH3D_tdstVector MaxPoint = pBox -> GetMaxPoint ();
MTH3D_tdstVector Dummy = pBackupData -> stMinPoint;
pBox -> SetMinPoint (& Dummy);
Dummy = pBackupData -> stMaxPoint;
pBox -> SetMaxPoint (& Dummy);
Dummy = pBackupData -> stMinPoint;
pBox -> SetMinPoint (& Dummy);
pBackupData -> stMinPoint = MinPoint;
pBackupData -> stMaxPoint = MaxPoint;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - ExchangeBackupPointData
// exchange the actual and backuped data for a ZDx of type point
//-----------------------------------------------------------------------------
void ZDx_Modif::ExchangeBackupPointData ()
{
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Point3D * pPoint = (Point3D *)((ZDx_Point *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
tdstBackupDataForPoint * pBackupData = (tdstBackupDataForPoint *) m_pBackupData;
// exchange the position of the point
MTH3D_tdstVector Point = pPoint -> GetPoint ();
pPoint -> SetPoint (& pBackupData -> stPoint);
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
// if (m_pZDxObject -> GetZDxType () == eTestPoint)
// ANNECY AV CLEAN_MEC {
// ((ZDx_Point *) m_pZDxObject -> GetZDxShape ()) -> UpdateTestPointPosition ();
// END ANNECY AV }
//ENDROMTEAM WorldEditor (Cristi Petrescu)
pBackupData -> stPoint = Point;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - ExchangeBackupConeData
// exchange the actual and backuped data for a ZDx of type cone
//-----------------------------------------------------------------------------
void ZDx_Modif::ExchangeBackupConeData ()
{
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Cone3D * pCone = (Cone3D *)((ZDx_Shape *) m_pZDxObject -> GetZDxShape ()) -> GetGeometric3dObject ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
tdstBackupDataForCone * pBackupData = (tdstBackupDataForCone *) m_pBackupData;
// exchange the top and base point
MTH3D_tdstVector BasePoint = pCone -> GetBasePoint ();
MTH3D_tdstVector TopPoint = pCone -> GetTopPoint ();
MTH3D_tdstVector Dummy = pBackupData -> stBasePoint;
pCone -> SetBasePoint (& Dummy);
Dummy = pBackupData -> stTopPoint;
pCone -> SetTopPoint (& Dummy);
Dummy = pBackupData -> stBasePoint;
pCone -> SetBasePoint (& Dummy);
pBackupData -> stBasePoint = BasePoint;
pBackupData -> stTopPoint = TopPoint;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - Undo
// we cancel the modification by taking the previous datas which were saved
// in fact, we exchange the old and the actual datas (for the Redo)
//-----------------------------------------------------------------------------
ZDx_Modif::Undo (BOOL _bRefreshWindow)
{
m_bIsDoingUndo = TRUE;
ZDx_Interface * pZDxInterface = (ZDx_Interface *) m_pZDxObject -> GetEditor ();
pZDxInterface -> IWillRefreshDisplay (C_lModifZDx);
// we exchange old and actual ZDx names if they are different
if (strcmp (m_pZDxObject -> GetZDxName () , m_BackupName) != 0)
{
char TempString [255];
strcpy (TempString , m_BackupName);
free (m_BackupName);
m_BackupName = strdup (m_pZDxObject -> GetZDxName ());
m_pZDxObject -> SetZDxName (TempString);
}
switch (m_pZDxObject -> GetZDxGeometricType ())
{
case eSphere : ExchangeBackupSphereData (); break;
case eBox : ExchangeBackupBoxData (); break;
case ePoint : ExchangeBackupPointData (); break;
case eCone : ExchangeBackupConeData (); break;
default: ASSERT (0); break;
}
// Refresh the edit window if needed
if (_bRefreshWindow)
{
/*
if (m_pZDxObject -> GetZDxType () == eBoundingVolume)
pZDxInterface -> GetList2Window () -> CreateBoundingVolume (pZDxInterface -> GetList2Window () -> GetActorSuperObject () , m_pZDxObject);
else
*/
// ANNECY AV CLEAN_MEC {
/*
if (m_pZDxObject -> GetZDxType () == eTestPoint)
pZDxInterface -> GetList2Window () -> CreateListOfTestPoint (pZDxInterface -> GetList2Window () -> GetActorSuperObject () ,
pZDxInterface -> GetList2Window () -> GetListOfTestPoint () ,
TRUE);
else
*/
pZDxInterface -> GetList2Window () -> ReCreateListOfZDx (TRUE , FALSE);
// END ANNECY AV }
}
pZDxInterface -> RefreshDisplay (C_lModifZDx , _bRefreshWindow);
// We will have to save the geometric object
// ANNECY AV CLEAN_MEC {
/*
if (m_pZDxObject -> GetZDxType () == eTestPoint) pZDxInterface -> GetList2Window () -> GetListOfTestPoint () -> fn_vNotifySave ();
else
*/
m_pZDxObject -> fn_vNotifySave ();
// END ANNECY AV }
m_bIsDoingUndo = FALSE;
return TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - Undo
// The standard Undo : we refresh the window by default
//-----------------------------------------------------------------------------
ZDx_Modif::Undo ()
{
return Undo (TRUE);
}
//-----------------------------------------------------------------------------
// class ZDx_Modif - Do
// Do and Undo are exactly the same thing in this case, so we just call the Undo method
//-----------------------------------------------------------------------------
ZDx_Modif::Do ()
{
if (m_bFirstTime)
{
m_bFirstTime = FALSE;
return Undo (!((ZDx_Interface *) m_pZDxObject->GetEditor())->GetList1Window()->IsEditingBoundingVolume());
}
else
return Undo (TRUE);
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Exchange - constructor
//-----------------------------------------------------------------------------
ZDx_Modif_Exchange::ZDx_Modif_Exchange
(ZDx_Object * _pZDxObject1 , long _lIndexInList1 , EdtList * _pZDxList1 , CPA_SuperObject * _pActorSuperObject1 ,
ZDx_Object * _pZDxObject2 , long _lIndexInList2 , EdtList * _pZDxList2 , CPA_SuperObject * _pActorSuperObject2 ,
ZDx_Interface * _pZDxInterface)
: CPA_Modif (0 , "Exchange zones" , FALSE)
{
m_pZDxInterface = _pZDxInterface;
m_pZDxObject1 = _pZDxObject1;
m_pZDxObject2 = _pZDxObject2;
m_lIndexInList1 = _lIndexInList1;
m_lIndexInList2 = _lIndexInList2;
m_pZDxList1 = _pZDxList1;
m_pZDxList2 = _pZDxList2;
m_eTypeOfList1 = m_pZDxInterface -> ConvertListTypeToZDxType (m_pZDxList1 -> fn_csGetListType ());
m_eTypeOfList2 = m_pZDxInterface -> ConvertListTypeToZDxType (m_pZDxList2 -> fn_csGetListType ());
m_pActorSuperObject1 = _pActorSuperObject1;
m_pActorSuperObject2 = _pActorSuperObject2;
m_pActor1 = _pActorSuperObject1 -> GetObject ();
m_pActor2 = _pActorSuperObject2 -> GetObject ();
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Exchange - Do
// We exchange the two ZDx
//-----------------------------------------------------------------------------
BOOL ZDx_Modif_Exchange::Do ()
{
// Exchange the type of the ZDx objects
if (m_pZDxObject1) m_pZDxObject1 -> SetZDxType (m_eTypeOfList2);
if (m_pZDxObject2) m_pZDxObject2 -> SetZDxType (m_eTypeOfList1);
// Put the second object into the first list
m_pZDxInterface -> SetZDxObjectInList (m_pActor1 , m_eTypeOfList1 , m_lIndexInList1 , m_pZDxObject2);
// Now, look if the list has changed. If so, the list has been duplicated, so we must do the modification
// into the old and the new list.
EdtList * pNewList1 = m_pZDxInterface -> GetZDxList (m_pActor1 , m_eTypeOfList1);
if (pNewList1 != m_pZDxList1)
{
CPA_BaseObject * pActorUsingThisList = (CPA_BaseObject *) m_pActor1 -> GetEditor () ->
OnQueryAction (m_pZDxInterface , C_uiActor_GetFirstActorUsingThisList , (long) pNewList1);
m_pZDxInterface -> SetZDxObjectInList (pActorUsingThisList ,
m_eTypeOfList2 , m_lIndexInList2 , m_pZDxObject1 , eZDxModifyAllActors);
}
// Put the first object into the second list
m_pZDxInterface -> SetZDxObjectInList (m_pActor2 , m_eTypeOfList2 , m_lIndexInList2 , m_pZDxObject1 , eZDxModifyAllActors);
// Refresh the lists
m_pZDxInterface -> GetList1Window () -> ReCreateCurrentList ();
if (m_pZDxObject1) m_pZDxInterface -> GetList2Window () -> SelectZDx (m_pZDxObject1);
return TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Exchange - Undo
// We exchange the two ZDx
//-----------------------------------------------------------------------------
BOOL ZDx_Modif_Exchange::Undo ()
{
// Exchange the type of the ZDx objects
if (m_pZDxObject1) m_pZDxObject1 -> SetZDxType (m_eTypeOfList1);
if (m_pZDxObject2) m_pZDxObject2 -> SetZDxType (m_eTypeOfList2);
// Look if the list has changed. If so, we must delete the new list and put the old one
EdtList * pNewList1 = m_pZDxInterface -> GetZDxList (m_pActor1 , m_eTypeOfList1);
if (pNewList1 != m_pZDxList1)
{
m_pZDxInterface -> DeleteZDxList (m_pActor1 , m_eTypeOfList1);
m_pZDxInterface -> SetZDxList (m_pActor1 , m_eTypeOfList1 , m_pZDxList1);
}
EdtList * pNewList2 = m_pZDxInterface -> GetZDxList (m_pActor2 , m_eTypeOfList2);
if (pNewList2 != m_pZDxList2)
{
m_pZDxInterface -> DeleteZDxList (m_pActor2 , m_eTypeOfList2);
m_pZDxInterface -> SetZDxList (m_pActor2 , m_eTypeOfList2 , m_pZDxList2);
}
// Exchange the two ZDx objects
m_pZDxInterface -> SetZDxObjectInList (m_pActor1 , m_eTypeOfList1 , m_lIndexInList1 , m_pZDxObject1 , eZDxModifyAllActors);
m_pZDxInterface -> SetZDxObjectInList (m_pActor2 , m_eTypeOfList2 , m_lIndexInList2 , m_pZDxObject2 , eZDxModifyAllActors);
// Refresh the list
m_pZDxInterface -> GetList1Window () -> ReCreateCurrentList ();
if (m_pZDxObject1) m_pZDxInterface -> GetList2Window () -> SelectZDx (m_pZDxObject1);
return TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Delete - constructor
//-----------------------------------------------------------------------------
ZDx_Modif_Delete::ZDx_Modif_Delete
(CPA_SuperObject * _pZDxSuperObject , long _lIndexInList , EdtList * _pZDxList , CPA_SuperObject * _pModuleSuperObject ,
CPA_SuperObject * _pActorSuperObject , ZDx_Interface * _pZDxInterface)
: CPA_Modif (0 , "Delete zone" , FALSE)
{
// One and only one of the two pointers must be defined
ASSERT ((_pActorSuperObject != NULL) ^ (_pModuleSuperObject != NULL));
m_pZDxInterface = _pZDxInterface;
m_pZDxSuperObject = _pZDxSuperObject;
m_pZDxObject = (ZDx_Object *) _pZDxSuperObject -> GetObject ();
m_lIndexInList = _lIndexInList;
m_pZDxList = _pZDxList;
m_pActorSuperObject = _pActorSuperObject;
m_pActor = _pActorSuperObject ? _pActorSuperObject -> GetObject () : NULL;
m_pModuleSuperObject = _pModuleSuperObject;
m_pModule = (EditorPO *) (_pModuleSuperObject ? _pModuleSuperObject -> GetObject () : NULL);
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Delete - destructor
//-----------------------------------------------------------------------------
ZDx_Modif_Delete::~ZDx_Modif_Delete ()
{
// We do not delete the ZDx object, because it can be shared by several modules
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Delete - Do
// We delete the ZDx
//-----------------------------------------------------------------------------
BOOL ZDx_Modif_Delete::Do ()
{
m_pZDxInterface -> IWillRefreshDisplay (C_lModifDeleteDo);
if (m_pZDxObject -> GetZDxType () == eBoundingVolume)
{
// We get the family of the actor
CPA_Family * pFamily = (CPA_Family *) m_pActor -> GetOwner () -> GetOwner ();
// We set the reference of the bounding volume to NULL
pFamily -> mfn_vSetBoundingVolume (NULL);
// Remove the bounding volume from the hierarchy
m_pZDxInterface -> DeleteZDxObjectFromHierarchy (m_pZDxSuperObject);
m_pZDxInterface -> GetList2Window () -> CreateBoundingVolume (m_pActorSuperObject , NULL);
}
else
// ANNECY AV CLEAN_MEC {
/*
if (m_pZDxObject -> GetZDxType () == eTestPoint)
{
// We get the current list of test points
CPA_TestPointsList * pListOfTestPoint = m_pZDxInterface -> GetList2Window () -> GetListOfTestPoint ();
ASSERT (pListOfTestPoint);
// We find the test point of the list that have this ZDx object
POSITION PosTestPoint = pListOfTestPoint -> m_oListOfTestPoints . GetHeadPosition ();
CPA_TestPointNode * pTestPoint;
while (PosTestPoint)
{
pTestPoint = pListOfTestPoint -> m_oListOfTestPoints . GetAt (PosTestPoint);
if (pTestPoint -> mfn_p_oGetZdxObject () == m_pZDxObject) break;
pListOfTestPoint -> m_oListOfTestPoints . GetNext (PosTestPoint);
}
ASSERT (PosTestPoint); // PosTestPoint == NULL --> not found -> error
// Remove the test point from the list but do not delete it
pListOfTestPoint -> m_oListOfTestPoints . RemoveAt (PosTestPoint);
m_pZDxInterface -> GetList2Window () -> CreateListOfTestPoint (m_pActorSuperObject , pListOfTestPoint);
pListOfTestPoint -> fn_vNotifySave ();
}
else
*/
// END ANNECY AV }
{
// Remove the ZDx object from the list or from the physical object
if (m_pActor) m_pZDxInterface -> RemoveZDxFromList (m_pZDxList , m_pZDxObject , m_pActor , TRUE);
else m_pZDxInterface -> SetZDxOfPhysicalObject (m_pModule , NULL ,m_pZDxObject -> GetZDxType ());
// Delete the ZDx object from the hierarchy
m_pZDxInterface -> DeleteZDxObjectFromHierarchy (m_pZDxSuperObject);
// Refresh the list
m_pZDxInterface -> GetList2Window () -> ReCreateListOfZDx (TRUE , FALSE);
// We show the ZDx again
if (m_pActor) m_pZDxInterface -> ShowZDxOfActor (m_pActorSuperObject , m_pZDxInterface -> GetList2Window () -> GetZDxTypeToShow ());
else m_pZDxInterface -> ShowZDxOfModule (m_pModuleSuperObject , m_pZDxInterface -> GetList2Window () -> GetZDxTypeToShow ());
}
// Say that the section of the graphic object must be deleted
// ANNECY AV CLEAN_MEC {
/*
if (m_pZDxObject -> GetZDxType () == eTestPoint) m_pZDxInterface -> GetList2Window () -> GetListOfTestPoint () -> fn_vNotifySave ();
else
*/
m_pZDxObject -> fn_vNotifyUnSave ();
// END ANNECY AV }
m_pZDxInterface -> RefreshDisplay (C_lModifDeleteDo);
Done ();
return TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Delete - Undo
// We reinsert the ZDx
//-----------------------------------------------------------------------------
BOOL ZDx_Modif_Delete::Undo ()
{
m_pZDxInterface -> IWillRefreshDisplay (C_lModifDeleteUndo);
// Say that the section of the graphic object must not be deleted (must be done before it is inserted into the hierarchy)
// ANNECY AV CLEAN_MEC {
/*
if (m_pZDxObject -> GetZDxType () == eTestPoint) m_pZDxInterface -> GetList2Window () -> GetListOfTestPoint () -> fn_vNotifySave ();
else
*/
m_pZDxObject -> fn_vNotifyRestore ();
// END ANNECY AV }
if (m_pZDxObject -> GetZDxType () == eBoundingVolume)
{
// We get the family of the actor
CPA_Family * pFamily = (CPA_Family *) m_pActor -> GetOwner () -> GetOwner ();
// We set the reference to the new bounding volume
pFamily -> mfn_vSetBoundingVolume (m_pZDxObject);
// Show the bounding volume
// m_pZDxInterface -> ShowBoundingVolume (m_pActorSuperObject , m_pZDxObject , TRUE);
m_pZDxInterface -> GetList2Window () -> CreateBoundingVolume (m_pActorSuperObject , m_pZDxObject);
}
else
// ANNECY AV CLEAN_MEC {
/*
if (m_pZDxObject -> GetZDxType () == eTestPoint)
{
CPA_TestPointNode * pTestPoint = m_pZDxObject -> GetTestPoint ();
ASSERT (pTestPoint);
CPA_TestPointsList * pListOfTestPoint = pTestPoint -> mfn_p_oGetList ();
// Reinsert the test point into the list of test points
pListOfTestPoint -> m_oListOfTestPoints . AddTail (pTestPoint);
m_pZDxInterface -> GetList2Window () -> CreateListOfTestPoint (m_pActorSuperObject , pListOfTestPoint);
pListOfTestPoint -> fn_vNotifySave ();
}
else
*/
// END ANNECY AV }
{
// Reinsert the ZDx object into the hierarchy (must be done before it is inserted into the list (because of fn_bAcceptAsParent))
m_pZDxInterface -> InsertZDxObjectIntoHierarchy (m_pZDxSuperObject , m_pActorSuperObject ? m_pActorSuperObject : m_pModuleSuperObject);
// Reinsert the ZDx object into the list or into the physical object
if (m_pActor) m_pZDxInterface -> InsertZDxIntoList (m_pZDxList , m_pZDxObject , & m_lIndexInList , m_pActor , eZDxModifyAllActors);
else m_pZDxInterface -> SetZDxOfPhysicalObject (m_pModule , m_pZDxObject , m_pZDxObject -> GetZDxType ());
// Refresh the list
m_pZDxInterface -> GetList2Window () -> ReCreateListOfZDx (TRUE , FALSE);
// We show the ZDx again
if (m_pActorSuperObject) m_pZDxInterface -> ShowZDxOfActor (m_pActorSuperObject , m_pZDxInterface -> GetList2Window () -> GetZDxTypeToShow ());
else m_pZDxInterface -> ShowZDxOfModule (m_pModuleSuperObject , m_pZDxInterface -> GetList2Window () -> GetZDxTypeToShow ());
}
m_pZDxInterface -> RefreshDisplay (C_lModifDeleteUndo);
Undone ();
return TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Change_ZDx_List - constructor
//-----------------------------------------------------------------------------
ZDx_Modif_Change_ZDx_List::ZDx_Modif_Change_ZDx_List (ZDx_Interface * _pZDxInterface ,
CPA_SuperObject * _pActorSuperObject ,
tdeZDxType _eTypeOfList ,
EdtList * _pZDxList)
: CPA_Modif (0 , "Change list of zones" , FALSE)
{
m_pZDxInterface = _pZDxInterface;
m_pActorSuperObject = _pActorSuperObject;
m_pActor = _pActorSuperObject -> GetObject ();
m_eTypeOfList = _eTypeOfList;
m_pZDxList = _pZDxList;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Change_ZDx_List - Undo
// We exchange m_pZDxList and the current list
//-----------------------------------------------------------------------------
BOOL ZDx_Modif_Change_ZDx_List::Undo ()
{
// Hide the zone of the actor
m_pZDxInterface -> ShowZDxOfActor (m_pActorSuperObject , C_ucHideAllZDx);
// Exchange current and backuped ZDx list
EdtList * pCurrentList = m_pZDxInterface -> GetZDxList (m_pActor , m_eTypeOfList);
m_pZDxInterface -> SetZDxList (m_pActor , m_eTypeOfList , m_pZDxList);
m_pZDxList = pCurrentList;
// Refresh the lists
m_pZDxInterface -> GetList1Window () -> ReCreateCurrentList ();
m_pZDxInterface -> GetList2Window () -> SelectZDx (m_eTypeOfList , 0); // Select the first ZDx object of the same type as the list
return TRUE;
}
//-----------------------------------------------------------------------------
// class ZDx_Modif_Change_ZDx_List - Do
// Do and Undo are the same in this case, so we just call the Undo method
//-----------------------------------------------------------------------------
BOOL ZDx_Modif_Change_ZDx_List::Do ()
{
return Undo ();
}

View File

@@ -0,0 +1,651 @@
//*****************************************************************************
//* _zObject.cpp *
//*****************************************************************************
//* *
//* This file contains all the methods of the ZDx_Object class *
//* and its inherited classes *
//* *
//*****************************************************************************
//* Author : Alexis Vaisse *
//*****************************************************************************
// "standard" include
#include "stdafx.h"
#include "ACP_Base.h"
#include "TFA.h" // Family dll include
#define HieFriend
#include "IncGAM.h"
#include "IncITF.h"
#include "..\Main\Inc\_EditID.h"
#include "OGD.h" // 3dGeom dll include
#include "OAC.h" // Actor dll include
#include "OPD.h" // Physical object dll include
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
#include "ozo.h"
//ENDROMTEAM WorldEditor (Cristi Petrescu)
// personal include
#include "_zObject.hpp"
#include "_zInterf.hpp"
//*****************************************************************************
// class ZDx_Object
//*****************************************************************************
//DeclareTemplateStatic (ACP_tdxHandleOfObject);
//-----------------------------------------------------------------------------
// class ZDx_Object - GiveZDxID
// Give the ID of a ZDx object, depending on its type
//-----------------------------------------------------------------------------
long ZDx_Object::GiveZDxID (tdeZDxType _eZDxType)
{
switch (_eZDxType)
{
case eZdd : return C_lZDD;
case eZde : return C_lZDE;
case eZdm : return C_lZDM;
case eZdr : return C_lZDR;
case eBoundingVolume : return C_lBoundingVolume;
// ANNECY AV CLEAN_MEC {
// case eTestPoint : return C_lTestPoint;
// END ANNECY AV }
default : ASSERT (0);
return C_lZDD;
}
}
//-----------------------------------------------------------------------------
// class ZDx_Object - constructor
//-----------------------------------------------------------------------------
ZDx_Object::ZDx_Object (ZDx_Interface * _pZDxInterface , const CString _csZDxTypeName ,
tdeZDxType _eZDxType , tdeZDxGeometricType _eZDxGeometricType ,
CString _csZDxName , CPA_BaseObject * _pOwner ,
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Shape3D * _pGeometric3dObject /*, ACP_tdxHandleOfElement _hHandleOfElement*/)
//ENDROMTEAM WorldEditor (Cristi Petrescu)
// ANNECY AV CLEAN_MEC {
: CPA_SaveObject (_pZDxInterface , _csZDxTypeName , /* _eZDxType == eTestPoint ? E_ss_NoSave : */ E_ss_Responsible , _pOwner) ,
// END ANNECY AV }
CPA_EdMot<ACP_tdxHandleOfObject> ((ACP_tdxHandleOfObject) _pGeometric3dObject -> GetData ())
{
m_pZDxShape = 0; // Because it can be used by fn_csComputeReferencedSectionName called by fn_eRename
// Initialisation for base class
SetSectionData (this);
SetDataPath ("");
SetReferencedSectionName ("");
// Internal initialisation
SetZDxType (_eZDxType);
SetZDxGeometricType (_eZDxGeometricType);
m_eDisplayType = eNotDisplayed;
m_bMotorDisplay = TRUE;
m_lIndexInList = -1;
// ANNECY AV CLEAN_MEC {
// m_pTestPoint = NULL;
// END ANNECY AV }
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
// switch (_eZDxGeometricType)
// {
// case eSphere : m_pZDxShape = new ZDx_Shape (this , _pGeometric3dObject /*, _hHandleOfElement*/); break;
// case eBox : m_pZDxShape = new ZDx_Shape (this , _pGeometric3dObject /*, _hHandleOfElement*/); break;
// case ePoint : m_pZDxShape = new ZDx_Shape (this , _pGeometric3dObject /*, _hHandleOfElement*/); break;
// case eCone : m_pZDxShape = new ZDx_Shape (this , _pGeometric3dObject /*, _hHandleOfElement*/); break;
// default: ASSERT (0); break;
// }
m_pZDxShape = new ZDx_Shape (this , _pGeometric3dObject);
//ENDROMTEAM WorldEditor (Cristi Petrescu)
// Set the name
if (fn_eRename (_csZDxName) != E_mc_None) SetDefaultValidName ();
fn_vUpdateSectionName ();
}
//-----------------------------------------------------------------------------
// class ZDx_Object - copy constructor
//-----------------------------------------------------------------------------
ZDx_Object::ZDx_Object (ZDx_Object & _pZDxObjectToCopy)
: CPA_SaveObject (_pZDxObjectToCopy)
{
SetZDxType (_pZDxObjectToCopy . GetZDxType ());
SetZDxGeometricType (_pZDxObjectToCopy . GetZDxGeometricType ());
m_eDisplayType = eNotDisplayed;
m_bMotorDisplay = TRUE;
m_lIndexInList = -1;
// ANNECY AV CLEAN_MEC {
// m_pTestPoint = NULL;
// END ANNECY AV }
// Create a new geometric object
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
//ACP_tdxHandleOfElement HandleOfElement;
Shape3D * pGeometric3dObject = ((ZDx_Interface *) GetEditor ()) ->
CreateGraphicObject (_pZDxObjectToCopy . GetZDxGeometricType () /*, & HandleOfElement */, "" , ""); //??? Remplir DataPath et ReferenceSectionName
//ENDROMTEAM WorldEditor (Cristi Petrescu)
SetStruct ((ACP_tdxHandleOfObject) _pZDxObjectToCopy . GetEngineStruct ());
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
MTH3D_tdstVector stPoint;
GLI_tdxValue Length;
Shape3D *pShape3DToCopy = _pZDxObjectToCopy . GetZDxShape () -> GetGeometric3dObject ();
switch (m_eZDxGeometricType)
{
case eSphere :
m_pZDxShape = new ZDx_Shape (this , pGeometric3dObject);/*, HandleOfElement ,
(ZDx_Sphere *) _pZDxObjectToCopy . GetZDxShape ());*/
stPoint = ((Sphere3D *)pShape3DToCopy) -> GetCenter ();
((Sphere3D *) pGeometric3dObject) -> SetCenter (& stPoint);
Length = ((Sphere3D *)pShape3DToCopy) -> GetRadius ();
((Sphere3D *) pGeometric3dObject) -> SetRadius (& Length);
break;
case eBox :
m_pZDxShape = new ZDx_Shape (this , pGeometric3dObject); /*, HandleOfElement ,
(ZDx_Box *) _pZDxObjectToCopy . GetZDxShape ());*/
stPoint = ((Box3D *) pShape3DToCopy) -> GetMinPoint ();
((Box3D *) pGeometric3dObject) -> SetMinPoint (& stPoint);
stPoint = ((Box3D *) pShape3DToCopy) -> GetMaxPoint ();
((Box3D *) pGeometric3dObject) -> SetMaxPoint (& stPoint);
stPoint = ((Box3D *) pShape3DToCopy) -> GetMinPoint ();
((Box3D *) pGeometric3dObject) -> SetMinPoint (& stPoint); // To be sure it is copied (because we must have Min <= Max)
break;
case ePoint :
m_pZDxShape = new ZDx_Point (this , pGeometric3dObject /*, HandleOfElement */,
(ZDx_Point *) _pZDxObjectToCopy . GetZDxShape ());
break;
case eCone :
m_pZDxShape = new ZDx_Shape (this , pGeometric3dObject); /*, HandleOfElement ,
(ZDx_Cone *) _pZDxObjectToCopy . GetZDxShape ());*/
stPoint = ((Cone3D *) pShape3DToCopy) -> GetBasePoint ();
((Cone3D *) pGeometric3dObject) -> SetBasePoint (& stPoint);
stPoint = ((Cone3D *) pShape3DToCopy) -> GetTopPoint ();
((Cone3D *) pGeometric3dObject) -> SetTopPoint (& stPoint);
Length = ((Cone3D *) pShape3DToCopy) -> GetRadius ();
((Cone3D *) pGeometric3dObject) -> SetRadius (& Length);
break;
default: ASSERT (0);
break;
}
//ENDROMTEAM WorldEditor (Cristi Petrescu)
}
//-----------------------------------------------------------------------------
// class ZDx_Object - destructor
//-----------------------------------------------------------------------------
ZDx_Object::~ZDx_Object ()
{
delete m_pZDxShape -> GetGeometric3dObject (); // We delete the geometric object
delete m_pZDxShape; // and the ZDx shape object
// ANNECY AV CLEAN_MEC {
// if (m_pTestPoint) delete m_pTestPoint;
// END ANNECY AV }
}
//-----------------------------------------------------------------------------
// class ZDx_Object - InitZDxObject
// static initialization : this function must be called once to initialize the CPA_EdMot functions
//-----------------------------------------------------------------------------
void ZDx_Object::InitZDxObject ()
{
CPA_EdMot<ACP_tdxHandleOfObject>::Init (CreateZDxEngineStruct , CopyZDxEngineStruct , DeleteZDxEngineStruct);
}
//-----------------------------------------------------------------------------
// class ZDx_Object - CreateZDxEngineStruct
// When created, a ZDx_Object has no engine object
// It will be added later
//-----------------------------------------------------------------------------
ACP_tdxHandleOfObject ZDx_Object::CreateZDxEngineStruct ()
{
return NULL;
}
//-----------------------------------------------------------------------------
// class ZDx_Object - CopyZDxEngineStruct
// Copy a ZDx engine structure
//-----------------------------------------------------------------------------
void ZDx_Object::CopyZDxEngineStruct (ACP_tdxHandleOfObject _hDst , ACP_tdxHandleOfObject _hSrc)
{
// A ZDx can't be copied
_hDst = NULL;
}
//-----------------------------------------------------------------------------
// class ZDx_Object - DeleteZDxEngineStruct
// Delete a ZDx engine structure
//-----------------------------------------------------------------------------
void ZDx_Object::DeleteZDxEngineStruct (ACP_tdxHandleOfObject _hZDxEngineStruct)
{
// We do nothing
}
//-----------------------------------------------------------------------------
// class ZDx_Object - GetDataType
// Return the engine type of the ZDx object
//-----------------------------------------------------------------------------
long ZDx_Object::GetDataType ()
{
return GiveZDxID (m_eZDxType);
}
//-----------------------------------------------------------------------------
// class ZDx_Object - GetData
// Return the engine object of the ZDx object
//-----------------------------------------------------------------------------
void * ZDx_Object::GetData ()
{
return GetStruct ();
}
//-----------------------------------------------------------------------------
// class ZDx_Object - fn_eCheckUnicity
// Check if the given name is valid or not
//-----------------------------------------------------------------------------
tdeMissingCriteria ZDx_Object::fn_eCheckUnicity (const CString csNewName)
{
// Check unicity with owner
tdeMissingCriteria eResult = fn_eCheckUnicityWithOwner (csNewName);
if (eResult != E_mc_None) return eResult;
// Check unicity for geometric object name
ZDx_Shape * pZDxShape = GetZDxShape ();
if (! pZDxShape) return E_mc_None;
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Shape3D * pGeometric3dObject = pZDxShape -> GetGeometric3dObject ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
if (! pGeometric3dObject) return E_mc_None;
if (pGeometric3dObject -> GetName () . CompareNoCase (csNewName) == 0) return E_mc_None;
else return pGeometric3dObject -> fn_eCheckUnicity (csNewName);
}
//-----------------------------------------------------------------------------
// class ZDx_Object - fn_vNotifyRename
// Called when one renames the ZDx : we also rename the geometric object
//-----------------------------------------------------------------------------
void ZDx_Object::fn_vNotifyRename ()
{
SetReferencedSectionName (fn_csComputeReferencedSectionName (GetName ()));
tdeMissingCriteria eResult = GetZDxShape () -> GetGeometric3dObject () -> fn_eRename (GetName ());
ASSERT (eResult == E_mc_None);
}
//-----------------------------------------------------------------------------
// class ZDx_Object - GetZDxTypeName
// return the name of the type of the ZDx object
//-----------------------------------------------------------------------------
char * ZDx_Object::GetZDxTypeName ()
{
switch (m_eZDxType)
{
case eZdd : return C_szZddName;
case eZde : return C_szZdeName;
case eZdm : return C_szZdmName;
case eZdr : return C_szZdrName;
case eBoundingVolume : return C_szBoundingVolumeName;
// ANNECY AV CLEAN_MEC {
// case eTestPoint : return C_szTestPointName;
// END ANNECY AV }
default : ASSERT (0);
return "";
}
}
//-----------------------------------------------------------------------------
// class ZDx_Object - GetZDxName
// return the name of the ZDx object
//-----------------------------------------------------------------------------
char * ZDx_Object::GetZDxName ()
{
// return the name of the object
return (char *) LPCTSTR (GetName ());
}
//-----------------------------------------------------------------------------
// class ZDx_Object - SetZDxName
// set the name of the ZDx object
// return FALSE if the name already exists
//-----------------------------------------------------------------------------
BOOL ZDx_Object::SetZDxName (char * szNewName)
{
char * szOldName = GetZDxName ();
tdeMissingCriteria eResult = fn_eRename (szNewName);
if (eResult == E_mc_None) // If the name has changed
{
// We get the list of zone list
CPA_BaseObjectList * pListOfEdtList = GetEditor () -> GetMainWorld () -> fn_p_oGetOriginalObjectList (C_szEdtListTypeName);
for (int i = 0 ; i < pListOfEdtList -> GetCount () ; i ++)
{
EdtList * pEdtList = (EdtList *) pListOfEdtList -> GetObjectWithIndex (i);
// If the zone list contains this zone, we notify to save it
if (pEdtList -> Find (this)) pEdtList -> fn_vUpdateReference (this);
}
// We get the list of physical objects
CPA_BaseObjectList * pListOfPO = GetEditor () -> GetMainWorld () -> fn_p_oGetOriginalObjectList (C_szPhysicalObjectTypeName);
for (i = 0 ; i < pListOfPO -> GetCount () ; i ++)
{
EditorPO * pModule = (EditorPO *) pListOfPO -> GetObjectWithIndex (i);
// If the module contains this zone, we notify to save it
if (pModule -> GetZone (C_ucTypeZdd) == this ||
pModule -> GetZone (C_ucTypeZde) == this ||
pModule -> GetZone (C_ucTypeZdm) == this ||
pModule -> GetZone (C_ucTypeZdr) == this) pModule -> fn_vUpdateReference (this);
}
// We get the list of families
CPA_BaseObjectList * pListOfFamily = GetEditor () -> GetMainWorld () -> fn_p_oGetOriginalObjectList (C_szFamilyTypeName);
for (i = 0 ; i < pListOfFamily -> GetCount () ; i ++)
{
CPA_Family * pFamily = (CPA_Family *) pListOfFamily -> GetObjectWithIndex (i);
if (pFamily -> mfn_p_oGetBoundingVolume () == this) pFamily -> fn_vUpdateReference (this);
}
}
return eResult == E_mc_None;
}
//-----------------------------------------------------------------------------
// class ZDx_Object - CallbackToCreateZDxFile
// We must add one special line in a ZDx file
//-----------------------------------------------------------------------------
void ZDx_Object::CallbackToCreateZDxFile (SCR_tdst_File_Description * _pFile ,
char * _szSectionName ,
void * _pData ,
SCR_tde_Ntfy_Action _eAction)
{
switch (_eAction)
{
case SCR_EA_Ntfy_AddSection : // The ZDx file does not exist : we ad a special line
fn_v_SvL0_fputs (_pFile , "$SetCurrentFileDouble(1,1.0)\n");
break;
case SCR_EA_Ntfy_ModifySection : // The ZDx file already exists : we do nothing
break;
}
}
//-----------------------------------------------------------------------------
// class ZDx_Object - fn_vNotifySave
// Virtual function from the base class called to notify to save a ZDx object
//-----------------------------------------------------------------------------
void ZDx_Object::fn_vNotifySave ()
{
if (! fn_bCanBeNotified ()) return;
GetZDxShape () -> GetGeometric3dObject () -> fn_vNotifySave ();
// Register the file callback
char szFileName [SCR_CV_ui_Cfg_MaxLenName];
SCR_fn_v_RdL0_SplitSectionName ((char *) (LPCTSTR) GetZDxShape () -> GetGeometric3dObject () -> GetCompleteSectionName () , szFileName , NULL , NULL);
// If the file does not exist, register a callback on it
if (_access (szFileName , 0) == -1)
SCR_fn_v_SvL1_RegisterNotify (szFileName , CallbackToCreateZDxFile , NULL , SCR_EA_Ntfy_AddOrModifySection);
}
//-----------------------------------------------------------------------------
// class ZDx_Object - fn_vNotifyUnSave
// Virtual function from the base class called to notify to delete a ZDx object
//-----------------------------------------------------------------------------
void ZDx_Object::fn_vNotifyUnSave ()
{
if (! fn_bCanBeNotified ()) return;
// We notify to delete the ZDx object only if it is not shared by several modules
if (GetNumberOfModuleUsingThis () <= 1) GetZDxShape () -> GetGeometric3dObject () -> fn_vNotifyUnSave ();
}
//-----------------------------------------------------------------------------
// class ZDx_Object - fn_vNotifyRestore
// Virtual function from the base class called to notify to restore a deleted ZDx object
//-----------------------------------------------------------------------------
void ZDx_Object::fn_vNotifyRestore ()
{
if (! fn_bCanBeNotified ()) return;
// We notify to restore a deleted ZDx object only if it is not used by another module
if (GetNumberOfModuleUsingThis () == 0) GetZDxShape () -> GetGeometric3dObject () -> fn_vNotifyRestore ();
}
//-----------------------------------------------------------------------------
// class ZDx_Object : fn_csComputeReferencedSectionName
// Compte the referenced section name : use the function of the geometric 3d object
//-----------------------------------------------------------------------------
CString ZDx_Object::fn_csComputeReferencedSectionName (const CString _csNewName)
{
ZDx_Shape * pZDxShape = GetZDxShape ();
if (! pZDxShape) return "";
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
Shape3D * pGeometric3dObject = pZDxShape -> GetGeometric3dObject ();
//ENDROMTEAM WorldEditor (Cristi Petrescu)
if (! pGeometric3dObject) return "";
return pGeometric3dObject -> fn_csComputeReferencedSectionName (_csNewName);
}
//-----------------------------------------------------------------------------
// class ZDx_Object : GetNumberOfModuleUsingThis
// Get the number of modules using this ZDx object
//-----------------------------------------------------------------------------
long ZDx_Object::GetNumberOfModuleUsingThis ()
{
long lNumber = 0;
// We get the list of physical objects
CPA_BaseObjectList * pListOfPO = GetEditor () -> GetMainWorld () -> fn_p_oGetOriginalObjectList (C_szPhysicalObjectTypeName);
for (int i = 0 ; i < pListOfPO -> GetCount () ; i ++)
{
EditorPO * pModule = (EditorPO *) pListOfPO -> GetObjectWithIndex (i);
if (pModule -> GetZone (C_ucTypeZdd) == this ||
pModule -> GetZone (C_ucTypeZde) == this ||
pModule -> GetZone (C_ucTypeZdm) == this ||
pModule -> GetZone (C_ucTypeZdr) == this) lNumber++;
}
return lNumber;
}
//-----------------------------------------------------------------------------
// class ZDx_Object : RedrawZDxObject
// redraw the object (in fact, redraw the whole world)
//-----------------------------------------------------------------------------
void ZDx_Object::RedrawZDxObject ()
{
((ZDx_Interface *) GetEditor ()) -> IWillRefreshDisplay (C_lRedrawZDxObject);
((ZDx_Interface *) GetEditor ()) -> RefreshDisplay (C_lRedrawZDxObject);
}
//*****************************************************************************
// class ZDx_Shape
//
// The base class for the different shape of ZDx
// The inherited classes will contains methods to modify the geometric definition of the ZDx
//*****************************************************************************
//-----------------------------------------------------------------------------
// class ZDx_Shape - constructor
//-----------------------------------------------------------------------------
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
ZDx_Shape::ZDx_Shape (ZDx_Object * _pZDxObject , Shape3D * _pGeometric3dObject /*,
ACP_tdxHandleOfElement _HandleOfElement*/)
{
m_pZDxObject = _pZDxObject;
m_pGeometric3dObject = _pGeometric3dObject;
//m_hHandleOfElement = _HandleOfElement;
}
//ENDROMTEAM WorldEditor (Cristi Petrescu)
//-----------------------------------------------------------------------------
// class ZDx_Shape : RefreshData
// Recompute the center of the object from the position of the super object
//-----------------------------------------------------------------------------
void ZDx_Shape::RefreshData (CPA_SuperObject * _pSuperObject)
{
// Get the matrix of the super object
GEO_tdxHandleToMatrix hHandleToMatrix = HIE_fn_hGetSuperObjectMatrix (_pSuperObject -> GetStruct ());
// Get the translation vector
MTH3D_tdstVector TranslationVector;
POS_fn_vGetTranslationVector(hHandleToMatrix , & TranslationVector);
// Add this translation vector to the center of the object
MTH3D_tdstVector Center = GetCenter ();
MTH3D_M_vAddVector (& Center , & Center , & TranslationVector);
SetCenter (& Center);
// Set the translation vector to null;
MTH3D_M_vNullVector (& TranslationVector);
POS_fn_vSetTranslationVector(hHandleToMatrix , & TranslationVector);
}
//ROMTEAM WorldEditor (Cristi Petrescu 12/97)
//*****************************************************************************
// class ZDx_Point
//
// The class to modify the geometric aspect of a ZDx of type point
//*****************************************************************************
//-----------------------------------------------------------------------------
// class ZDx_Point : Constructor
//-----------------------------------------------------------------------------
ZDx_Point::ZDx_Point (ZDx_Object * _pZDxObject , Shape3D * _pGeometric3dObject /*,
ACP_tdxHandleOfElement HandleOfElement */,
ZDx_Point * _pZDxPointToCopy /* = NULL */)
: ZDx_Shape (_pZDxObject , _pGeometric3dObject /*, HandleOfElement*/)
{
if (_pZDxPointToCopy)
{
MTH3D_tdstVector stPoint = ((Point3D *) _pZDxPointToCopy -> GetGeometric3dObject ()) -> GetPoint ();
((Point3D *) _pGeometric3dObject) -> SetPoint (& stPoint);
// BEGIN CPA2 Cristi Petrescu 97-12-05
// if (_pZDxObject -> GetZDxType () == eTestPoint)
// ANNECY AV CLEAN_MEC {
// UpdateTestPointPosition ();
// END ANNECY AV }
// END CPA2 Cristi Petrescu 97-12-05
}
}
/*
//-----------------------------------------------------------------------------
// class ZDx_Point : GetPoint
// return the 3D coordinates of the point
//-----------------------------------------------------------------------------
MTH3D_tdstVector ZDx_Point::GetPoint ()
{
MTH3D_tdstVector stPoint;
GetGeometric3dObject () -> fn_vGetPoint (0 , & stPoint);
return stPoint;
}
//-----------------------------------------------------------------------------
// class ZDx_Point : SetPoint
// set the 3D coordinates of the point
//-----------------------------------------------------------------------------
void ZDx_Point::SetPoint (MTH3D_tdstVector * _pPoint)
{
GetGeometric3dObject () -> fn_vSetPoint (0 , _pPoint);
if (m_pZDxObject -> GetZDxType () == eTestPoint) UpdateTestPointPosition ();
}
//-----------------------------------------------------------------------------
// class ZDx_Point : SetPointX
// set the X coordinate of the point
//-----------------------------------------------------------------------------
void ZDx_Point::SetPointX (GLI_tdxValue _X)
{
MTH3D_tdstVector stPoint = GetPoint ();
MTH3D_M_vSetXofVector (& stPoint , _X);
SetPoint (& stPoint);
}
//-----------------------------------------------------------------------------
// class ZDx_Point : SetPointY
// set the Y coordinate of the point
//-----------------------------------------------------------------------------
void ZDx_Point::SetPointY (GLI_tdxValue _Y)
{
MTH3D_tdstVector stPoint = GetPoint ();
MTH3D_M_vSetYofVector (& stPoint , _Y);
SetPoint (& stPoint);
}
//-----------------------------------------------------------------------------
// class ZDx_Point : SetPointZ
// set the Z coordinate of the point
//-----------------------------------------------------------------------------
void ZDx_Point::SetPointZ (GLI_tdxValue _Z)
{
MTH3D_tdstVector stPoint = GetPoint ();
MTH3D_M_vSetZofVector (& stPoint , _Z);
SetPoint (& stPoint);
}
//-----------------------------------------------------------------------------
// Class ZDx_Point - SetColorOfPoint
// Set the color of the point : selected or not selected
//-----------------------------------------------------------------------------
void ZDx_Point::SetColorOfPoint (BOOL _bSelected)
{
GMT_tdxHandleToGameMaterial hGameMaterial = GEO_xGetGameMaterialOfElementPoints
((ACP_tdxHandleOfObject) m_pGeometric3dObject -> GetData () , m_hHandleOfElement);
ACP_tdxHandleOfMaterial hVisualMaterial = GMT_fn_hGetVisualMaterial (hGameMaterial);
GEO_tdstColor stColor;
if (_bSelected) // selected -> pink
{
stColor . xR = 1.0;
stColor . xG = 0.5;
stColor . xB = 1.0;
}
else // not selected -> white
{
stColor . xR = 1.0;
stColor . xG = 1.0;
stColor . xB = 1.0;
}
stColor . xA = 1.0;
GLI_xSetMaterialColor (hVisualMaterial , & stColor);
}
*/
//-----------------------------------------------------------------------------
// Class ZDx_Point - UpdateTestPointPosition
// Set the position of the test point with the position of the point
//-----------------------------------------------------------------------------
// ANNECY AV CLEAN_MEC {
/*
void ZDx_Point::UpdateTestPointPosition ()
{
if (m_pZDxObject -> GetZDxType () == eTestPoint)
{
MTH3D_tdstVector stPosition = ((Point3D *) GetGeometric3dObject ()) -> GetPoint ();
m_pZDxObject -> GetTestPoint () -> SetPosition (& stPosition);
}
}
*/
// END ANNECY AV }
//ENDROMTEAM WorldEditor (Cristi Petrescu)

View File

@@ -0,0 +1,10 @@
LIBRARY
EXPORTS
fn_p_szGetCPAVersion
fn_p_stGetDLLIdentity
fn_p_oGetDLL
fn_vInitDll
SECTIONS
.data READ WRITE

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,121 @@
// checkzones.cpp : implementation file
//
#include "stdafx.h"
#include "ACP_Base.h"
#include "TFA.h" // Family dll include
#define HieFriend
#include "IncGAM.h"
#include "DPT.h"
#include "..\Main\Inc\_EditID.h"
// personal include
#include "ozo.h"
//#include "Ozo\_zQuery.hpp"
#include "_zInterf.hpp"
#include "_zObject.hpp"
#include "_zModif.hpp"
#include "_zWEdit.hpp"
#include "_zWList1.hpp"
#include "_zWList2.hpp"
#include "OGD.h" // 3dGeom dll include
#include "OAC.h" // Actors dll include
#include "OPD.h" // Physical Object dll include
#include "TUT.h" // Tutorial dll include
#include "..\inc\checkzones.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCheckZones dialog
CCheckZones::CCheckZones(CPA_Actor *pActor, CStringList *pZonesList, CWnd* pParent /*=NULL*/)
: CDialog(CCheckZones::IDD, pParent)
{
m_pActor = pActor;
m_pZonesList = pZonesList;
//{{AFX_DATA_INIT(CCheckZones)
//}}AFX_DATA_INIT
}
void CCheckZones::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCheckZones)
DDX_Control(pDX, IDC_LIST_ZONES, m_ctrlZonesList);
DDX_Control(pDX, IDC_CHECK_YES, m_ctrlYes);
DDX_Control(pDX, IDC_CHECK_ZONES, m_ctrlCheckZonesAgainstBV);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCheckZones, CDialog)
//{{AFX_MSG_MAP(CCheckZones)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCheckZones message handlers
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Method : OnOK
// Date : 98-06
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Description :
// Author : Stegaru Cristian - CPA
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Modification :
// Date :
// By :
//////////////////////////////////////////////////////////////////////////////////////////////////////
void CCheckZones::OnOK()
{
UpdateData (TRUE);
m_pActor->mfn_bSet_CheckZonesAgainstBV (m_ctrlCheckZonesAgainstBV.GetCheck ());
if (m_ctrlYes.GetCheck ())
CDialog::OnOK();
else
CDialog::OnCancel ();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Method : OnInitDialog
// Date : 98-06
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Description :
// Author : Stegaru Cristian - CPA
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Modification :
// Date :
// By :
//////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL CCheckZones::OnInitDialog()
{
if (!m_pActor || !m_pZonesList)
CDialog::OnCancel ();
CDialog::OnInitDialog();
POSITION pos = m_pZonesList->GetHeadPosition ();
while (pos)
{
CString csZoneName = m_pZonesList->GetNext (pos);
m_ctrlZonesList.AddString (csZoneName);
}
m_ctrlCheckZonesAgainstBV.SetCheck (m_pActor->mfn_bGet_CheckZonesAgainstBV ());
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

Binary file not shown.

View File

@@ -0,0 +1,5 @@
SCC = This is a source code control file
[OZO.vcproj]
SCC_Aux_Path = "P4SCC#srvperforce-ma:1666##raymandata##Editor"
SCC_Project_Name = Perforce Project