#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 &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); } }