Init Repo

This commit is contained in:
2026-06-03 09:00:11 +08:00
commit 9be48d8b9e
155 changed files with 14827 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
#pragma once
#include "../CommandHistory.h"
#include <pxr/usd/usd/stage.h>
#include <pxr/usd/sdf/path.h>
#include <pxr/usd/sdf/layer.h>
#include <pxr/base/gf/vec3d.h>
#include <pxr/base/gf/vec3f.h>
#include <pxr/usd/usdGeom/xformCommonAPI.h>
#include <string>
namespace UsdLayerManager {
/// Reverses a complete TRS edit on a single prim (from gizmo drag or
/// Property panel field commit). Stores the prim path, edit-target layer,
/// and pre/post translate/rotate/scale triples.
class TransformCommand : public ICommand {
public:
TransformCommand(pxr::UsdStageRefPtr stage,
const pxr::SdfPath& primPath,
pxr::SdfLayerHandle editLayer,
const pxr::GfVec3d& oldTranslate,
const pxr::GfVec3f& oldRotate,
const pxr::GfVec3f& oldScale,
const pxr::GfVec3d& newTranslate,
const pxr::GfVec3f& newRotate,
const pxr::GfVec3f& newScale,
pxr::UsdGeomXformCommonAPI::RotationOrder rotOrder,
std::string description = "Transform");
void Execute() override;
void Undo() override;
std::string GetDescription() const override { return m_description; }
private:
void Apply(const pxr::GfVec3d& t,
const pxr::GfVec3f& r,
const pxr::GfVec3f& s);
pxr::UsdStageRefPtr m_stage;
pxr::SdfPath m_primPath;
pxr::SdfLayerHandle m_editLayer;
pxr::GfVec3d m_oldTranslate;
pxr::GfVec3f m_oldRotate;
pxr::GfVec3f m_oldScale;
pxr::GfVec3d m_newTranslate;
pxr::GfVec3f m_newRotate;
pxr::GfVec3f m_newScale;
pxr::UsdGeomXformCommonAPI::RotationOrder m_rotOrder;
std::string m_description;
};
} // namespace UsdLayerManager