Ignore:
Timestamp:
07/28/16 03:39:26 (8 years ago)
Author:
Maciej Komosinski
Message:

Renamed: Model::buildUsingNewShapes -> Model::buildUsingSolidShapeTypes()
Added class SolidsShapeTypeModel? (for making ball-and-stick Models look like solids-type Models)
ModelGeometryInfo? functions: findSizesAndAxesOfModel(), volume() and area() now accept ball-and-stick Models (using SolidsShapeTypeModel? class)
[refs #46] and possibly closes this issue (needs verification)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/model/geometry/modelgeometryinfo.cpp

    r375 r546  
    77#include <frams/model/geometry/meshbuilder.h>
    88
    9 void ModelGeometryInfo::findSizesAndAxesOfModel(const Model &model, const double density,
     9void ModelGeometryInfo::findSizesAndAxesOfModel(const Model &input_model, const double density,
    1010        Pt3D &sizes, Orient &axes)
    1111{
     12        SolidsShapeTypeModel model(input_model);
    1213        SListTempl<Pt3D> points;
    1314        MeshBuilder::ModelApices apices(density);
    14         apices.initialize(&model);
     15        apices.initialize(&model.getModel());
    1516        apices.addAllPointsToList(points);
    1617        if (points.size() < 1) //maybe 1 or 2 points are also not enough for findSizesAndAxesOfPointsGroup() to work...
    1718        {
    18                 logPrintf("ModelGeometryInfo", "findSizesAndAxesOfModel", LOG_ERROR, "Empty points sample for model with %d part(s)", model.getPartCount());
     19                logPrintf("ModelGeometryInfo", "findSizesAndAxesOfModel", LOG_ERROR, "Empty points sample for model with %d part(s)", model.getModel().getPartCount());
    1920                sizes = Pt3D_0;
    2021                axes = Orient_1;
     
    6566}
    6667
    67 double ModelGeometryInfo::volume(const Model &model, const double density)
     68double ModelGeometryInfo::volume(const Model &input_model, const double density)
    6869{
     70        SolidsShapeTypeModel model(input_model);
    6971        Pt3D lowerBoundary, upperBoundary;
    7072        boundingBox(model, lowerBoundary, upperBoundary);
     
    9092}
    9193
    92 double ModelGeometryInfo::area(const Model &model, const double density)
     94double ModelGeometryInfo::area(const Model &input_model, const double density)
    9395{
     96        SolidsShapeTypeModel model(input_model);
    9497        double area = 0.0;
    9598       
    96         for (int partIndex = 0; partIndex < model.getPartCount(); partIndex+=1)
     99        for (int partIndex = 0; partIndex < model.getModel().getPartCount(); partIndex+=1)
    97100        {
    98101                area += externalAreaOfPart(model, partIndex, density);
Note: See TracChangeset for help on using the changeset viewer.