Small Body Geophysical Analysis Tool (SBGAT)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
SBGATObs Class Reference

#include <SBGATObs.hpp>

Inheritance diagram for SBGATObs:
Inheritance graph
[legend]
Collaboration diagram for SBGATObs:
Collaboration graph
[legend]

Public Member Functions

 vtkTypeMacro (SBGATObs, vtkPolyDataAlgorithm)
 
void PrintSelf (std::ostream &os, vtkIndent indent) override
 
void PrintHeader (std::ostream &os, vtkIndent indent) override
 
void PrintTrailer (std::ostream &os, vtkIndent indent) override
 
void SetScaleMeters ()
 
void SetScaleKiloMeters ()
 
int get_number_of_bodies () const
 

Static Public Member Functions

static SBGATObsNew ()
 

Protected Member Functions

 SBGATObs ()
 
 ~SBGATObs () override
 
int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
 
int FillInputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
void prefind_facets_inview (std::vector< int > &facets_in_view, const unsigned int &body_index, const std::vector< arma::vec > &dir_to_check_vec, const std::vector< arma::mat > &BN_dcms_vec, const std::vector< arma::vec > &positions_vec)
 
void find_min_facet_surface_area ()
 
bool check_line_for_intersect (const int &origin_body_index, const arma::vec &start_point_origin_body, const arma::vec &end_point_inertial, const std::vector< arma::mat > &BN_dcms_vec, const std::vector< arma::vec > &positions_vec, const double &tol) const
 

Protected Attributes

std::vector< vtkSmartPointer< vtkModifiedBSPTree > > bspTree_vec
 
std::vector< vtkPolyData * > polydata_vec
 
std::vector< arma::vec > center_of_mass_vec
 
double scaleFactor = 1
 
double min_area
 
int number_of_bodies
 

Private Member Functions

 SBGATObs (const SBGATObs &)=delete
 
void operator= (const SBGATObs &)=delete
 

Detailed Description

Definition at line 30 of file SBGATObs.hpp.

Constructor & Destructor Documentation

◆ SBGATObs() [1/2]

SBGATObs::SBGATObs ( )
protected

Definition at line 11 of file SBGATObs.cpp.

◆ ~SBGATObs()

SBGATObs::~SBGATObs ( )
overrideprotected

Definition at line 19 of file SBGATObs.cpp.

◆ SBGATObs() [2/2]

SBGATObs::SBGATObs ( const SBGATObs )
privatedelete

Member Function Documentation

◆ check_line_for_intersect()

bool SBGATObs::check_line_for_intersect ( const int &  origin_body_index,
const arma::vec &  start_point_origin_body,
const arma::vec &  end_point_inertial,
const std::vector< arma::mat > &  BN_dcms_vec,
const std::vector< arma::vec > &  positions_vec,
const double &  tol 
) const
protected

Checks if the line spanned between provided points intersects with any of the considered bodies.

Parameters
origin_body_indexindex of the body from which originates the line to be tested for intersect
start_point_origin_bodycoordinates of the origin of the line, expressed in the original body frame
end_point_inertialcoordinates of the end of the line, expressed in the inertial frame
BN_dcms_vecvector holding the DCMs orienting the body frame of each body w/r to inertial
positions_vecvector holding the position vector of the CM of each body w/r to the primary
Returns
true if the line intersects with any of the considered bodies, false otherwise

Definition at line 205 of file SBGATObs.cpp.

◆ FillInputPortInformation()

int SBGATObs::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
protected

Definition at line 128 of file SBGATObs.cpp.

◆ find_min_facet_surface_area()

void SBGATObs::find_min_facet_surface_area ( )
protected

Computes the largest facet surface area of all of the considered shapes

Returns
surface area of largest facet in all of the considered shapes

Definition at line 78 of file SBGATObs.cpp.

◆ get_number_of_bodies()

int SBGATObs::get_number_of_bodies ( ) const
inline

Return the number of considered bodies

Returns
number of considered bodies

Definition at line 57 of file SBGATObs.hpp.

◆ New()

static SBGATObs* SBGATObs::New ( )
static

◆ operator=()

void SBGATObs::operator= ( const SBGATObs )
privatedelete

◆ prefind_facets_inview()

void SBGATObs::prefind_facets_inview ( std::vector< int > &  facets_in_view,
const unsigned int &  body_index,
const std::vector< arma::vec > &  dir_to_check_vec,
const std::vector< arma::mat > &  BN_dcms_vec,
const std::vector< arma::vec > &  positions_vec 
)
protected

Definition at line 139 of file SBGATObs.cpp.

◆ PrintHeader()

void SBGATObs::PrintHeader ( std::ostream &  os,
vtkIndent  indent 
)
override

Definition at line 243 of file SBGATObs.cpp.

◆ PrintSelf()

void SBGATObs::PrintSelf ( std::ostream &  os,
vtkIndent  indent 
)
override

Definition at line 254 of file SBGATObs.cpp.

◆ PrintTrailer()

void SBGATObs::PrintTrailer ( std::ostream &  os,
vtkIndent  indent 
)
override

Definition at line 246 of file SBGATObs.cpp.

◆ RequestData()

int SBGATObs::RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
overrideprotected

Definition at line 25 of file SBGATObs.cpp.

◆ SetScaleKiloMeters()

void SBGATObs::SetScaleKiloMeters ( )
inline

Sets the scale factor to 1000, indicative that the polydata has its coordinates expressed in kilometers

Definition at line 51 of file SBGATObs.hpp.

◆ SetScaleMeters()

void SBGATObs::SetScaleMeters ( )
inline

Sets the scale factor to 1, indicative that the polydata has its coordinates expressed in meters (default)

Definition at line 46 of file SBGATObs.hpp.

◆ vtkTypeMacro()

SBGATObs::vtkTypeMacro ( SBGATObs  ,
vtkPolyDataAlgorithm   
)

Member Data Documentation

◆ bspTree_vec

std::vector<vtkSmartPointer<vtkModifiedBSPTree> > SBGATObs::bspTree_vec
protected

Definition at line 116 of file SBGATObs.hpp.

◆ center_of_mass_vec

std::vector<arma::vec> SBGATObs::center_of_mass_vec
protected

Definition at line 118 of file SBGATObs.hpp.

◆ min_area

double SBGATObs::min_area
protected

Definition at line 121 of file SBGATObs.hpp.

◆ number_of_bodies

int SBGATObs::number_of_bodies
protected

Definition at line 122 of file SBGATObs.hpp.

◆ polydata_vec

std::vector<vtkPolyData *> SBGATObs::polydata_vec
protected

Definition at line 117 of file SBGATObs.hpp.

◆ scaleFactor

double SBGATObs::scaleFactor = 1
protected

Definition at line 120 of file SBGATObs.hpp.


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