wxWidgetsを使って、GUIアプリケーションを開発しています。フレーム内に複数のウィンドウを作成し、それぞれのウィンドウ内でopenglを使って描画を行うということをしています。このとき、2つのウィンドウで同じ3Dモデルのデータを使用したいと思ったのですが、下の図に示すようにwxWidgetsはウィンドウごとにクラスを作成しているため、クラス間でデータをやり取りしなければならなくなりました。(それぞれのクラス(GLCanvas1とGLCanvas2)の両方から3Dデータを変更できるようにしたいと思っています。)何かクラス間でデータの良い共有方法があれば教えていただきたいと思い質問させていただきました。
グローバル変数を用いるとそれぞれのクラスから同時アクセスされる恐れがある上に、保守面で問題がありそうなので難しいと考えました。
また、それぞれのクラスで3Dモデルのデータを入れた構造体オブジェクトを作成し、片方のクラスでデータに変更があるたびにもう片方のクラスのデータも書き換える。ということも考えましたが、変更があるたびにいちいちデータを書き換えていたら無駄なコストがかかっているのではないかと考えました。
初めてのGUIアプリケーション作成なので、使い方や仕様に理解不足や見当違いの部分があるかもしれませんが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/11 06:20
2016/12/11 07:23
2016/12/11 07:51