์ถ์ฒ
Context๋ ๋ง์ฐ์ค์ ์ด๋ฒคํธ์ ๋ฐ์ํ์ฌ ์ด๋ ํ ํน์ ์์ ์ํ์ด ๊ฐ๋ฅํ Maya์ ํน์ ๋ชจ๋๋ฅผ ๋งํ๋ค.
Maya์์ context๋ tool๊ณผ ๋์ผํ ๊ฐ๋ ์ผ๋ก ์ฌ์ฉ๋๋ค.
๋ค๋ง, graphical user interface ๊ธฐ์ค์์๋ tool์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ , programming interface ๊ธฐ์ค์์๋ context๋ผ๊ณ ๋ถ๋ฅธ๋ค.
setToolTo [context name]์ผ๋ก ํน์ ์ปจํ ์คํธ ๋ชจ๋๋ก ๋ค์ด๊ฐ ์ ์๋ค.
currentCtx: ํ์ฌ ์ด๋ ํ ์ปจํ ์คํธ ๋ชจ๋์ ์๋์ง ์ ์ ์๋ ๋ช ๋ น์ด.
๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง API ํด๋์ค๋ฅผ ์์๋ฐ์์ ์์ ๋ง์ custom context๋ฅผ ๋ง๋ค ์ ์๋ค.
1) MPxContext
2) MPxContextCommand
3) MPxToolCommand
MPxContext๊ฐ ์ค์ ์ปจํ ์คํธ ๊ตฌํ๋ถ๋ฅผ ๋ด๋นํ๊ณ , MPxContextCommand๊ฐ ์ปจํ ์คํธ ๋ฑ๋ก์ ๋ด๋นํ๋ค.
MPxToolCommand์ ์ฌ์ฉ์ ํ์์ฌํญ์ ์๋์ง๋ง, ๋ง์ฝ undo/redo ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐ๋์ ์์ด์ผ ํ๋ค.
MPxContext์ doPress(), doDrag(), doRelease() ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด ๋๋๋ฐ,
๋ณดํต์ ๊ฒฝ์ฐ doRelease()๊ฐ ํธ์ถ๋์์ ๋, ์๋ก์ด MPxToolCommand๋ฅผ ๋ง๋ค๊ณ ,
MPxToolCommand์ redoIt(), finalize() ํจ์๋ฅผ ํธ์ถํ๊ฒ๋๋ฉด ์๋์ ์ผ๋ก undo/redo ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ๋๋ค.
Context ์คํ์ ๊ฐ ํจ์๋ค์ ์คํ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
ํ๋ฌ๊ทธ์ธ์ ๋ก๋ํ๋ฉด..
MPxContextCommand::creator()
MPxContextCommand::MPxContextCommand()
setToolTo๋ฅผ ์คํํ๋ฉด..
MPxContextCommand::appendSyntax()
MPxContextCommand::makeObj()
MPxContext::MPxContext()
MPxConTextCommand::doEditFlags()
MPxContextCommand::doQueryFlags()
MPxContext::toolOnSetup()
MPxContext::getClassName()
๋ง์ฐ์ค ๋ฒํผ์ ํด๋ฆญ, ๋๋๊ทธ๋ฅผ ํ๋ฉด..
MPxContext::doPress()
MPxContext::doDrag()
โฆ
MPxContext::doDrag()
๋ง์ฐ์ค ๋ฒํผ์ ๋ผ๋ฉด..
MPxContext::doRelease()
MPxToolCommand::newSyntax(): ์ฒ์ ํ ๋ฒ๋ง ํธ์ถ๋จ
MPxToolCommand::creator()
MPxToolCommand::MPxToolCommand()
MPxToolCommand::redoIt()
MPxToolCommand::finalize()
undo๋ฅผ ์คํํ๋ฉด..
MPxToolCommand::undoIt()
redo๋ฅผ ์คํํ๋ฉด..
MPxToolCommand::redoIt()
Context๋ฅผ ๋น ์ ธ๋์ค๋ฉด..
MPxContext::toolOffCleanup()
'ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Implicit vs. Explicit (0) | 2015.08.21 |
---|---|
Lagrangian vs. Eulerian (0) | 2015.08.20 |
std::pair (0) | 2015.07.01 |
๋ฌด๊ฒ์ค์ฌ์ขํ Barycentric Coordinates (0) | 2015.06.26 |
ํ์ ํธ ๊ณต๊ฐ Tangent Space (0) | 2015.06.23 |