TsplineVolume

相关文件:

  • TsplineVolume.h
  • TsplineVolume.cpp

本软件中的T样条体实际上是一个半结构的B样条体,即在w方向上有着统一的节点向量。

TsplineVolume类

#ifndef TSPLINEVOLUME_H
#define TSPLINEVOLUME_H
#include "Volume.h"
class TsplineVolume : public Volume{
private:
    TsplineVolume& operator=(const TsplineVolume&){}
public:
    TsplineVolume(){}
    TsplineVolume(const TsplineVolume& other);
    ~TsplineVolume();

public:
    map<double, Mesh3d*>       w_map;       // T样条体由多层T网格组成,每层T网格对应一个w方向节点值
    Eigen::VectorXd            w_knots;     // w向节点向量

};

#endif // !TSPLINEVOLUME_H

API

以下是TsplineVolume主要的函数,其他函数及具体实现见代码。

#ifndef TSPLINEVOLUME_H
#define TSPLINEVOLUME_H
#include "Volume.h"
class TsplineVolume : public Volume{
private:
    TsplineVolume& operator=(const TsplineVolume&){}
public:
    TsplineVolume(){}
    TsplineVolume(const TsplineVolume& other);
    ~TsplineVolume();
    // 获取参数值为(u,v,w)的点的坐标
    Point3d eval(double u, double v, double w) override;
    // read volume from file
    int readVolume(string) override;
    // save volume to file
    int saveVolume(string) override;

    // insert a layer to the T-mesh of this volume
    void insert(double w, Mesh3d* mesh);
    // get the number of nodes
    int get_num()const;

};

#endif // !TSPLINEVOLUME_H
Copyright © Jiaming Ai 2019 all right reserved,powered by Gitbook本指南发布时间: 2020-03-08 16:19:54

results matching ""

    No results matching ""