improve whitespaces

This commit is contained in:
wmayer
2017-08-01 08:30:22 +02:00
parent 69ef1fffb9
commit 8856041a72
4 changed files with 115 additions and 102 deletions

View File

@@ -495,7 +495,10 @@ ExportOCAF::ExportOCAF(Handle(TDocStd_Document) h, bool explicitPlacement)
// This function create an Assembly node into an XCAF document with it's relative placement information
void ExportOCAF::createNode(App::Part* part, int& root_id, std::vector <TDF_Label>& hierarchical_label,std::vector <TopLoc_Location>& hierarchical_loc, std::vector <App::DocumentObject*>& hierarchical_part)
void ExportOCAF::createNode(App::Part* part, int& root_id,
std::vector <TDF_Label>& hierarchical_label,
std::vector <TopLoc_Location>& hierarchical_loc,
std::vector <App::DocumentObject*>& hierarchical_part)
{
TDF_Label shapeLabel = aShapeTool->NewShape();
Handle(TDataStd_Name) N;
@@ -520,7 +523,10 @@ void ExportOCAF::createNode(App::Part* part, int& root_id, std::vector <TDF_Labe
root_id=hierarchical_label.size();
}
int ExportOCAF::saveShape(Part::Feature* part, const std::vector<App::Color>& colors, std::vector <TDF_Label>& hierarchical_label,std::vector <TopLoc_Location>& hierarchical_loc, std::vector <App::DocumentObject*>& hierarchical_part)
int ExportOCAF::saveShape(Part::Feature* part, const std::vector<App::Color>& colors,
std::vector <TDF_Label>& hierarchical_label,
std::vector <TopLoc_Location>& hierarchical_loc,
std::vector <App::DocumentObject*>& hierarchical_part)
{
const TopoDS_Shape& shape = part->Shape.getValue();
if (shape.IsNull())
@@ -618,86 +624,85 @@ int ExportOCAF::saveShape(Part::Feature* part, const std::vector<App::Color>& co
// If this Free Shapes are regular Part::Feature, we must use absolute coordinate instead of
// allocating a placement into the hierarchy as it is not attached to a hierarchical node
void ExportOCAF::getFreeLabels(std::vector <TDF_Label>& hierarchical_label,std::vector <TDF_Label>& labels,
std::vector <int>& label_part_id )
void ExportOCAF::getFreeLabels(std::vector <TDF_Label>& hierarchical_label,
std::vector <TDF_Label>& labels,
std::vector <int>& label_part_id)
{
TDF_LabelSequence FreeLabels;
aShapeTool->GetFreeShapes(FreeLabels);
int n = FreeLabels.Length();
for (int i = 1; i <= n; i++)
{
TDF_Label label = FreeLabels.Value(i);
for ( unsigned long j = 0; j < ( hierarchical_label.size()) ; j++ )
{
if ( label == hierarchical_label.at(j) )
{
labels.push_back(label);
label_part_id.push_back(j);
}
TDF_LabelSequence FreeLabels;
aShapeTool->GetFreeShapes(FreeLabels);
int n = FreeLabels.Length();
for (int i = 1; i <= n; i++) {
TDF_Label label = FreeLabels.Value(i);
for (std::size_t j = 0; j < hierarchical_label.size(); j++) {
if (label == hierarchical_label.at(j)) {
labels.push_back(label);
label_part_id.push_back(j);
}
}
}
}
void ExportOCAF::reallocateFreeShape(std::vector <App::DocumentObject*> hierarchical_part, std::vector <TDF_Label> FreeLabels,
std::vector <int> part_id, std::vector< std::vector<App::Color> >& Colors)
void ExportOCAF::reallocateFreeShape(std::vector <App::DocumentObject*> hierarchical_part,
std::vector <TDF_Label> FreeLabels,
std::vector <int> part_id,
std::vector< std::vector<App::Color> >& Colors)
{
int n = FreeLabels.size();
for (int i = 0; i < n; i++)
{
TDF_Label label = FreeLabels.at(i);
// hierarchical part does contain only part currently and not node I should add node
if ( hierarchical_part.at(part_id.at(i))->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId()) )
{
Part::Feature * part = static_cast<Part::Feature *>(hierarchical_part.at(part_id.at(i)));
aShapeTool->SetShape(label, part->Shape.getValue());
// Add color information
std::vector<App::Color> colors;
colors=Colors.at(i);
TopoDS_Shape baseShape = part->Shape.getValue();
// Add color information
Quantity_Color col;
std::size_t n = FreeLabels.size();
for (std::size_t i = 0; i < n; i++) {
TDF_Label label = FreeLabels.at(i);
// hierarchical part does contain only part currently and not node I should add node
if (hierarchical_part.at(part_id.at(i))->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) {
Part::Feature * part = static_cast<Part::Feature *>(hierarchical_part.at(part_id.at(i)));
aShapeTool->SetShape(label, part->Shape.getValue());
// Add color information
std::vector<App::Color> colors;
colors=Colors.at(i);
TopoDS_Shape baseShape = part->Shape.getValue();
std::set<int> face_index;
TopTools_IndexedMapOfShape faces;
TopExp_Explorer xp(baseShape,TopAbs_FACE);
// Add color information
Quantity_Color col;
std::set<int> face_index;
TopTools_IndexedMapOfShape faces;
TopExp_Explorer xp(baseShape,TopAbs_FACE);
while (xp.More()) {
face_index.insert(faces.Add(xp.Current()));
xp.Next();
}
// define color per face?
if (colors.size() == face_index.size()) {
xp.Init(baseShape,TopAbs_FACE);
while (xp.More()) {
face_index.insert(faces.Add(xp.Current()));
xp.Next();
int index = faces.FindIndex(xp.Current());
if (face_index.find(index) != face_index.end()) {
face_index.erase(index);
TDF_Label faceLabel = aShapeTool->AddSubShape(label, xp.Current());
// TDF_Label faceLabel= TDF_TagSource::NewChild(label);
aShapeTool->SetShape(faceLabel, xp.Current());
const App::Color& color = colors[index-1];
Quantity_Parameter mat[3];
mat[0] = color.r;
mat[1] = color.g;
mat[2] = color.b;
col.SetValues(mat[0],mat[1],mat[2],Quantity_TOC_RGB);
aColorTool->SetColor(faceLabel, col, XCAFDoc_ColorSurf);
}
xp.Next();
}
// define color per face?
if (colors.size() == face_index.size()) {
xp.Init(baseShape,TopAbs_FACE);
while (xp.More()) {
int index = faces.FindIndex(xp.Current());
if (face_index.find(index) != face_index.end()) {
face_index.erase(index);
TDF_Label faceLabel = aShapeTool->AddSubShape(label, xp.Current());
// TDF_Label faceLabel= TDF_TagSource::NewChild(label);
aShapeTool->SetShape(faceLabel, xp.Current());
const App::Color& color = colors[index-1];
Quantity_Parameter mat[3];
mat[0] = color.r;
mat[1] = color.g;
mat[2] = color.b;
col.SetValues(mat[0],mat[1],mat[2],Quantity_TOC_RGB);
aColorTool->SetColor(faceLabel, col, XCAFDoc_ColorSurf);
}
xp.Next();
}
}
else if (!colors.empty()) {
App::Color color = colors.front();
Quantity_Parameter mat[3];
mat[0] = color.r;
mat[1] = color.g;
mat[2] = color.b;
col.SetValues(mat[0],mat[1],mat[2],Quantity_TOC_RGB);
aColorTool->SetColor(label, col, XCAFDoc_ColorGen);
}
}
}
else if (!colors.empty()) {
App::Color color = colors.front();
Quantity_Parameter mat[3];
mat[0] = color.r;
mat[1] = color.g;
mat[2] = color.b;
col.SetValues(mat[0],mat[1],mat[2],Quantity_TOC_RGB);
aColorTool->SetColor(label, col, XCAFDoc_ColorGen);
}
}
}
}