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