// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/pkgs/R3Surfels/R3Surfel.cpp
// Function: gaps::R3Surfel::R3Surfel(float, float, float, float, float, float, float, float, float, float, float, float, float, unsigned char, unsigned char, unsigned char, float, unsigned int, unsigned char)
R3Surfel::
R3Surfel(float x, float y, float z,
  float nx, float ny, float nz,
  float tx, float ty, float tz,
  float radius0, float radius1,
  float depth, float elevation,
  unsigned char r, unsigned char g, unsigned char b, 
  float timestamp, unsigned int identifier,
  unsigned char flags)
  : timestamp(timestamp),
    identifier(identifier),
    attribute(0),
    depth(0),
    elevation(0),
    flags(flags)
{
  // Set everything
  SetPosition(x, y, z);
  SetNormal(nx, ny, nz);
  SetTangent(tx, ty, tz);
  SetRadius(0, radius0);
  SetRadius(1, radius1);
  SetDepth(depth);
  SetElevation(elevation);
  SetColor(r, g, b);
}

// Assembly:
movss 0x8(%rsp), %xmm8
movss 0x30(%rsp), %xmm9
movss %xmm9, 0xc(%rdi)
movl %r8d, 0x20(%rdi)
movq $0x0, 0x24(%rdi)
movb %r9b, 0x2f(%rdi)
movss %xmm0, (%rdi)
movss %xmm1, 0x4(%rdi)
movss %xmm2, 0x8(%rdi)
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm3
unpcklps %xmm4, %xmm3            # xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]
cvtps2pd %xmm3, %xmm1
mulpd 0xb35a0(%rip), %xmm1    # 0xded90
addpd 0xb35a8(%rip), %xmm1    # 0xdeda0
cvttpd2dq %xmm1, %xmm1
pshuflw $0xe8, %xmm1, %xmm1     # xmm1 = xmm1[0,2,2,3,4,5,6,7]
xorps %xmm2, %xmm2
cvtss2sd %xmm5, %xmm2
mulsd 0xb35c0(%rip), %xmm2    # 0xdedd0
addsd 0xb2928(%rip), %xmm2    # 0xde140
movd %xmm1, 0x10(%rdi)
cvttsd2si %xmm2, %eax
movw %ax, 0x14(%rdi)
jne 0x2b837
jp 0x2b837
ucomiss %xmm0, %xmm4
jne 0x2b837
jp 0x2b837
ucomiss %xmm0, %xmm5
jne 0x2b837
jnp 0x2b83f
orb $0x40, %r9b
movb %r9b, 0x2f(%rdi)
movss 0x28(%rsp), %xmm0
movss 0x20(%rsp), %xmm1
movss 0x18(%rsp), %xmm2
movaps %xmm6, %xmm3
unpcklps %xmm7, %xmm3            # xmm3 = xmm3[0],xmm7[0],xmm3[1],xmm7[1]
cvtps2pd %xmm3, %xmm4
mulpd 0xb352e(%rip), %xmm4    # 0xded90
addpd 0xb3536(%rip), %xmm4    # 0xdeda0
movss 0x10(%rsp), %xmm3
cvttpd2dq %xmm4, %xmm4
pshuflw $0xe8, %xmm4, %xmm4     # xmm4 = xmm4[0,2,2,3,4,5,6,7]
movd %xmm4, 0x16(%rdi)
xorps %xmm4, %xmm4
cvtss2sd %xmm8, %xmm4
mulsd 0xb3542(%rip), %xmm4    # 0xdedd0
addsd 0xb28aa(%rip), %xmm4    # 0xde140
cvttsd2si %xmm4, %eax
movw %ax, 0x1a(%rdi)
xorpd %xmm4, %xmm4
ucomiss %xmm4, %xmm6
jne 0x2b8b8
jp 0x2b8b8
ucomiss %xmm4, %xmm7
jne 0x2b8b8
jp 0x2b8b8
ucomiss %xmm4, %xmm8
jne 0x2b8b8
jnp 0x2b8bc
orb $0x1, 0x2f(%rdi)
unpcklps %xmm2, %xmm3            # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
cvtps2pd %xmm3, %xmm2
mulpd 0xb34e6(%rip), %xmm2    # 0xdedb0
addpd 0xb34ce(%rip), %xmm2    # 0xdeda0
cvtpd2ps %xmm2, %xmm2
movaps 0xb34e3(%rip), %xmm3    # 0xdedc0
minps %xmm2, %xmm3
cvttps2dq %xmm3, %xmm2
pshuflw $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,2,2,3,4,5,6,7]
movd %xmm2, 0x1c(%rdi)
cvtss2sd %xmm1, %xmm1
movsd 0xb34e6(%rip), %xmm2    # 0xdede0
mulsd %xmm2, %xmm1
movsd 0xb283a(%rip), %xmm3    # 0xde140
addsd %xmm3, %xmm1
cvtsd2ss %xmm1, %xmm1
movss 0xb34d2(%rip), %xmm4    # 0xdede8
minss %xmm1, %xmm4
cvttss2si %xmm4, %eax
cvtss2sd %xmm0, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm3, %xmm0
xorps %xmm1, %xmm1
cvtsd2ss %xmm0, %xmm1
movw %ax, 0x28(%rdi)
movss 0xb34af(%rip), %xmm0    # 0xdedec
ucomiss %xmm1, %xmm0
ja 0x2b956
ucomiss 0xb34a7(%rip), %xmm1    # 0xdedf0
movaps %xmm1, %xmm0
jbe 0x2b956
movss 0xb349a(%rip), %xmm0    # 0xdedf0
cvttss2si %xmm0, %eax
movw %ax, 0x2a(%rdi)
movb %sil, 0x2c(%rdi)
movb %dl, 0x2d(%rdi)
movb %cl, 0x2e(%rdi)
retq
nopl (%rax)