framework2

Форк
0
77 строк · 2.1 Кб
1
//
2
//  ofxFBXSrcNurbsCurve.cpp
3
//  ConnectionsWall-Nick
4
//
5
//  Created by Nick Hardeman on 7/11/19.
6
//
7

8
#include "ofxFBXSrcNurbsCurve.h"
9

10
using namespace ofxFBXSource;
11

12
//--------------------------------------------------------------
13
NurbsCurve::NurbsCurve() {
14
    
15
}
16

17
//--------------------------------------------------------------
18
NurbsCurve::~NurbsCurve() {
19
    
20
}
21

22
//--------------------------------------------------------------
23
void NurbsCurve::setup( FbxNode* aNode ) {
24
    ofxFBXSource::Node::setup( aNode );
25
    setFBXCurve( aNode->GetNurbsCurve() );
26
}
27

28
//--------------------------------------------------------------
29
void NurbsCurve::setFBXCurve( FbxNurbsCurve* aNurbsCurve ) {
30
    if(aNurbsCurve != NULL ) {
31
        FbxLine * line = aNurbsCurve->TessellateCurve();
32
        if( line ){
33
            mPolyline.clear();
34
            for(int k = 0; k < line->GetIndexArraySize(); k++){
35
                FbxVector4 pt = line->GetControlPointAt(line->GetPointIndexAt(k));
36
                mPolyline.addVertex(glm::vec3(pt.mData[0],pt.mData[1],pt.mData[2]));
37
            }
38
        }
39
    }
40
}
41

42
//--------------------------------------------------------------
43
//void NurbsCurve::draw() {
44
//    if(mPolyline.size()) {
45
//        transformGL(); {
46
//            mPolyline.draw();
47
//        } restoreTransformGL();
48
//    }
49
//}
50

51
//--------------------------------------------------------------
52
void NurbsCurve::configurePolyline( ofPolyline& apoly ) {
53
    apoly = mPolyline;
54
}
55

56
//--------------------------------------------------------------
57
//ofPolyline NurbsCurve::getGlobalPolyline() {
58
//    glm::mat4 gmat = getGlobalTransformMatrix();
59
//    // transform points into global space //
60
//    ofPolyline tpoly = getPolyline();
61
//    
62
//    for( int i = 0; i < tpoly.size(); i++ ) {
63
//        auto& mp = tpoly[i];
64
//        mp = gmat * glm::vec4(mp, 1.0);
65
//    }
66
//    return tpoly;
67
//}
68
//
69
////--------------------------------------------------------------
70
//ofPolyline NurbsCurve::getGlobalPolylineAroundPosition() {
71
//    glm::vec3 gpos = getGlobalPosition();
72
//    auto tpoly = getGlobalPolyline();
73
//    for( auto& tv : tpoly.getVertices() ) {
74
//        tv -= gpos;
75
//    }
76
//    return tpoly;
77
//}
78

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.