Loading [MathJax]/extensions/tex2jax.js
MAIA bb96820c
Multiphysics at AIA
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
GeometryIntersection< nDim_ >::CsgPolygon Class Reference
Collaboration diagram for GeometryIntersection< nDim_ >::CsgPolygon:
[legend]

Public Member Functions

 CsgPolygon (std::vector< CsgVertex > _vertices, MInt _setIndex, MInt _faceId, MInt _faceType, MInt _bodyId)
 
 CsgPolygon (std::vector< CsgVertex > _vertices, MInt _setIndex, MInt _faceId, MInt _faceType, MInt _bodyId, CsgPlane _plane)
 
 ~CsgPolygon ()=default
 
CsgPolygon clone ()
 
void flip ()
 

Public Attributes

std::vector< CsgVertexvertices
 
CsgPlane plane
 
MInt setIndex {}
 
MInt bodyId {}
 
MInt faceId {}
 
MInt faceType {}
 

Private Member Functions

 CsgPolygon ()=default
 

Detailed Description

template<MInt nDim_>
class GeometryIntersection< nDim_ >::CsgPolygon

Definition at line 683 of file geometryintersection.h.

Constructor & Destructor Documentation

◆ CsgPolygon() [1/3]

template<MInt nDim_>
GeometryIntersection< nDim_ >::CsgPolygon::CsgPolygon ( std::vector< CsgVertex _vertices,
MInt  _setIndex,
MInt  _faceId,
MInt  _faceType,
MInt  _bodyId 
)
inline

Definition at line 693 of file geometryintersection.h.

693 {
694 for(MInt i = 0; (unsigned)i < _vertices.size(); i++) {
695 vertices.push_back(_vertices[i].clone());
696 }
697 setIndex = _setIndex;
698 faceId = _faceId;
699 faceType = _faceType;
700 bodyId = _bodyId;
701 CsgVector abc[nDim];
702 for(MInt i = 0; i < nDim; i++) {
703 abc[i] = vertices[i].pos;
704 }
705 plane = CsgPlane(abc);
706 }
static constexpr MInt nDim
int32_t MInt
Definition: maiatypes.h:62

◆ CsgPolygon() [2/3]

template<MInt nDim_>
GeometryIntersection< nDim_ >::CsgPolygon::CsgPolygon ( std::vector< CsgVertex _vertices,
MInt  _setIndex,
MInt  _faceId,
MInt  _faceType,
MInt  _bodyId,
CsgPlane  _plane 
)
inline

Definition at line 708 of file geometryintersection.h.

709 {
710 for(MInt i = 0; (unsigned)i < _vertices.size(); i++) {
711 vertices.push_back(_vertices[i].clone());
712 }
713 setIndex = _setIndex;
714 faceId = _faceId;
715 faceType = _faceType;
716 bodyId = _bodyId;
717 plane = _plane.clone();
718 }

◆ ~CsgPolygon()

template<MInt nDim_>
GeometryIntersection< nDim_ >::CsgPolygon::~CsgPolygon ( )
default

◆ CsgPolygon() [3/3]

template<MInt nDim_>
GeometryIntersection< nDim_ >::CsgPolygon::CsgPolygon ( )
privatedefault

Member Function Documentation

◆ clone()

template<MInt nDim_>
CsgPolygon GeometryIntersection< nDim_ >::CsgPolygon::clone ( )
inline

Definition at line 722 of file geometryintersection.h.

722 {
724 return tmp;
725 }

◆ flip()

template<MInt nDim_>
void GeometryIntersection< nDim_ >::CsgPolygon::flip ( )
inline

Definition at line 727 of file geometryintersection.h.

727 {
728 this->plane.flip();
729 std::vector<CsgVertex> tmp;
730 for(auto rit = vertices.rbegin(); rit != vertices.rend(); ++rit) {
731 tmp.push_back((*rit));
732 }
733 vertices.swap(tmp);
734 }

Member Data Documentation

◆ bodyId

template<MInt nDim_>
MInt GeometryIntersection< nDim_ >::CsgPolygon::bodyId {}

Definition at line 689 of file geometryintersection.h.

◆ faceId

template<MInt nDim_>
MInt GeometryIntersection< nDim_ >::CsgPolygon::faceId {}

Definition at line 690 of file geometryintersection.h.

◆ faceType

template<MInt nDim_>
MInt GeometryIntersection< nDim_ >::CsgPolygon::faceType {}

Definition at line 691 of file geometryintersection.h.

◆ plane

template<MInt nDim_>
CsgPlane GeometryIntersection< nDim_ >::CsgPolygon::plane

Definition at line 687 of file geometryintersection.h.

◆ setIndex

template<MInt nDim_>
MInt GeometryIntersection< nDim_ >::CsgPolygon::setIndex {}

Definition at line 688 of file geometryintersection.h.

◆ vertices

template<MInt nDim_>
std::vector<CsgVertex> GeometryIntersection< nDim_ >::CsgPolygon::vertices

Definition at line 685 of file geometryintersection.h.


The documentation for this class was generated from the following file: