TOYSTUDIO SDK  1.6.1.3
 全て クラス ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義 グループ ページ
クラス CTaObject

オブジェクト クラス [詳細]

#include <TaObject.h>

Public メソッド

TA_OBJECT_TYPE GetType () const
 オブジェクトのタイプの取得
 
LPCTSTR GetTypeName () const
 オブジェクトのタイプ名の取得
 
LPCTSTR GetName () const
 名前の取得
 
void SetName (LPCTSTR pszName)
 名前のセット
 
UINT GetTreeNameLength () const
 階層名の長さを取得
 
void GetTreeName (LPTSTR pszTreeName) const
 階層名を取得
 
BOOL GetVisible () const
 オブジェクトの表示状態の取得
 
void SetVisible (BOOL bVisible, BOOL bUpdateGraphics=FALSE)
 オブジェクトの表示状態のセット
 
BOOL GetLocked () const
 オブジェクトの編集不可状態の取得
 
void SetLocked (BOOL bLocked)
 オブジェクトの編集不可状態のセット
 
BOOL GetSlerped () const
 アニメーションの回転で球面線形補間するかどうかの状態を取得
 
void SetSlerped (BOOL bSlerped)
 アニメーションの回転で球面線形補間するかどうかの状態をセット
 
BOOL GetAngularShaded ()
 面の角度でスムーズ/フラット シェーディングが設定されるかどうかを取得
 
void SetAngularShaded (BOOL bAngularShaded, BOOL bUpdateGeometry=FALSE)
 面の角度でスムーズ/フラット シェーディングが設定されるかどうかをセット
 
float GetSmoothAngle ()
 スムーズ シェーディングされる最大の面の角度を取得
 
void SetSmoothAngle (float SmoothAngle, BOOL bUpdateGeometry=FALSE)
 スムーズ シェーディングされる最大の面の角度をセット
 
TA_EULER_ORDER_TYPE GetEulerOrder () const
 オイラー角の回転順序の取得
 
void SetEulerOrder (TA_EULER_ORDER_TYPE EulerOrder)
 オイラー角の回転順序のセット
 
TA_VECTOR GetPivot () const
 ピボットの取得
 
void SetPivot (const TA_VECTOR &Pivot)
 ピボットのセット
 
TA_VECTOR GetScale () const
 スケールの取得
 
void SetScale (const TA_VECTOR &Scale)
 スケールのセット
 
TA_VECTOR GetShear () const
 せん断の取得
 
void SetShear (const TA_VECTOR &Shear)
 せん断のセット
 
TA_QUAT GetRotate () const
 回転クォータニオンの取得
 
void SetRotate (const TA_QUAT &Rotate, BOOL bResetAngle=TRUE)
 回転クォータニオンのセット
 
TA_VECTOR GetAngle () const
 オイラー角の取得
 
void SetAngle (const TA_VECTOR &Angle)
 オイラー角のセット
 
TA_VECTOR GetTranslate () const
 移動の取得
 
void SetTranslate (const TA_VECTOR &Translate)
 移動のセット
 
void GetTransform (TA_MATRIX &Transform, BOOL bLeftHand=FALSE) const
 変換行列の取得
 
void SetTransform (const TA_MATRIX &Transform, BOOL bShear=FALSE, BOOL bLeftHand=FALSE)
 変換行列のセット
 
void GetWorldTransform (TA_MATRIX &Transform, BOOL bLeftHand=FALSE) const
 ワールド変換行列の取得
 
UINT GetBoneCount () const
 ボーン数の取得
 
BOOL GetBones (CTaObject *pBones[]) const
 ボーン リストの取得
 
void SetBones (CTaObject *const pBones[], UINT nCount)
 ボーン リストのセット
 
BOOL GetSkinBindTransform (TA_MATRIX &Transform) const
 スキンのバインド時変換行列の取得
 
void SetSkinBindTransform (const TA_MATRIX &Transform)
 スキンのバインド時変換行列のセット
 
BOOL GetBoneBindTransforms (TA_MATRIX Transforms[]) const
 ボーンのバインド時変換行列リストの取得
 
void SetBoneBindTransforms (const TA_MATRIX Transforms[], UINT nCount)
 ボーンのバインド時変換行列リストのセット
 
UINT GetBindPoseObjectCount () const
 バインド ポーズの要素数を取得
 
BOOL GetBindPose (CTaObject *pObjects[], TA_VECTOR Translates[], TA_VECTOR Angles[], TA_VECTOR Scales[], TA_VECTOR Shears[]) const
 バインド ポーズを取得
 
void SetBindPose (CTaObject *const pObjects[], const TA_VECTOR Translates[], const TA_VECTOR Angles[], const TA_VECTOR Scales[], const TA_VECTOR Shears[], UINT nCount)
 バインド ポーズをセット
 
void ClearBones ()
 ボーン関連情報のクリア
 
CTaObjectGetParent () const
 親オブジェクトの取得
 
CTaObjectGetRootModel () const
 ルート モデルを取得
 
UINT GetChildCount () const
 子オブジェクト数の取得
 
CTaObjectGetChild (UINT nIndex) const
 インデックスの子オブジェクトの取得
 
UINT GetChildIndex (const CTaObject *pChild) const
 子オブジェクトのインデックス位置を取得
 
void AddChild (CTaObject *pChild)
 子オブジェクトを追加
 
BOOL InsertChild (UINT nIndex, CTaObject *pChild)
 子オブジェクトをインデックス位置に挿入
 
BOOL RemoveChild (CTaObject *pChild)
 子オブジェクトを取り除く
 
BOOL DeleteChild (CTaObject *pChild)
 子オブジェクトを削除する
 
UINT GetIndexCount () const
 ルートからのインデックス リストのサイズを取得
 
UINT GetIndices (UINT Indices[]) const
 ルートからのインデックス リストを取得
 
CTaObjectFind (const UINT Indices[], UINT nCount) const
 インデックス リストのオブジェクトの検索
 
BOOL Insert (const UINT Indices[], UINT nCount, CTaObject *pObject)
 インデックス リスト位置にオブジェクトを挿入
 
CTaObjectFindTreeName (LPCTSTR pszTreeName) const
 階層名のオブジェクトの検索
 
UINT GetVertexCount () const
 頂点数の取得
 
void GetVertexPositions (TA_VECTOR Positions[]) const
 頂点の位置リストの取得
 
void SetVertexPositions (const TA_VECTOR Positions[])
 頂点の位置リストのセット
 
void AddVertex (const TA_VECTOR &Position)
 頂点の追加
 
void AddVertices (const TA_VECTOR Positions[], UINT nCount)
 複数頂点の追加
 
BOOL HasVertexBone () const
 頂点がボーン データを含むかどうか
 
BOOL GetVertexBones (BYTE *const pIndices[], float *const pWeights[]) const
 頂点のボーン データを取得
 
BOOL SetVertexBones (const BYTE *const pIndices[], const float *const pWeights[])
 頂点のボーン データをセット
 
UINT GetFaceCount () const
 面数の取得
 
void GetFaceVertexCounts (UINT Counts[]) const
 面の頂点数リストの取得
 
void GetFaceVertexIndices (int *const pIndices[]) const
 面の頂点インデックス リストの取得
 
void GetFaceMaterials (CTaMaterial *pMaterials[]) const
 面のマテリアル リストの取得
 
void SetFaceMaterials (CTaMaterial *const pMaterials[])
 面のマテリアル リストのセット
 
void GetFaceNormals (TA_VECTOR Normals[]) const
 面の法線ベクトル リストの取得
 
void GetFaceVertexFlatShades (BOOL *const pFlatShades[]) const
 面の頂点のフラット シェーディング フラグ リストの取得
 
void SetFaceVertexFlatShades (const BOOL *const pFlatShades[])
 面の頂点のフラット シェーディング フラグ リストのセット
 
void GetFaceVertexColors (TA_COLOR *const pColors[]) const
 面の頂点カラー リストの取得
 
void SetFaceVertexColors (const TA_COLOR *const pColors[])
 面の頂点カラー リストのセット
 
BOOL HasFaceVertexUV () const
 面が有効なUV値を持っているか
 
void GetFaceVertexUVs (TA_VECTOR_2D *const pUVs[]) const
 面の頂点のUVリストの取得
 
void SetFaceVertexUVs (const TA_VECTOR_2D *const pUVs[])
 面の頂点のUVリストのセット
 
void GetFaceVertexNormals (TA_VECTOR *const pNormals[]) const
 面の頂点の法線ベクトル リストの取得
 
void AddFace (const int Indices[], UINT nCount)
 面の追加
 
void AddFaces (const int *const pIndices[], const UINT Counts[], UINT nCount)
 複数の面の追加
 
void CleanUpMesh ()
 メッシュの不正な面や頂点のクリーンアップ
 
void UpdateMeshTopology ()
 メッシュの接続関係の更新
 
void UpdateMeshNormals ()
 メッシュの法線ベクトルの更新
 
void UpdateBoundBox ()
 バウンディング ボックスの更新
 
void UpdateGraphics ()
 グラフィックスの更新
 
void UpdateGeometry ()
 ジオメトリの更新
 
ジョイント用メソッド

オブジェクトのタイプが TA_OBJECT_JOINT の場合にのみ有効なメンバー関数です。

BOOL GetJointAreaEnabled () const
 ジョイントの影響範囲の有効状態の取得
 
void SetJointAreaEnabled (BOOL bEnabled)
 ジョイントの影響範囲の有効状態のセット
 
BOOL GetJointParentScaleCompensated () const
 ジョイントの親ジョイントのスケールの補正状態の取得
 
void SetJointParentScaleCompensated (BOOL bCompensated)
 ジョイントの親ジョイントのスケールの補正状態のセット
 
カメラ用メソッド

オブジェクトのタイプが TA_OBJECT_CAMERA の場合にのみ有効なメンバー関数です。

TA_PROJECTION_TYPE GetCameraProjectionType () const
 カメラの射影タイプの取得
 
void SetCameraProjectionType (TA_PROJECTION_TYPE ProjectionType)
 カメラの射影タイプのセット
 
float GetCameraViewAngle () const
 カメラのY方向視野角の取得
 
void SetCameraViewAngle (float ViewAngle)
 カメラのY方向視野角のセット
 
float GetCameraViewHeight () const
 カメラの視野高さの取得
 
void SetCameraViewHeight (float ViewHeight)
 カメラの視野高さのセット
 
ライト用メソッド

オブジェクトのタイプが TA_OBJECT_LIGHT の場合にのみ有効なメンバー関数です。

BOOL GetLightActive () const
 ライトのアクティブ状態の取得
 
void SetLightActive (BOOL bActive)
 ライトのアクティブ状態のセット
 
TA_VECTOR GetLightColor () const
 ライト カラーの取得
 
void SetLightColor (const TA_VECTOR &Color)
 ライト カラーのセット
 
float GetLightDiffuse () const
 ライトの拡散光の取得
 
void SetLightDiffuse (float Diffuse)
 ライトの拡散光のセット
 
float GetLightAmbient () const
 ライトの環境光の取得
 
void SetLightAmbient (float Ambient)
 ライトの環境光のセット
 
float GetLightSpecular () const
 ライトの反射光の取得
 
void SetLightSpecular (float Specular)
 ライトの反射光のセット
 
TA_LIGHT_TYPE GetLightType () const
 ライト タイプの取得
 
void SetLightType (TA_LIGHT_TYPE LightType)
 ライト タイプのセット
 
TA_DECAY_TYPE GetLightDecayType () const
 ライトの減衰タイプの取得
 
void SetLightDecayType (TA_DECAY_TYPE DecayType)
 ライトの減衰タイプのセット
 
float GetLightIntensity () const
 ライトの強度の取得
 
void SetLightIntensity (float Intensity)
 ライトの強度のセット
 
float GetLightRange () const
 ライトの有効距離の取得
 
void SetLightRange (float Range)
 ライトの有効距離のセット
 
float GetLightConeAngle () const
 ライトの円錐角度の取得
 
void SetLightConeAngle (float ConeAngle)
 ライトの円錐角度のセット
 
float GetLightPenumbraAngle () const
 ライトの周縁部角度の取得
 
void SetLightPenumbraAngle (float PenumbraAngle)
 ライトの周縁部角度のセット
 
float GetLightFalloff () const
 ライトの周縁部減衰率の取得
 
void SetLightFalloff (float Falloff)
 ライトの周縁部減衰率のセット
 
モデル用メソッド

オブジェクトのタイプが TA_OBJECT_MODEL の場合にのみ有効なメンバー関数です。

UINT GetModelMaterialCount () const
 マテリアル数の取得
 
void UpdateModelMaterialIndices ()
 各マテリアルのインデックスの更新
 
BOOL GetModelMaterials (CTaMaterial *pMaterials[]) const
 マテリアルリストの取得
 
CTaMaterialGetModelMaterial (UINT nIndex) const
 インデックスのマテリアルの取得
 
UINT GetModelMaterialIndex (const CTaMaterial *pMaterial) const
 マテリアルのインデックスの取得
 
CTaMaterialGetModelCurMaterial () const
 カレント マテリアルの取得
 
void SetModelCurMaterial (CTaMaterial *pMaterial)
 カレント マテリアルのセット
 
void AddModelMaterial (CTaMaterial *pMaterial)
 マテリアルの追加
 
BOOL InsertModelMaterial (UINT nIndex, CTaMaterial *pMaterial)
 マテリアルを指定インデックス位置に挿入
 
BOOL DeleteModelMaterial (CTaMaterial *pMaterial)
 マテリアルを削除
 
BOOL DeleteAllModelMaterials ()
 全てのマテリアルを削除
 
UINT GetModelAnimCount () const
 アニメーション数の取得
 
void UpdateModelAnimIndices ()
 各アニメーションのインデックスの更新
 
BOOL GetModelAnims (CTaAnim *pAnims[]) const
 アニメーションリストの取得
 
CTaAnimGetModelAnim (UINT nIndex) const
 インデックスのアニメーションの取得
 
UINT GetModelAnimIndex (const CTaAnim *pAnim) const
 アニメーションのインデックスを取得
 
CTaAnimGetModelCurAnim () const
 カレント アニメーションの取得
 
void SetModelCurAnim (CTaAnim *pAnim)
 カレント アニメーションをセット
 
void AddModelAnim (CTaAnim *pAnim)
 アニメーションの追加
 
BOOL InsertModelAnim (UINT nIndex, CTaAnim *pAnim)
 インデックス位置にアニメーションを挿入
 

Private メソッド

 CTaObject ()
 コンストラクタ(使用不可)
 
 ~CTaObject ()
 デストラクタ(使用不可)
 

説明

オブジェクト クラス

コンストラクタとデストラクタ

CTaObject::CTaObject ( )
inlineprivate

コンストラクタ(使用不可)

コンストラクタを使用してはいけません。 インスタンスの作成には TaCreateObject() を利用してください。

CTaObject::~CTaObject ( )
inlineprivate

デストラクタ(使用不可)

デストラクタを使用してはいけません。 インスタンスの削除には TaDeleteObject() を利用してください。

関数

void CTaObject::AddChild ( CTaObject pChild)

子オブジェクトを追加

引数
pChild子オブジェクト
void CTaObject::AddFace ( const int  Indices[],
UINT  nCount 
)

面の追加

引数
Indices頂点インデックスのリスト
nCountリストの要素数
void CTaObject::AddFaces ( const int *const  pIndices[],
const UINT  Counts[],
UINT  nCount 
)

複数の面の追加

引数
pIndices面ごとの頂点インデックスのリスト
Counts面ごとの頂点数
nCount追加する面の数
void CTaObject::AddModelAnim ( CTaAnim pAnim)

アニメーションの追加

引数
pAnimアニメーション
void CTaObject::AddModelMaterial ( CTaMaterial pMaterial)

マテリアルの追加

引数
pMaterialマテリアル
void CTaObject::AddVertex ( const TA_VECTOR Position)

頂点の追加

引数
Position頂点の位置
void CTaObject::AddVertices ( const TA_VECTOR  Positions[],
UINT  nCount 
)

複数頂点の追加

引数
Positions頂点の位置リスト
nCount要素数
void CTaObject::CleanUpMesh ( )

メッシュの不正な面や頂点のクリーンアップ

頂点数の足りない不正な面や、全く参照されていない不要な頂点などを削除します。

void CTaObject::ClearBones ( )

ボーン関連情報のクリア

全てのボーン関連情報をクリアします。 頂点のボーン インデックス、ウェイト情報もクリアされます。

BOOL CTaObject::DeleteAllModelMaterials ( )

全てのマテリアルを削除

戻り値
成功の場合TRUE
BOOL CTaObject::DeleteChild ( CTaObject pChild)

子オブジェクトを削除する

引数
pChild子オブジェクト
戻り値
成功した場合TRUE。
BOOL CTaObject::DeleteModelMaterial ( CTaMaterial pMaterial)

マテリアルを削除

引数
pMaterialマテリアル
戻り値
成功の場合TRUE。
CTaObject* CTaObject::Find ( const UINT  Indices[],
UINT  nCount 
) const

インデックス リストのオブジェクトの検索

このオブジェクトから、子のインデックス リストで指定されるオブジェクトを取得します。 リストが空の場合、このオブジェクト自体を返します。

引数
Indicesインデックス リスト
nCountインデックス リストの要素数
戻り値
オブジェクト
CTaObject* CTaObject::FindTreeName ( LPCTSTR  pszTreeName) const

階層名のオブジェクトの検索

このオブジェクトから、階層名で指定されるオブジェクトを取得します。 階層名の先頭はこのオブジェクトの名前である必要があります。

引数
pszTreeName階層名
戻り値
オブジェクト
TA_VECTOR CTaObject::GetAngle ( ) const

オイラー角の取得

戻り値
オイラー角
BOOL CTaObject::GetAngularShaded ( )

面の角度でスムーズ/フラット シェーディングが設定されるかどうかを取得

この設定に応じて UpdateMeshNormals() の挙動が変化します。

戻り値
面の角度でスムーズ/フラット シェーディングが設定されるかどうか。
BOOL CTaObject::GetBindPose ( CTaObject pObjects[],
TA_VECTOR  Translates[],
TA_VECTOR  Angles[],
TA_VECTOR  Scales[],
TA_VECTOR  Shears[] 
) const

バインド ポーズを取得

バインド ポーズでのスキン、ボーンおよびそれらの全ての親オブジェクトを含むリストです。

引数
pObjectsオブジェクトのリスト
Translates移動のリスト
Anglesオイラー角のリスト
Scalesスケールのリスト
Shearsせん断のリスト
戻り値
取得できた場合TRUE。
UINT CTaObject::GetBindPoseObjectCount ( ) const

バインド ポーズの要素数を取得

戻り値
バインド ポーズの要素数
BOOL CTaObject::GetBoneBindTransforms ( TA_MATRIX  Transforms[]) const

ボーンのバインド時変換行列リストの取得

引数
Transformsバインド ポーズにおけるボーンのワールド変換行列リスト
UINT CTaObject::GetBoneCount ( ) const

ボーン数の取得

戻り値
オブジェクトにセットされているボーン数。
BOOL CTaObject::GetBones ( CTaObject pBones[]) const

ボーン リストの取得

引数
pBonesボーンのリスト
戻り値
取得できた場合TRUE。
TA_PROJECTION_TYPE CTaObject::GetCameraProjectionType ( ) const

カメラの射影タイプの取得

戻り値
射影タイプ
float CTaObject::GetCameraViewAngle ( ) const

カメラのY方向視野角の取得

射影タイプが TA_PROJECTION_PERSPECTIVE の場合に使用します。

戻り値
Y方向視野角(°)
float CTaObject::GetCameraViewHeight ( ) const

カメラの視野高さの取得

射影タイプが TA_PROJECTION_ORTHO の場合に使用します。

戻り値
視野の高さ
CTaObject* CTaObject::GetChild ( UINT  nIndex) const

インデックスの子オブジェクトの取得

引数
nIndexインデックス
戻り値
子オブジェクト
UINT CTaObject::GetChildCount ( ) const

子オブジェクト数の取得

戻り値
子オブジェクト数
UINT CTaObject::GetChildIndex ( const CTaObject pChild) const

子オブジェクトのインデックス位置を取得

引数
pChild子オブジェクト
戻り値
インデックス
TA_EULER_ORDER_TYPE CTaObject::GetEulerOrder ( ) const

オイラー角の回転順序の取得

return 回転順序

UINT CTaObject::GetFaceCount ( ) const

面数の取得

戻り値
面の数
void CTaObject::GetFaceMaterials ( CTaMaterial pMaterials[]) const

面のマテリアル リストの取得

引数
pMaterials面のマテリアルのリスト
void CTaObject::GetFaceNormals ( TA_VECTOR  Normals[]) const

面の法線ベクトル リストの取得

引数
Normals面の法線ベクトルのリスト
void CTaObject::GetFaceVertexColors ( TA_COLOR *const  pColors[]) const

面の頂点カラー リストの取得

引数
pColors面ごとの頂点カラーの配列
void CTaObject::GetFaceVertexCounts ( UINT  Counts[]) const

面の頂点数リストの取得

引数
Counts面の頂点数のリスト
void CTaObject::GetFaceVertexFlatShades ( BOOL *const  pFlatShades[]) const

面の頂点のフラット シェーディング フラグ リストの取得

引数
pFlatShades面ごとフラット シェーディング フラグのリスト
void CTaObject::GetFaceVertexIndices ( int *const  pIndices[]) const

面の頂点インデックス リストの取得

引数
pIndices面ごとの頂点インデックスの配列
void CTaObject::GetFaceVertexNormals ( TA_VECTOR *const  pNormals[]) const

面の頂点の法線ベクトル リストの取得

引数
pNormals面の頂点ごとのUV座標リスト
void CTaObject::GetFaceVertexUVs ( TA_VECTOR_2D *const  pUVs[]) const

面の頂点のUVリストの取得

引数
pUVs面の頂点ごとのUV座標リスト
UINT CTaObject::GetIndexCount ( ) const

ルートからのインデックス リストのサイズを取得

ルート モデルからの、子オブジェクトのインデックス リストの要素数を取得します。

戻り値
インデックス リストの要素数。
UINT CTaObject::GetIndices ( UINT  Indices[]) const

ルートからのインデックス リストを取得

ルート モデルからの、子オブジェクトのインデックス リストを取得します。

引数
Indicesインデックス リスト
戻り値
インデックス リストの要素数
BOOL CTaObject::GetJointAreaEnabled ( ) const

ジョイントの影響範囲の有効状態の取得

戻り値
影響範囲の有効状態
BOOL CTaObject::GetJointParentScaleCompensated ( ) const

ジョイントの親ジョイントのスケールの補正状態の取得

戻り値
親ジョイントのスケールの補正状態
BOOL CTaObject::GetLightActive ( ) const

ライトのアクティブ状態の取得

戻り値
アクティブ状態
float CTaObject::GetLightAmbient ( ) const

ライトの環境光の取得

戻り値
0〜1の値
TA_VECTOR CTaObject::GetLightColor ( ) const

ライト カラーの取得

戻り値
RGB各0〜1の値
float CTaObject::GetLightConeAngle ( ) const

ライトの円錐角度の取得

ライト タイプが TA_LIGHT_SPOT の場合に使用します。

戻り値
円錐角度(0〜180°)
TA_DECAY_TYPE CTaObject::GetLightDecayType ( ) const

ライトの減衰タイプの取得

ライト タイプが TA_LIGHT_DIRECTIONAL 以外の場合に使用します。

戻り値
減衰タイプ
float CTaObject::GetLightDiffuse ( ) const

ライトの拡散光の取得

戻り値
0〜1の値
float CTaObject::GetLightFalloff ( ) const

ライトの周縁部減衰率の取得

ライト タイプが TA_LIGHT_SPOT の場合に使用します。 スポット ライトの周縁部における明るさの減衰率です。1の場合は明るさが周縁部全体でリニアに減衰します。 1より大きい場合は周縁部の外周付近で強く減衰し、1より小さい場合は周縁部の内周付近で強く減衰します。

戻り値
周縁部減衰率
float CTaObject::GetLightIntensity ( ) const

ライトの強度の取得

この値がマイナスの場合、光が当たる範囲が暗くなります。

戻り値
ライトの強度
float CTaObject::GetLightPenumbraAngle ( ) const

ライトの周縁部角度の取得

ライト タイプが TA_LIGHT_SPOT の場合に使用します。 スポットライトの明るさが減衰する範囲の角度です。プラスの場合は円錐角度の外側、 マイナスの場合は内側になります。

戻り値
周縁部角度(0〜180°)
float CTaObject::GetLightRange ( ) const

ライトの有効距離の取得

ライト タイプが TA_LIGHT_DIRECTIONAL 以外の場合に使用します。 ライトと頂点の距離がこの値を超えると照明が無効になります。

戻り値
ライトの有効距離
float CTaObject::GetLightSpecular ( ) const

ライトの反射光の取得

戻り値
0〜1の値
TA_LIGHT_TYPE CTaObject::GetLightType ( ) const

ライト タイプの取得

戻り値
ライト タイプ
BOOL CTaObject::GetLocked ( ) const

オブジェクトの編集不可状態の取得

戻り値
編集不可状態
CTaAnim* CTaObject::GetModelAnim ( UINT  nIndex) const

インデックスのアニメーションの取得

引数
nIndexインデックス
戻り値
アニメーション
UINT CTaObject::GetModelAnimCount ( ) const

アニメーション数の取得

戻り値
アニメーション数
UINT CTaObject::GetModelAnimIndex ( const CTaAnim pAnim) const

アニメーションのインデックスを取得

引数
pAnimアニメーション
BOOL CTaObject::GetModelAnims ( CTaAnim pAnims[]) const

アニメーションリストの取得

引数
pAnimsアニメーションリスト
戻り値
成功の場合TRUE。
CTaAnim* CTaObject::GetModelCurAnim ( ) const

カレント アニメーションの取得

戻り値
アニメーション
CTaMaterial* CTaObject::GetModelCurMaterial ( ) const

カレント マテリアルの取得

戻り値
マテリアル
CTaMaterial* CTaObject::GetModelMaterial ( UINT  nIndex) const

インデックスのマテリアルの取得

引数
nIndexインデックス
戻り値
マテリアル
UINT CTaObject::GetModelMaterialCount ( ) const

マテリアル数の取得

戻り値
マテリアル数
UINT CTaObject::GetModelMaterialIndex ( const CTaMaterial pMaterial) const

マテリアルのインデックスの取得

引数
pMaterialマテリアル
戻り値
インデックス
BOOL CTaObject::GetModelMaterials ( CTaMaterial pMaterials[]) const

マテリアルリストの取得

引数
pMaterialsマテリアルのリスト
戻り値
成功の場合TRUE。
LPCTSTR CTaObject::GetName ( ) const

名前の取得

戻り値
オブジェクトの名前
CTaObject* CTaObject::GetParent ( ) const

親オブジェクトの取得

戻り値
親オブジェクト
TA_VECTOR CTaObject::GetPivot ( ) const

ピボットの取得

戻り値
ピボット
CTaObject* CTaObject::GetRootModel ( ) const

ルート モデルを取得

親オブジェクトをさかのぼって、ルート モデルを取得します。

戻り値
TA_OBJECT_MODEL タイプのオブジェクト
TA_QUAT CTaObject::GetRotate ( ) const

回転クォータニオンの取得

戻り値
クォータニオン
TA_VECTOR CTaObject::GetScale ( ) const

スケールの取得

戻り値
スケール
TA_VECTOR CTaObject::GetShear ( ) const

せん断の取得

XY(Y軸をX方向に引っ張る)、XZ(Z軸をX方向に引っ張る)、YZ(Z軸をY方向に引っ張る)の各値のベクトル。

戻り値
せん断
BOOL CTaObject::GetSkinBindTransform ( TA_MATRIX Transform) const

スキンのバインド時変換行列の取得

引数
Transformバインド ポーズにおけるスキンのワールド変換行列
戻り値
取得できた場合TRUE。
BOOL CTaObject::GetSlerped ( ) const

アニメーションの回転で球面線形補間するかどうかの状態を取得

戻り値
球面線形補間するかどうか。
float CTaObject::GetSmoothAngle ( )

スムーズ シェーディングされる最大の面の角度を取得

戻り値
スムーズ シェーディングされる最大の面の角度。
void CTaObject::GetTransform ( TA_MATRIX Transform,
BOOL  bLeftHand = FALSE 
) const

変換行列の取得

ローカル変換行列を算出し、取得します。

引数
Transformオブジェクトの移動、回転、スケール、せん断等を含む変換行列。
bLeftHand左手座標系(Z軸反転)の行列を取得する場合はTRUE。
TA_VECTOR CTaObject::GetTranslate ( ) const

移動の取得

戻り値
移動
void CTaObject::GetTreeName ( LPTSTR  pszTreeName) const

階層名を取得

ルートからの階層名を取得します。

引数
pszTreeName文字列用バッファー
UINT CTaObject::GetTreeNameLength ( ) const

階層名の長さを取得

階層名のバイト数を取得します。

戻り値
文字列の長さ
TA_OBJECT_TYPE CTaObject::GetType ( ) const

オブジェクトのタイプの取得

戻り値
タイプ
LPCTSTR CTaObject::GetTypeName ( ) const

オブジェクトのタイプ名の取得

戻り値
オブジェクトのタイプ名
BOOL CTaObject::GetVertexBones ( BYTE *const  pIndices[],
float *const  pWeights[] 
) const

頂点のボーン データを取得

頂点の TA_MAX_VERTEX_BONE_COUNT 個のウェイトが全て0である場合をのぞき、 ウェイトの合計は1となります。

引数
pIndices頂点ごとの TA_MAX_VERTEX_BONE_COUNT 個のボーン インデックスの配列
pWeights頂点ごとの TA_MAX_VERTEX_BONE_COUNT 個のボーン ウェイト配列
戻り値
取得できた場合TRUE。
UINT CTaObject::GetVertexCount ( ) const

頂点数の取得

戻り値
頂点数
void CTaObject::GetVertexPositions ( TA_VECTOR  Positions[]) const

頂点の位置リストの取得

引数
Positions頂点の位置リスト
BOOL CTaObject::GetVisible ( ) const

オブジェクトの表示状態の取得

戻り値
表示状態
void CTaObject::GetWorldTransform ( TA_MATRIX Transform,
BOOL  bLeftHand = FALSE 
) const

ワールド変換行列の取得

オブジェクトの階層をさかのぼって、ワールド変換行列を算出します。

引数
Transformオブジェクトの移動、回転、スケール、せん断等を含む変換行列。
bLeftHand左手座標系(Z軸反転)の行列を取得する場合はTRUE。
BOOL CTaObject::HasFaceVertexUV ( ) const

面が有効なUV値を持っているか

戻り値
有効な値を持つ場合TRUE。
BOOL CTaObject::HasVertexBone ( ) const

頂点がボーン データを含むかどうか

戻り値
含む場合TRUE。
BOOL CTaObject::Insert ( const UINT  Indices[],
UINT  nCount,
CTaObject pObject 
)

インデックス リスト位置にオブジェクトを挿入

引数
Indicesインデックスリスト
nCountインデックスリストの要素数
pObjectオブジェクト
戻り値
成功した場合TRUE。
BOOL CTaObject::InsertChild ( UINT  nIndex,
CTaObject pChild 
)

子オブジェクトをインデックス位置に挿入

引数
nIndexインデックス
pChild子オブジェクト
戻り値
成功した場合TRUE。
BOOL CTaObject::InsertModelAnim ( UINT  nIndex,
CTaAnim pAnim 
)

インデックス位置にアニメーションを挿入

引数
nIndexインデックス
pAnimアニメーション
戻り値
成功の場合TRUE。
BOOL CTaObject::InsertModelMaterial ( UINT  nIndex,
CTaMaterial pMaterial 
)

マテリアルを指定インデックス位置に挿入

引数
nIndexインデックス
pMaterialマテリアル
戻り値
成功の場合TRUE。
BOOL CTaObject::RemoveChild ( CTaObject pChild)

子オブジェクトを取り除く

子オブジェクト自体は削除されません。

引数
pChild子オブジェクト
戻り値
成功した場合TRUE。
void CTaObject::SetAngle ( const TA_VECTOR Angle)

オイラー角のセット

回転順序に依存します。クォータニオンは更新されます。

引数
Angleオイラー角
void CTaObject::SetAngularShaded ( BOOL  bAngularShaded,
BOOL  bUpdateGeometry = FALSE 
)

面の角度でスムーズ/フラット シェーディングが設定されるかどうかをセット

この設定に応じて UpdateMeshNormals() の挙動が変化します。

引数
bAngularShaded面の角度でスムーズ/フラット シェーディングが設定されるかどうか。
bUpdateGeometryTRUEの場合、処理の最後に UpdateMeshNormals() および UpdateGeometry() が実行されます。
void CTaObject::SetBindPose ( CTaObject *const  pObjects[],
const TA_VECTOR  Translates[],
const TA_VECTOR  Angles[],
const TA_VECTOR  Scales[],
const TA_VECTOR  Shears[],
UINT  nCount 
)

バインド ポーズをセット

バインド ポーズでのスキン、ボーンおよびそれらの全ての親オブジェクトを含むリストです。

引数
pObjectsオブジェクトのリスト
Translates移動のリスト
Anglesオイラー角のリスト
Scalesスケールのリスト
Shearsせん断のリスト
nCountバインドポーズの要素数
void CTaObject::SetBoneBindTransforms ( const TA_MATRIX  Transforms[],
UINT  nCount 
)

ボーンのバインド時変換行列リストのセット

引数
Transformsバインド ポーズにおけるボーンのワールド変換行列リスト
nCountリストの要素数
void CTaObject::SetBones ( CTaObject *const  pBones[],
UINT  nCount 
)

ボーン リストのセット

引数
pBonesボーンのリスト
nCountボーンの数
void CTaObject::SetCameraProjectionType ( TA_PROJECTION_TYPE  ProjectionType)

カメラの射影タイプのセット

引数
ProjectionType射影タイプ
void CTaObject::SetCameraViewAngle ( float  ViewAngle)

カメラのY方向視野角のセット

射影タイプが TA_PROJECTION_PERSPECTIVE の場合に使用します。

引数
ViewAngleY方向視野角(°)
void CTaObject::SetCameraViewHeight ( float  ViewHeight)

カメラの視野高さのセット

射影タイプが TA_PROJECTION_ORTHO の場合に使用します。

引数
ViewHeight視野の高さ
void CTaObject::SetEulerOrder ( TA_EULER_ORDER_TYPE  EulerOrder)

オイラー角の回転順序のセット

引数
EulerOrder回転順序
void CTaObject::SetFaceMaterials ( CTaMaterial *const  pMaterials[])

面のマテリアル リストのセット

引数
pMaterials面のマテリアルのリスト
void CTaObject::SetFaceVertexColors ( const TA_COLOR *const  pColors[])

面の頂点カラー リストのセット

引数
pColors面ごとの頂点カラーの配列
void CTaObject::SetFaceVertexFlatShades ( const BOOL *const  pFlatShades[])

面の頂点のフラット シェーディング フラグ リストのセット

引数
pFlatShades面ごとのフラット シェーディング フラグのリスト
void CTaObject::SetFaceVertexUVs ( const TA_VECTOR_2D *const  pUVs[])

面の頂点のUVリストのセット

引数
pUVs面の頂点ごとのUV座標リスト
void CTaObject::SetJointAreaEnabled ( BOOL  bEnabled)

ジョイントの影響範囲の有効状態のセット

引数
bEnabled影響範囲の有効状態
void CTaObject::SetJointParentScaleCompensated ( BOOL  bCompensated)

ジョイントの親ジョイントのスケールの補正状態のセット

引数
bCompensated親ジョイントのスケールの補正状態
void CTaObject::SetLightActive ( BOOL  bActive)

ライトのアクティブ状態のセット

引数
bActiveアクティブ状態
void CTaObject::SetLightAmbient ( float  Ambient)

ライトの環境光のセット

引数
Ambient0〜1の値
void CTaObject::SetLightColor ( const TA_VECTOR Color)

ライト カラーのセット

引数
ColorRGB各0〜1の値
void CTaObject::SetLightConeAngle ( float  ConeAngle)

ライトの円錐角度のセット

ライト タイプが TA_LIGHT_SPOT の場合に使用します。

引数
ConeAngle円錐角度(0〜180°)
void CTaObject::SetLightDecayType ( TA_DECAY_TYPE  DecayType)

ライトの減衰タイプのセット

ライト タイプが TA_LIGHT_DIRECTIONAL 以外の場合に使用します。

引数
DecayType減衰タイプ
void CTaObject::SetLightDiffuse ( float  Diffuse)

ライトの拡散光のセット

引数
Diffuse0〜1の値
void CTaObject::SetLightFalloff ( float  Falloff)

ライトの周縁部減衰率のセット

ライト タイプが TA_LIGHT_SPOT の場合に使用します。 スポット ライトの周縁部における明るさの減衰率です。1の場合は明るさが周縁部全体でリニアに減衰します。 1より大きい場合は周縁部の外周付近で強く減衰し、1より小さい場合は周縁部の内周付近で強く減衰します。

引数
Falloff周縁部減衰率
void CTaObject::SetLightIntensity ( float  Intensity)

ライトの強度のセット

この値がマイナスの場合、光が当たる範囲が暗くなります。

引数
Intensityライトの強度
void CTaObject::SetLightPenumbraAngle ( float  PenumbraAngle)

ライトの周縁部角度のセット

ライト タイプが TA_LIGHT_SPOT の場合に使用します。 スポットライトの明るさが減衰する範囲の角度です。プラスの場合は円錐角度の外側、 マイナスの場合は内側になります。

引数
PenumbraAngle周縁部角度(0〜180°)
void CTaObject::SetLightRange ( float  Range)

ライトの有効距離のセット

ライト タイプが TA_LIGHT_DIRECTIONAL 以外の場合に使用します。 ライトと頂点の距離がこの値を超えると照明が無効になります。

引数
Rangeライトの有効距離
void CTaObject::SetLightSpecular ( float  Specular)

ライトの反射光のセット

引数
Specular0〜1の値
void CTaObject::SetLightType ( TA_LIGHT_TYPE  LightType)

ライト タイプのセット

引数
LightTypeライト タイプ
void CTaObject::SetLocked ( BOOL  bLocked)

オブジェクトの編集不可状態のセット

引数
bLocked編集不可状態
void CTaObject::SetModelCurAnim ( CTaAnim pAnim)

カレント アニメーションをセット

引数
pAnimアニメーション
void CTaObject::SetModelCurMaterial ( CTaMaterial pMaterial)

カレント マテリアルのセット

引数
pMaterialマテリアル
void CTaObject::SetName ( LPCTSTR  pszName)

名前のセット

引数
pszNameオブジェクトの名前
void CTaObject::SetPivot ( const TA_VECTOR Pivot)

ピボットのセット

引数
Pivotピボット
void CTaObject::SetRotate ( const TA_QUAT Rotate,
BOOL  bResetAngle = TRUE 
)

回転クォータニオンのセット

オイラー角は更新されます。

引数
Rotateクォータニオン
bResetAngleオイラー角をリセットする場合TRUE、現在のオイラー角に近い値をセットする場合FALSE。
void CTaObject::SetScale ( const TA_VECTOR Scale)

スケールのセット

引数
Scaleスケール
void CTaObject::SetShear ( const TA_VECTOR Shear)

せん断のセット

XY(Y軸をX方向に引っ張る)、XZ(Z軸をX方向に引っ張る)、YZ(Z軸をY方向に引っ張る)の各値のベクトル。

引数
Shearせん断
void CTaObject::SetSkinBindTransform ( const TA_MATRIX Transform)

スキンのバインド時変換行列のセット

引数
Transformバインド ポーズにおけるスキンのワールド変換行列
void CTaObject::SetSlerped ( BOOL  bSlerped)

アニメーションの回転で球面線形補間するかどうかの状態をセット

引数
bSlerped球面線形補間するかどうか。
void CTaObject::SetSmoothAngle ( float  SmoothAngle,
BOOL  bUpdateGeometry = FALSE 
)

スムーズ シェーディングされる最大の面の角度をセット

引数
SmoothAngleスムーズ シェーディングされる最大の面の角度。
bUpdateGeometryTRUEの場合、処理の最後に UpdateMeshNormals() および UpdateGeometry() が実行されます。
void CTaObject::SetTransform ( const TA_MATRIX Transform,
BOOL  bShear = FALSE,
BOOL  bLeftHand = FALSE 
)

変換行列のセット

ローカル変換行列から、 オブジェクトの移動、回転、スケール、せん断のパラメータを算出して更新します。この関数により、 GetPivot() の値は(0,0,0)になり、 GetJointParentScaleCompensated() の値はFALSEになります。

引数
Transformオブジェクトの移動、回転、スケール、せん断等を含む変換行列。
bShearせん断を算出する場合はTRUE。FALSEの場合、せん断は(0,0,0)になります。
bLeftHand左手座標系(Z軸反転)の行列の場合はTRUE。
void CTaObject::SetTranslate ( const TA_VECTOR Translate)

移動のセット

引数
Translate移動
BOOL CTaObject::SetVertexBones ( const BYTE *const  pIndices[],
const float *const  pWeights[] 
)

頂点のボーン データをセット

頂点の TA_MAX_VERTEX_BONE_COUNT 個のウェイトが全て0である場合をのぞき、 ウェイトの合計は1である必要があります。

引数
pIndices頂点ごとの TA_MAX_VERTEX_BONE_COUNT 個のボーン インデックスの配列
pWeights頂点ごとの TA_MAX_VERTEX_BONE_COUNT 個のボーン ウェイト配列
戻り値
成功した場合TRUE。
void CTaObject::SetVertexPositions ( const TA_VECTOR  Positions[])

頂点の位置リストのセット

引数
Positions頂点の位置リスト
void CTaObject::SetVisible ( BOOL  bVisible,
BOOL  bUpdateGraphics = FALSE 
)

オブジェクトの表示状態のセット

引数
bVisible表示状態
bUpdateGraphicsTRUEの場合、処理の最後に UpdateGraphics() が実行されます。
void CTaObject::UpdateBoundBox ( )

バウンディング ボックスの更新

全ての頂点を内包するように、バウンディング ボックスを更新します。 面を追加/削除した場合や頂点位置を変更した場合、必ずこの関数を呼び出す必要があります。

void CTaObject::UpdateGeometry ( )

ジオメトリの更新

描画用のDirect3Dポリゴン データの頂点位置を更新します。 頂点位置のみ変更した場合、 必ずこの関数を最後に呼び出す必要があります。

void CTaObject::UpdateGraphics ( )

グラフィックスの更新

描画用のDirect3Dポリゴン データを更新します。 オブジェクトの作成時、ボーン設定を変更した場合、面を追加/削除した場合などにおいて、 必ずこの関数を最後に呼び出す必要があります。カメラ タイプ(TA_OBJECT_CAMERA)や、 ライト タイプ(TA_OBJECT_LIGHT)のパラメータを変更した場合にも呼び出す必要があります。 ジョイント タイプ(TA_OBJECT_JOINT)の場合、 子ジョイント→親ジョイントの順に呼び出す必要があります。

void CTaObject::UpdateMeshNormals ( )

メッシュの法線ベクトルの更新

面の法線ベクトル、面の頂点の頂点の法線ベクトルを更新します。 面を追加/削除した場合や、頂点位置や面の頂点のフラット シェーディング フラグを変更した場合、必ずこの関数を呼び出す必要があります。 GetAngularShaded() がFALSEの場合、面の頂点のフラット シェーディング フラグに応じて 頂点の法線ベクトルが更新されます。TRUEの場合、面の頂点のフラット シェーディング フラグ自体が GetSmoothAngle() の値に応じて更新されてから、 頂点の法線ベクトルが更新されます。

void CTaObject::UpdateMeshTopology ( )

メッシュの接続関係の更新

面の接続関係を更新します。 面を追加/削除した場合、必ずこの関数を呼び出す必要があります。

void CTaObject::UpdateModelAnimIndices ( )

各アニメーションのインデックスの更新

CTaAnim::GetIndex() で取得されるアニメーションのインデックスが更新されます。

void CTaObject::UpdateModelMaterialIndices ( )

各マテリアルのインデックスの更新

CTaMaterial::GetIndex() で取得されるマテリアルのインデックスが更新されます。


このクラスの説明は次のファイルから生成されました: