graphics.hatenablog.com

技術系テクニカルアーティストのあれこれ

SWIGメモ。

// test.h
#pragma once
class TestClass
{
public:
	TestClass();
	~TestClass();

	void f();
};
// test.cpp
#include "test.h"
#include <iostream>

TestClass::TestClass()
{
	std::cout << "test()" << std::endl;
	std::flush(std::cout);
}


TestClass::~TestClass()
{
	std::cout << "~test()" << std::endl;
	std::flush(std::cout);
}

void TestClass::f()
{
	std::cout << "f()" << std::endl;
	std::flush(std::cout);
}
%module test
%{
#include "test.h"
%}
%include "test.h"
>swig.exe -c++ -python test.i
>>> import test
>>> for i in xrange(3):
...     t = test.TestClass()
...     t.f()
...
test()
f()
test()
~test()
f()
test()
~test()
f()
>>> quit()
~test()

test.pyd じゃなくて _test.pyd でビルドしないと ImportError になるの、すごく罠っぽい。
なんか間違ってるのかなぁ。。

Maya Python API 2.0 差分@2015/2016

Maya ヘルプ: API の新機能

160個増えたって話だけど手元でdiffとってみたら129個しかなかった。。
というか、
Maya Python API 2.0 がだいぶ拡充されてた件 - graphics.hatenablog.com
差分リスト眺めてたら2015のときにつくったリストが間違ってる気がしてきた。

続きを読む

WPF で動的にビューを切り替える

まずそもそもの話として、その「切り替え」がいわゆる画面遷移的なものだったら、
とりあえず NavigationService クラス (System.Windows.Navigation) を使っておくのが手軽でいい。
もちろん NavigationWindow クラス (System.Windows.Navigation) でもいいんだけど、
こっちは見た目のコントロールがちょっとめんどくさい。

WPFサンプル:NavigationServiceを使ったページ遷移:Gushwell's C# Dev Notes
NavigationWindowを使った画面遷移 - SourceChord

それ以外だととりあえず DataTemplate クラス (System.Windows) を使うことになるのかなと。

続きを読む

Maya の .NET プラグインがアンロードできない問題を強引に解決してみた

hal1932/MayaWpfTest · GitHub

いちおう自分で納得できる範囲で解決したということで。


基本的な方針としては、

  • アンロードできないなら、そもそもロードしなければいい
  • MVVM において V-VM と M を分離するのは自然な発想、M を言語レベルで分離すればいい

というあたり。

続きを読む