44 #include "Models/SingleObjectPropertyModel.hh" 45 #include "OMPropertyModelSubclass.hh" 46 #include "OMPropertyVisualizer.hh" 47 #include "Widgets/LoadSaveWidget.hh" 48 #include "Widgets/PickWidget.hh" 55 template<
typename MeshT>
62 virtual void updateWidget(
const QModelIndexList& selectedIndices);
99 typename MeshT::prop_iterator props_first,
100 typename MeshT::prop_iterator props_last,
101 PropertyInfo::ENTITY_FILTER filter);
124 void addProperty(QString propName, QString friendlyTypeName, PropertyInfo::ENTITY_FILTER filter);
126 void initializeSupportedPropertyTypes();
138 #ifdef ENABLE_SKELETON_SUPPORT 147 QPushButton bCombine;
155 std::string lastPickMode;
158 typedef std::set<TypeInfoWrapper> TypeInfoWrapperSet;
159 TypeInfoWrapperSet supportedPropertyTypes;
183 #ifdef ENABLE_SKELETON_SUPPORT 189 #if defined(INCLUDE_TEMPLATES) && !defined(OM_PROPERTY_MODEL_CC) 190 #include "OMPropertyModelT_impl.hh"
void addProperty(QString propName, QString friendlyTypeName, PropertyInfo::ENTITY_FILTER filter)
Adds a new property to the mesh.
bool isNew(OpenMesh::BaseProperty *const baseProp, PropertyInfo::ENTITY_FILTER filter)
Checks if we already created a PropertyVisualizer for this property.
virtual void pickProperty()
Toggle picking on and off.
virtual QString getSaveFilenameFilter(unsigned int propId)
Returns the filename filter for saving.
bool isSupported(OpenMesh::BaseProperty *const baseProp) const
Checks if visualizing this property is supported.
ActionMode
Enum listing action modes of the viewers.
Wraps the information of a type.
Added for signal/slot support.
bool combinable(PropertyVisualizer *propertyVisualizer1, PropertyVisualizer *propertyVisualizer2)
Checks if two properties are combinable.
virtual void updateWidget(const QModelIndexList &selectedIndices)
Updates the widget.
virtual void pickModeChanged(const std::string &_mode)
Handles changing of pick mode.
virtual QString getLoadFilenameFilter()
Returns the filename filter for loading.
void gatherProperties()
Searches for all properties and creates the visualizers.
Default property class for any type T.
void addPropertyVisualizer(OpenMesh::BaseProperty *const baseProp, MeshT *mesh, PropertyInfo::ENTITY_FILTER filter)
Adds a new PropertyVisualizer.
void resetPicking()
Disables picking.
This class vizualizes a property.
virtual void mouseEvent(QMouseEvent *_event)
Handles mouse events for picking.
TypeInfoWrapper getSupportedTypeInfoWrapper(OpenMesh::BaseProperty *const baseProp)
Returns the TypeInfoWrapper for the property if it is supported.
virtual void saveProperty()
Saves the currently slected properties.
virtual void combine()
Combines two properties.
virtual bool parseHeader(QString header, PropertyVisualizer *&propVis, unsigned int &n)
Parses the property file header.
Cellection of information about a property.
virtual void setPropertyFromFile(QTextStream &file_stream, unsigned int n, PropertyVisualizer *propVis)
Sets the property values from a given file.