7 #ifndef CAFU_DIALOG_EDIT_SURFACE_PROPS_HPP_INCLUDED
8 #define CAFU_DIALOG_EDIT_SURFACE_PROPS_HPP_INCLUDED
10 #include "SurfaceInfo.hpp"
13 #include "wx/spinctrl.h"
37 static const unsigned long ALL_FACES;
50 bool Show(
bool show=
true);
115 unsigned long FaceIndex;
124 : NoRefPlane(0), NoCenterFace(0), NoEdgeAlign(0) {}
126 unsigned int NoRefPlane;
127 unsigned int NoCenterFace;
128 unsigned int NoEdgeAlign;
132 TexCoordGenModeT m_CurrentTexGenMode;
175 void UpdateVectorInfo();
178 void UpdateAfterSelChange();
181 wxSpinCtrlDouble* m_SpinCtrlScaleX;
182 wxSpinCtrlDouble* m_SpinCtrlScaleY;
183 wxSpinCtrlDouble* m_SpinCtrlShiftX;
184 wxSpinCtrlDouble* m_SpinCtrlShiftY;
185 wxSpinCtrlDouble* m_SpinCtrlRotation;
186 wxStaticText* m_TexGenModeInfo;
189 wxStaticText* MaterialXInfo;
190 wxStaticText* MaterialYInfo;
193 wxStaticText* m_wrtWorldAxesText;
194 wxStaticText* m_wrtWorldAxesInfo;
195 wxButton* m_wrtWorldAxesButton;
196 wxStaticText* m_wrtFacePlaneText;
197 wxStaticText* m_wrtFacePlaneInfo;
198 wxButton* m_wrtFacePlaneButton;
199 wxCheckBox* m_CheckBoxTreatMultipleAsOne;
202 wxChoice* ChoiceCurrentMat;
203 wxStaticBitmap* m_BitmapCurrentMat;
204 wxStaticText* StaticTextCurrentMatSize;
207 wxCheckBox* CheckBoxHideSelMask;
208 wxChoice* ChoiceRightMBMode;
211 void OnSpinCtrlValueChanged(wxSpinDoubleEvent& Event);
214 void OnButtonAlign (wxCommandEvent& Event);
215 void OnButtonAlignWrtAxes (wxCommandEvent& Event);
216 void OnCheckBoxTreatMultipleAsOne(wxCommandEvent& Event);
219 void OnSelChangeCurrentMat(wxCommandEvent& Event);
220 void OnButtonBrowseMats (wxCommandEvent& Event);
221 void OnButtonReplaceMats (wxCommandEvent& Event);
224 void OnCheckBoxHideSelMask(wxCommandEvent& Event);
225 void OnSelChangeRightMB (wxCommandEvent& Event);
231 ID_SPINCTRL_SCALE_X=wxID_HIGHEST+1,
235 ID_SPINCTRL_ROTATION,
236 ID_BUTTON_ALIGN2FITFACE,
238 ID_BUTTON_ALIGN2LEFT,
239 ID_BUTTON_ALIGN2CENTER,
240 ID_BUTTON_ALIGN2RIGHT,
241 ID_BUTTON_ALIGN2BOTTOM,
242 ID_BUTTON_ALIGN_WRT_WORLD,
243 ID_BUTTON_ALIGN_WRT_FACE,
244 ID_CHECKBOX_TREAT_MULTIPLE_AS_ONE,
245 ID_CHOICE_CURRENT_MAT,
246 ID_BUTTON_BROWSE_MATS,
247 ID_BUTTON_REPLACE_MATS,
248 ID_CHECKBOX_HIDE_SEL_MASK,
249 ID_CHOICE_RIGHT_MB_MODE
252 DECLARE_EVENT_TABLE()
This class represents a CaWE "map" document.
Definition: MapDocument.hpp:45
void NotifySubjectDies(SubjectT *Subject)
This method is called whenever a subject is about the be destroyed (and become unavailable).
Definition: DialogEditSurfaceProps.cpp:336
unsigned long GetNrOfSelectedPatches() const
Returns the number of currently selected Bezier patches.
Definition: DialogEditSurfaceProps.hpp:79
This class holds all information that is needed in order to compute the UV texture-space coordinates ...
Definition: SurfaceInfo.hpp:51
bool WantSelectionOverlay() const
Returns true if the hide selection overlay checkbox is unchecked and false if it is checked...
Definition: DialogEditSurfaceProps.hpp:73
unsigned long Size() const
Get size of array.
Definition: Array.hpp:138
bool Show(bool show=true)
Overridden wxDialog::Show() function, because we also want to update the dialog on Show(true)...
Definition: DialogEditSurfaceProps.cpp:344
void ApplyClick(ViewWindow3DT &ViewWin3D, MapElementT *Object, unsigned long FaceIndex)
Called when the user right clicked on a face/patch in the 3D view to apply a material.
Definition: DialogEditSurfaceProps.cpp:466
Definition: ObserverPattern.hpp:64
void EyeDropperClick(MapElementT *Object, unsigned long FaceIndex)
Called when a material is picked by the eye dropper (left mouse button click in eyedropper mode)...
Definition: DialogEditSurfaceProps.cpp:524
Definition: MapBrush.hpp:15
unsigned long GetNrOfSelectedFaces() const
Returns the number of currently selected faces.
Definition: DialogEditSurfaceProps.hpp:76
This class represents a bezier patch.
Definition: MapBezierPatch.hpp:44
Definition: EditorMaterial.hpp:21
Definition: ObserverPattern.hpp:158
EditSurfacePropsDialogT(wxWindow *Parent, MapDocumentT *MapDoc)
The constructor.
Definition: DialogEditSurfaceProps.cpp:62
Definition: ChildFrameViewWin3D.hpp:21
void ClearSelection()
Clears the list of faces and patches that were selected for surface-editing.
Definition: DialogEditSurfaceProps.cpp:374
The "Edit Surface Properties" dialog is the counterpart of the ToolEditSurfaceT tool.
Definition: DialogEditSurfaceProps.hpp:33
ArrayT< EditorMaterialI * > GetMRUMaterials() const
Returns the current list of MRU materials (the first element is the selected material).
Definition: DialogEditSurfaceProps.cpp:1413
This file provides the classes for the Observer pattern as described in the book by the GoF...
This is the base class for all elements ("objects") that can exist in a map.
Definition: MapElement.hpp:57
void ToggleClick(MapElementT *Object, unsigned long FaceIndex, bool IsRecursive=false)
This method toggles the selection status of the given object.
Definition: DialogEditSurfaceProps.cpp:390
~EditSurfacePropsDialogT()
The destructor.
Definition: DialogEditSurfaceProps.cpp:329
Definition: MapFace.hpp:26