반응형

public void MakeCylinder
{
	API_BEGIN
	BODY* headCylinder = nullptr;
	BODY* bodyCylinder = nullptr;
	SPAposition centerPosition(20,20,20);
	SPAposition startPosition(0,0,0);
	SPAposition endPosition(100,100,100);
	

	double xdiff = centerPosition.x() - min._x;
	double ydiff = (centerPosition.y() - min._y) + (endPosition.x() - startPosition.x());
	SPAvector traslateVector(-xdiff, -ydiff, 0);
	SPAposition middlePosition(endPosition.x() * 0.05, endPosition.y() , 0);
        
//Rotate 하기위한 Trasf 정보 만들기.
	SPAtransf translateTransf = rotate_transf(degrees_to_radians(azimuthAngle), SPAvector(0, 0, 1)); 
	translateTransf *= translate_transf(traslateVector);

	double HeadRadius = xdiff*0.035;
	double bodyRadius = xdiff*0.012;

	api_solid_cylinder_cone(middlePosition, startPosition, HeadRadius , HeadRadius, 0, nullptr, headCylinder, nullptr);
	api_solid_cylinder_cone(endPosition, middlePosition, bodyRadius , bodyRadius, bodyRadius, nullptr, bodyCylinder, nullptr);

//두 Body를 합치는 함수.
	api_imprint_stitch(headCylinder, bodyCylinder);
	api_transform_entity(headCylinder, translateTransf);
//Transform 적용을 위한 필수 호출 함수
	api_change_body_trans(headCylinder, NULL); 
	rgb_color col(r / 255.0, g / 255.0, b / 255.0);
//Color 변경 함수.
	result = api_rh_set_entity_rgb(headCylinder, col);
	ENTITY_LIST* entityList = spaModeler->GetAllBodies();
	id = entityList->add(headCylinder);
	API_END
}
반응형
[alias]

 st = status -s

 cl = clone

 ci = commit

 cm = commit -m

 cma = commit -a -m

 ca = commit --amend

 amend = commit --amend

 caa = commit -a --amend -C HEAD

 filelog = log -u

 fl = log -u

 ai = add --interactive

 co = checkout

 br = branch

 bra = branch -ra

 le = log --oneline --decorate --remotes --branches

 ll = log --pretty=format:%C(yellow)%h%Cred%d\\ %Cblue\\ [%cn]%Creset%s --decorate --numstat

 ls1 = log --pretty=format:%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn] --decorate

 lds = log --pretty=format:%C(yellow)%h\\ %C(green)%ad%Cred%d%Creset\\ [%cn]\\ %<(20)%s --decorate --date=format:%y/%m/%d_%H:%M:%S --graph

 ldsa = log --pretty=format:%C(yellow)%h\\ %C(green)%ad%Cred%d%Creset\\ [%cn]\\ %<(20)%s --decorate --date=short --graph --remotes --branches

 ls = log --pretty=format:%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn] --decorate --date=relative

 lc = "!f() { git ll $1^..$1; }; f"

 lnc = log --pretty=format:%h\\ %s\\ [%cn]

 la = !git config -l | grep alias | cut -c 7-

 diff = diff --word-diff

 d = diff --word-diff

 dc = diff --cached

 dl = !git ll -1

 dlc = diff --cached HEAD^

 dr = "!f() { git diff -w $1^..$1; }; f"

 diffr = "!f() { git diff $1^..$1; }; f"

 branch = branch -ra

 r = reset

 r1 = reset HEAD^

 r2 = reset HEAD^^

 rh = reset --hard

 rh1 = reset HEAD^ --hard

 rh2 = reset HEAD^^ --hard

 rbp = rebase -p

 svnr = svn rebase

 svnd = svn dcommit

 svnl = svn log --oneline --show-commit

 sl = stash list

 sa = stash apply

 ss = stash save

 cp = cherry-pick

 grep = grep -Ii

 gr = grep -Ii

 gra = "!f() { A=$(pwd) && TOPLEVEL=$(git rev-parse --show-toplevel) && cd $TOPLEVEL && git grep --full-name -In $1 | xargs -I{} echo $TOPLEVEL/{} && cd $A; }; f"

 f = !git ls-files | grep -i

 done = "!f() { git branch | grep $1 | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"

 assume = update-index --assume-unchanged

 unassume = update-index --no-assume-unchanged

 assumed = !git ls-files -v | grep ^h | cut -c 3-

 unassumeall = !git assumed | xargs git update-index --no-assume-unchanged

 assumeall = !git st -s | awk {'print $2'} | xargs git assume

 lasttag = describe --tags --abbrev=0

 lt = describe --tags --abbrev=0

 ours = "!f() { git co --ours $@ && git add $@; }; f"

 theirs = "!f() { git co --theirs $@ && git add $@; }; f"

 rem = !git config -l | grep remote.*url | tail -n +2

 lap = "!f() { git --git-dir=$1 format-patch -k -1 --stdout $2 | git am -3 -k; }; f"

 sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"

 empty = !git commit -am\"[empty] Initial commit\" --allow-empty

 ra = "!f() { git remote add $1 https://bitbucket.org/$2.git; }; f"

 gm = merge --no-ff

 arch = archive -o
반응형

1. Commit 한 사람으로 필터링

git log --author=<pattern>

ex) git log --author=홍길동


2. 날짜 이후로 필터링

git log --after={2011-11-11} ---> 11/11이후이 커밋만 보여준다.


3. 커밋 메세지로 필터링.

git log --grep=<pattern>

ex) git log --grep=메세지내용


4. Log에서 File 상태까지 보고 싶을때

git log --name-status


반응형

Devexpress PropertyGridControl 에 SelectedObject(s) 에 새로운 object를 할당해도 View가 Update되지 않는경우.

   


<해결방법>


1.  SelectedObject = null 값을 셋팅하고 다시 Object를 셋팅해 준다. 이렇게 해야 Event를 ChangeEvent를 받는것 같다.


2. Property Grid Row가 추가 되었음에도 화면이 갱신되지 않는 경우가 생긴다. 이럴경우에는 PropertyGridControl.UpdateRows()를 호출해준다.


이렇게 되면 추가된 Row Property들도 갱신이 되게 된다.

+ Recent posts