cgma
operation.cpp File Reference

operation, another simple C++ driver for CGM More...

#include <cassert>
#include "GeometryModifyTool.hpp"
#include "GeometryQueryTool.hpp"
#include "CubitMessage.hpp"
#include "Body.hpp"
#include "RefVolume.hpp"
#include "RefFace.hpp"
#include "RefEdge.hpp"
#include "RefVertex.hpp"
#include "InitCGMA.hpp"
#include "OCCModifyEngine.hpp"
#include "CubitCompat.hpp"
#include <algorithm>

Go to the source code of this file.

Defines

#define SRCDIR   .
#define STRINGIFY_(X)   #X
#define STRINGIFY(X)   STRINGIFY_(X)
#define SRCPATH   STRINGIFY(SRCDIR) "/"
#define PRINT_SEPARATOR   PRINT_INFO("=======================================\n");

Functions

CubitStatus read_geometry (int, char **, bool local=false)
CubitStatus make_Point ()
int main (int argc, char **argv)
std::string type_from_file_name (const std::string &filename)
CubitStatus read_geometry (int num_files, const char **argv, bool local)

Detailed Description

operation, another simple C++ driver for CGM

This program acts as a simple driver for CGM. It reads in a geometry, and performs varies checks for bodies, surfaces, curves and vertices.

Definition in file operation.cpp.


Define Documentation

#define PRINT_SEPARATOR   PRINT_INFO("=======================================\n");

Definition at line 39 of file operation.cpp.

#define SRCDIR   .

Definition at line 28 of file operation.cpp.

#define SRCPATH   STRINGIFY(SRCDIR) "/"

Definition at line 33 of file operation.cpp.

#define STRINGIFY (   X)    STRINGIFY_(X)

Definition at line 32 of file operation.cpp.

#define STRINGIFY_ (   X)    #X

Definition at line 31 of file operation.cpp.


Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 43 of file operation.cpp.

{
  CubitStatus status = InitCGMA::initialize_cgma("OCC");
  if (CUBIT_SUCCESS != status) return 1;

  //Do make point.
  status = make_Point();
  if (status == CUBIT_FAILURE) 
     PRINT_INFO("Operation Failed");

  int ret_val = ( CubitMessage::instance()->error_count() );
  if ( ret_val > 0 )
  {
    PRINT_ERROR("Errors found during Mergechk session.\n");
  }
  return ret_val;
  
}
CubitStatus read_geometry ( int  ,
char **  ,
bool  local = false 
)
CubitStatus read_geometry ( int  num_files,
const char **  argv,
bool  local 
)

attribs module: list, modify attributes in a give model or models

Arguments: file name(s) of geometry files in which to look

Definition at line 84 of file operation.cpp.

{
  CubitStatus status = CUBIT_SUCCESS;
  GeometryQueryTool *gti = GeometryQueryTool::instance();
  assert(gti);
  int i;
  
  PRINT_SEPARATOR;

  for (i = 0; i < num_files; i++) {
    std::string type = type_from_file_name( argv[i] );
    if (type.empty()) // just guess OCC
      type = "OCC";
    std::string filename( local ? "./" : SRCPATH );
    filename += argv[i];
    status = CubitCompat_import_solid_model(filename.c_str(), type.c_str());
    if (status != CUBIT_SUCCESS) {
      PRINT_ERROR("Problems reading geometry file %s.\n", filename.c_str());
      abort();
    }
  }
  PRINT_SEPARATOR;

  return CUBIT_SUCCESS;
}
std::string type_from_file_name ( const std::string &  filename)

Definition at line 62 of file operation.cpp.

{
  size_t dot_pos = filename.find_last_of( '.' );
  if (dot_pos == std::string::npos)
    return std::string();
 
  std::string extension = filename.substr( dot_pos + 1 );
  std::transform( extension.begin(), extension.end(), extension.begin(), ::tolower );
  if (extension == "occ" || extension == "brep")
    return "OCC";
  else if (extension == "step" || extension == "stp")
    return "STEP";
  else if (extension == "iges" || extension == "igs")
    return "IGES";
  else
    return std::string();
}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines