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