+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: Model_ResultGroup.cpp
// Created: 08 Jul 2014
// Author: Mikhail PONIKAROV
#include <Model_ResultGroup.h>
#include <ModelAPI_AttributeSelectionList.h>
+#include <ModelAPI_AttributeIntArray.h>
+
#include <GeomAlgoAPI_CompoundBuilder.h>
-Model_ResultGroup::Model_ResultGroup(boost::shared_ptr<ModelAPI_Data> theOwnerData)
+#include <Config_PropManager.h>
+
+Model_ResultGroup::Model_ResultGroup(std::shared_ptr<ModelAPI_Data> theOwnerData)
{
+ myIsDisabled = true; // by default it is not initialized and false to be after created
setIsConcealed(false);
myOwnerData = theOwnerData;
}
-boost::shared_ptr<GeomAPI_Shape> Model_ResultGroup::shape() const
+void Model_ResultGroup::initAttributes()
+{
+ // append the color attribute. It is empty, the attribute will be filled by a request
+ DataPtr aData = data();
+ aData->addAttribute(COLOR_ID(), ModelAPI_AttributeIntArray::typeId());
+}
+
+void Model_ResultGroup::colorConfigInfo(std::string& theSection, std::string& theName,
+ std::string& theDefault)
+{
+ theSection = "Visualization";
+ theName = "result_group_color";
+ theDefault = DEFAULT_COLOR();
+}
+
+std::shared_ptr<GeomAPI_Shape> Model_ResultGroup::shape()
{
- boost::shared_ptr<GeomAPI_Shape> aResult;
+ std::shared_ptr<GeomAPI_Shape> aResult;
if (myOwnerData) {
AttributeSelectionListPtr aList = myOwnerData->selectionList("group_list");
if (aList) {
- std::list<boost::shared_ptr<GeomAPI_Shape> > aSubs;
- for(int a = aList->size(); a >= 0; a--) {
- boost::shared_ptr<GeomAPI_Shape> aSelection = aList->value(a)->value();
+ std::list<std::shared_ptr<GeomAPI_Shape> > aSubs;
+ for(int a = aList->size() - 1; a >= 0; a--) {
+ std::shared_ptr<GeomAPI_Shape> aSelection = aList->value(a)->value();
if (aSelection && !aSelection->isNull()) {
aSubs.push_back(aSelection);
}