47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
#include "StdAfx.h"
|
|
|
|
#include "SectionPolygonCreator.h"
|
|
#include "SectionUtility.h"
|
|
|
|
TSectionPloygonCreator::TSectionPloygonCreator(const TGGeSectionSolid &solid, const TGGeSectionPlane &plane)
|
|
: m_SectionSolid(solid.begin(), solid.end()), m_SectionPlane(plane){}
|
|
|
|
TSectionPloygonCreator::TSectionPloygonCreator( const TGGeSectionSolid &solid )
|
|
: m_SectionSolid(solid.begin(), solid.end()), m_SectionPlane(){}
|
|
|
|
TSectionPloygonCreator::TSectionPloygonCreator( const TGGeSectionPlane &plane )
|
|
: m_SectionSolid(0), m_SectionPlane(plane){}
|
|
|
|
TSectionPloygonCreator::TSectionPloygonCreator()
|
|
: m_SectionSolid(0), m_SectionPlane(){}
|
|
|
|
void TSectionPloygonCreator::setSectionPlane( const TGGeSectionPlane& plane )
|
|
{
|
|
m_SectionPlane.set(plane);
|
|
}
|
|
|
|
void TSectionPloygonCreator::setSectionSolid( const TGGeSectionSolid &solid )
|
|
{
|
|
m_SectionSolid.assign(solid.begin(), solid.end());
|
|
}
|
|
|
|
void TSectionPloygonCreator::getSectionPlane( TGGeSectionPlane &plane )
|
|
{
|
|
plane.set(m_SectionPlane);
|
|
}
|
|
|
|
void TSectionPloygonCreator::getSectionSolid( TGGeSectionSolid &solid )
|
|
{
|
|
solid.assign(m_SectionSolid.begin(), m_SectionSolid.end());
|
|
}
|
|
|
|
void TSectionPloygonCreator::GetSection( std::vector<TGGePoly2D> &arPolys, void *fill )
|
|
{
|
|
arPolys.clear();
|
|
for (size_t i = 0; i < m_SectionSolid.size(); ++i)
|
|
{
|
|
TGGePoly2D poly;
|
|
SectionUtility::Projection_plane2plane(m_SectionPlane, m_SectionSolid[i], poly);
|
|
arPolys.push_back(poly);
|
|
}
|
|
} |